diff --git a/goil/build/libpm/bdd/C_BDD-and-operation.cpp b/goil/build/libpm/bdd/C_BDD-and-operation.cpp deleted file mode 100644 index ca754b84e..000000000 --- a/goil/build/libpm/bdd/C_BDD-and-operation.cpp +++ /dev/null @@ -1,273 +0,0 @@ -//---------------------------------------------------------------------------------------------------------------------- -// -// 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 deleted file mode 100644 index 6bd593062..000000000 --- a/goil/build/libpm/bdd/C_BDD-find-or-add.cpp +++ /dev/null @@ -1,632 +0,0 @@ -//---------------------------------------------------------------------------------------------------------------------- -// -// 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 7f57ffb8d..93713db5b 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 "bdd/C_BDD.h" +#include "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) { - MF_AssertThere ((inRoot >> 1) <= C_BDD::getExistingNodesCount (), "nodeIndex (%lld) should be <= current node count (%lld)", inRoot >> 1, C_BDD::getExistingNodesCount ()) ; + macroAssertThere ((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 deleted file mode 100644 index 8d2f6ebdc..000000000 --- a/goil/build/libpm/bdd/C_BDD-single-operand-ops.cpp +++ /dev/null @@ -1,578 +0,0 @@ -//---------------------------------------------------------------------------------------------------------------------- -// -// 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 94a2e8a5e..2f9946ab2 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,40 +16,71 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -#include "bdd/C_BDD.h" -#include "bdd/C_BDD-node.h" +#include "C_BDD.h" +#include "C_BDD-node.h" +#include "F_GetPrime.h" +#include "Timer.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, @@ -58,104 +89,13 @@ 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 ; @@ -184,46 +124,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 ; @@ -242,13 +182,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, @@ -266,7 +206,7 @@ static C_BDD construireInfEgal (const uint32_t inFirstIndex, return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- static C_BDD construireSupEgal (const uint32_t inFirstIndex, const uint32_t indiceMax, @@ -284,7 +224,7 @@ static C_BDD construireSupEgal (const uint32_t inFirstIndex, return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- C_BDD C_BDD::varCompareConst (const uint32_t inFirstIndex, const uint32_t inDimension, @@ -324,18 +264,17 @@ 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) ; @@ -349,7 +288,7 @@ construireSupVariable (const uint32_t inLeftFirstIndex, return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- C_BDD C_BDD:: varCompareVar (const uint32_t inLeftFirstIndex, @@ -383,13 +322,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 ; @@ -400,17 +339,13 @@ 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, @@ -421,49 +356,28 @@ 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, @@ -474,7 +388,7 @@ bool C_BDD::containsValue64 (const uint64_t inValue, (uint32_t) (inFirstBit + inBitCount)) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- static bool recursiveContainsValue (const uint32_t inBDD, const TC_Array & inValue, @@ -485,49 +399,28 @@ 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, @@ -538,1815 +431,3306 @@ bool C_BDD::containsValue (const TC_Array & inValue, (uint32_t) (inFirstBit + inBitCount)) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +#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) ; } } - }else if (inValue == 1) { - inTraversing.action (tableauDesValeurs, inVariableCount) ; + 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 ++ ; + } + } + result |= v ; + } + if (stringIndex < stringLength) { + ok = UNICODE_VALUE (cc) == '|' ; + macroAssertThere (ok, "BDD predicate string syntax error at character index %lld", stringIndex, 0) ; + stringIndex ++ ; + } } + 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 Build an array of uint64_t values + #pragma mark Get i-th value as uint64_t #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -class C_build_values64_array : public C_bdd_value_traversing { - private: TC_UniqueArray * mPtr ; +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 ; +} - public: inline C_build_values64_array (TC_UniqueArray * inPtr) : - mPtr (inPtr) { +//-------------------------------------------------------------------------------------------------- + +uint64_t C_BDD::getBDDabsoluteValue (const uint32_t inVariableCount) const { + uint64_t result = 0 ; + if (valueCount64 (inVariableCount) == 1) { + result = obtenirValeurAbsolueBDDInterne (mBDDvalue) ; } + 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 &) ; +//-------------------------------------------------------------------------------------------------- -//--- Virtual method called for every value - public: virtual void action (const bool tableauDesValeurs [], - const uint32_t inVariableCount) ; -} ; +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark Node Count +#endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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] ; +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) ; + } } - mPtr->appendObject (value) ; + return n ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +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 Build an array of bool array values + #pragma mark Boolean array #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -class C_build_values_array : public C_bdd_value_traversing { - private: TC_UniqueArray > * mPtr ; +class cBuildArrayForSet : public C_bdd_value_traversing { +//--- Attributs + protected: TC_UniqueArray & mArray ; - 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 &) ; +//--- Constructeur + public: cBuildArrayForSet (TC_UniqueArray & outArray) ; -//--- Virtual method called for every value - public: virtual void action (const bool tableauDesValeurs [], - const uint32_t inVariableCount) ; +//--- Methode virtuelle appelee pour chaque valeur + public: virtual void action (const bool * inValuesArray, + const uint32_t inBDDbitsSize) ; } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void C_build_values_array::action (const bool tableauDesValeurs [], - const uint32_t inVariableCount) { - TC_Array value ; - for (uint32_t i=0 ; i & outArray) : +mArray (outArray) { +} + +//-------------------------------------------------------------------------------------------------- + +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] ; } - mPtr->appendObject (value) ; + mArray.setObjectAtIndex (true, element COMMA_HERE) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +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 Build an array of string values + #pragma mark BDD as N-relation #endif -//---------------------------------------------------------------------------------------------------------------------- - -class cLittleEndianStringValueBuilder : public C_bdd_value_traversing { - private: TC_UniqueArray * mPtr ; +//-------------------------------------------------------------------------------------------------- +// +// U P D A T E R E L A T I O N +// +//-------------------------------------------------------------------------------------------------- - public: cLittleEndianStringValueBuilder (TC_UniqueArray * inPtr) : - mPtr (inPtr) { +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 ; +} -//--- 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) { - C_String value ; - for (uint32_t i=0 ; i * (inRelationBitCurrentCount [i]) ; } - mPtr->appendObject (value) ; +//--- Perform updating + if (updateIsNeeded) { + uint32_t totalCurrentBitCount = 0 ; + uint32_t newNeededTotalBitCount = 0 ; + for (int32_t i=0 ; i & 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) ; -} +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark BDD as 2-relation +#endif -class cBuildBigEndianStringValueArray : public C_bdd_value_traversing { - private: TC_UniqueArray * mPtr ; +//-------------------------------------------------------------------------------------------------- - public: cBuildBigEndianStringValueArray (TC_UniqueArray * inPtr) : - mPtr (inPtr) { +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 ; i0 ; i--) { - value << cStringWithCharacter ((char) ('0' + tableauDesValeurs [i-1])) ; + for (uint32_t j=0 ; jappendObject (value) ; + const C_BDD result = substitution (tab, totalSize COMMA_HERE) ; + macroMyDeleteArray (tab) ; + return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +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 ; } -//---------------------------------------------------------------------------------------------------------------------- - -class cBuildQueryString : public C_bdd_value_traversing { - private: C_String * mStringPtr ; +//-------------------------------------------------------------------------------------------------- - public: cBuildQueryString (C_String * inStringPtr) : - mStringPtr (inStringPtr) { +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 ; +} -//--- No copy - private: cBuildQueryString (const cBuildQueryString &) ; - private: cBuildQueryString & operator = (const cBuildQueryString &) ; +//-------------------------------------------------------------------------------------------------- + +class cBuildArrayForRelation2 : public C_bdd_value_traversing { +//--- Attributes + protected: TC_UniqueArray > & mArray ; + protected: uint32_t mBitsSize1 ; +//--- 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 cBuildQueryString:: -action (const bool tableauDesValeurs [], - const uint32_t inVariableCount) { - C_String value ; - if (mStringPtr->length () > 0) { - *mStringPtr << "|" ; +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] ; } - for (uint32_t i=inVariableCount ; i>0 ; i--) { - *mStringPtr << cStringWithCharacter ((char) ('0' + tableauDesValeurs [i-1])) ; + for (int32_t j=((int32_t) inBDDbitsSize) - 1 ; j>= (int32_t) mBitsSize1 ; j--) { + index2 = (index2 << 1) + inValuesArray [j] ; } + mArray (index1 COMMA_HERE).appendObject (index2) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_String C_BDD:: -queryStringValue (LOCATION_ARGS) const { - C_String s ; - if (isTrue ()) { - s << "X" ; - }else if (! isFalse ()) { - TC_UniqueArray stringArray ; - buildCompressedBigEndianStringValueArray (stringArray COMMA_THERE) ; - if (stringArray.count () > 0) { - s << stringArray (0 COMMA_HERE) ; - for (int32_t i=1 ; i > & 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 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 ++ ; - } - } - result |= v ; - } - if (stringIndex < stringLength) { - ok = UNICODE_VALUE (cc) == '|' ; - MF_AssertThere (ok, "BDD predicate string syntax error at character index %lld", stringIndex, 0) ; - stringIndex ++ ; - } +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 & 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) ; +C_BDD C_BDD:: +swap210 (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 & ioDirectCacheArray, - TC_UniqueArray & ioComplementCacheArray) const { - uint64_t nombreDirect = 0 ; - uint64_t nombreComplement = 0 ; - internalValueCount64UsingCache (mBDDvalue, inVariableCount, nombreDirect, nombreComplement, ioDirectCacheArray, ioComplementCacheArray COMMA_HERE) ; - return nombreDirect ; +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 & inValueArray) { + for (int32_t i=inValueArray.count () - 1 ; i>=0 ; i--) { + if ((i % 4) == 3) { + outputStream.appendCString (" ") ; } + outputStream.appendASCIIChar (inValueArray (i COMMA_HERE)) ; } - if ((inValue & 1) != 0) { - const PMUInt128 tempo = nombreDirect ; - nombreDirect = nombreComplement ; - nombreComplement = tempo ; - } -} - -//---------------------------------------------------------------------------------------------------------------------- - -PMUInt128 C_BDD::valueCount128 (const uint32_t inVariableCount) const { - PMUInt128 nombreDirect = 0 ; - PMUInt128 nombreComplement = 0 ; - internalValueCount128 (mBDDvalue, inVariableCount, nombreDirect, nombreComplement COMMA_HERE) ; - return nombreDirect ; + outputStream.appendNewLine () ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +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) { - 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) ; + if (complement == 1) { + printLineWithSeparator (outputStream, inDisplayString) ; + } }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 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 & 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 Value Count (Big ints) -#endif - -//---------------------------------------------------------------------------------------------------------------------- - -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) { - nombreDirect.setToZero () ; - nombreComplement.setFromU32 (1) ; - nombreComplement <<= inVariableCount ; +void C_BDD::print (AbstractOutputStream & outputStream) const { + if (mBDDvalue == 0) { + outputStream.appendCString ("(false)\n") ; + }else if (mBDDvalue == 1) { + outputStream.appendCString ("(true)\n") ; }else{ + const uint32_t nodeIndex = nodeIndexForRoot (mBDDvalue COMMA_HERE) ; 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) ; + TC_UniqueArray displayString ((int32_t) var + 1, 'X' COMMA_HERE) ; + internalPrintWithSeparator (outputStream, + mBDDvalue, + displayString, + var) ; } } -//---------------------------------------------------------------------------------------------------------------------- - -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 ; -} - -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; +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 ; } - 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) ; + //--- + 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 () ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; +void C_BDD::printWithHeader (AbstractOutputStream & outputStream) const { + printHeader (outputStream) ; + print (outputStream) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED - #pragma mark Get i-th value as BDD + #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 ; - 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 ; - } + if (complement == 1) { + printLineWithSeparator (outputStream, inValueSeparation, inBitCounts, inDisplayString) ; } }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 ; + while (inVariableIndex > var) { + inDisplayString.setObjectAtIndex ('X', (int32_t) inVariableIndex COMMA_HERE) ; + inVariableIndex -- ; } - iEme = inNthBDDvalue % total ; - uint64_t quotient = inNthBDDvalue / total ; - for (uint32_t j = (uint32_t) (var+1) ; j>= 1 ; + //--- 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) ; } - return result ; -} - -//---------------------------------------------------------------------------------------------------------------------- - -uint64_t C_BDD::getBDDabsoluteValue (const uint32_t inVariableCount) const { - uint64_t result = 0 ; - if (valueCount64 (inVariableCount) == 1) { - result = obtenirValeurAbsolueBDDInterne (mBDDvalue) ; - } - return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED - #pragma mark BDD range + #pragma mark Graphviz representation #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) ; +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{ - internalValueCount64 (inValue, inVariableCount - 1, rang, nc COMMA_HERE) ; - rang += rangBDDinterne (inValue, gNodeArray [testedValueNodeIndex].mTHEN ^ complementValeurTestee, inVariableCount - 1) ; + THENlabel.appendCString ("") ; } - }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) ; + const uint32_t ELSEbranch = gNodeArray [nodeIndex].mELSE ; + String ELSElabel ; + if (ELSEbranch == 0) { + ELSElabel.appendCString ("F") ; + }else if (ELSEbranch == 1) { + ELSElabel.appendCString ("T") ; }else{ - rang = rangBDDinterne (inValue, gNodeArray [testedValueNodeIndex].mELSE ^ complementValeurTestee, inVariableCount - 1) ; + 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) ; } } - return rang ; + 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") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +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 ; } - return rang ; + 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 Node Count + #pragma mark String array representation #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static uint32_t internalRecursiveNodeCount (const uint32_t inValue) { +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) ; - 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) ; + 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) ; - uint32_t result = 0 ; if (bothBranches (gNodeArray [nodeIndex]) != 0) { - unmarkAllExistingBDDnodes () ; - result = internalRecursiveNodeCount (mBDDvalue) ; + 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) ; } - return result ; } -//---------------------------------------------------------------------------------------------------------------------- - -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark Boolean array -#endif - -//---------------------------------------------------------------------------------------------------------------------- - -class cBuildArrayForSet : public C_bdd_value_traversing { -//--- Attributs - protected: TC_UniqueArray & mArray ; - -//--- Constructeur - public: cBuildArrayForSet (TC_UniqueArray & outArray) ; +//-------------------------------------------------------------------------------------------------- -//--- Methode virtuelle appelee pour chaque valeur - public: virtual void action (const bool inValuesArray [], - const uint32_t inBDDbitsSize) ; -} ; +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) ; +} -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -cBuildArrayForSet:: -cBuildArrayForSet (TC_UniqueArray & outArray) : -mArray (outArray) { +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=0 ; i--) { - element = (element << 1) + inValuesArray [i] ; +void C_BDD:: +buildCompressedBigEndianStringValueArray (TC_UniqueArray & 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) ; } - mArray.setObjectAtIndex (true, element COMMA_HERE) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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:: +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 BDD as N-relation + #pragma mark Build BDD from value list #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 ; +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 ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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]) ; +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 ()) ; } -//--- Perform updating - if (updateIsNeeded) { - uint32_t totalCurrentBitCount = 0 ; - uint32_t newNeededTotalBitCount = 0 ; - for (int32_t i=0 ; i & 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 ; + } } - uint32_t * translationVector = nullptr ; - macroMyNewArray (translationVector, uint32_t, totalCurrentBitCount) ; - int32_t idx = 0 ; - int32_t newIdx = 0 ; - for (int32_t i=0 ; ivar ; 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 ; +} ; + +//-------------------------------------------------------------------------------------------------- + +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 ; + 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) ; } - printf ("] %u\n", newNeededTotalBitCount) ; - result = internalRecursiveUpdateRelation (mBDDvalue, translationVector) ; - uint32_t finalTranslatedIndex = (uint32_t) (newNeededTotalBitCount - + (* (inRelationBitCurrentCount [inRelationCardinality - 1])) - - inRelationBitNeededCount [inRelationCardinality - 1]) ; - while (finalTranslatedIndex < newNeededTotalBitCount) { - result = find_or_add (finalTranslatedIndex, result, 0 COMMA_HERE) ; - finalTranslatedIndex ++ ; + } + 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)) ; } - macroMyDeleteArray (translationVector) ; } -//--- Register updating - if (updateIsNeeded) { - for (int32_t i=0 ; i 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 C_BDD (result) ; + 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 BDD as 2-relation + #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:: -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 var2) { + result.mBDDvalue = internalRollUp (mBDDvalue, var1, var2) ; } - for (uint32_t j=0 ; j (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) ; + } + if (gNodeArray == nullptr) { + macroMyNewPODArray (gNodeArray, cBDDnode, newSize) ; + }else{ + macroMyReallocPODArray (gNodeArray, cBDDnode, newSize) ; + } + 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) ; + } + } + }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) { + 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 ; + } +} + +//-------------------------------------------------------------------------------------------------- + +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 ; +} + +//-------------------------------------------------------------------------------------------------- + +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 ; +} + +//-------------------------------------------------------------------------------------------------- + +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 ; +} + +//-------------------------------------------------------------------------------------------------- // -//--- 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 ; +// 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 ; } - return accessible ; + 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) { + 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") ; + } +} + +//-------------------------------------------------------------------------------------------------- + +#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:: -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 ; +C_BDD::C_BDD (const uint32_t inValue) : +mBDDvalue (inValue), +mPtrToPreviousBDD (nullptr), +mPtrToNextBDD (nullptr) { + initLinks () ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -class cBuildArrayForRelation2 : public C_bdd_value_traversing { -//--- Attributes - protected: TC_UniqueArray > & mArray ; - protected: uint32_t mBitsSize1 ; +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) ; +} -//--- Constructor - public: - cBuildArrayForRelation2 (TC_UniqueArray > & outArray, - const uint32_t inBitsSize1) ; +//-------------------------------------------------------------------------------------------------- -//--- Virtual method called for every value - public: virtual void action (const bool inValuesArray [], - const uint32_t inBDDbitsSize) ; -} ; +C_BDD::C_BDD (const C_BDD & inSource) : +mBDDvalue (inSource.mBDDvalue), +mPtrToPreviousBDD (nullptr), +mPtrToNextBDD (nullptr) { + initLinks () ; +} -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -cBuildArrayForRelation2:: -cBuildArrayForRelation2 (TC_UniqueArray > & outArray, - const uint32_t inBitsSize1) : -mArray (outArray), -mBitsSize1 (inBitsSize1) { +void C_BDD::initLinks (void) { + if (gFirstBDD == nullptr) { + gLastBDD = this ; + }else{ + gFirstBDD->mPtrToPreviousBDD = this ; + } + mPtrToNextBDD = gFirstBDD ; + gFirstBDD = this ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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] ; +C_BDD::~C_BDD (void) { + mBDDvalue = 0 ; + if (mPtrToPreviousBDD == nullptr) { + gFirstBDD = gFirstBDD->mPtrToNextBDD ; + }else{ + mPtrToPreviousBDD->mPtrToNextBDD = mPtrToNextBDD ; } - for (int32_t j=((int32_t) inBDDbitsSize) - 1 ; j>= (int32_t) mBitsSize1 ; j--) { - index2 = (index2 << 1) + inValuesArray [j] ; + if (mPtrToNextBDD == nullptr) { + gLastBDD = gLastBDD->mPtrToPreviousBDD ; + }else{ + mPtrToNextBDD->mPtrToPreviousBDD = mPtrToPreviousBDD ; } - mArray (index1 COMMA_HERE).appendObject (index2) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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= 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) ; + } } - const C_BDD bdd = substitution (tab, totalSize COMMA_HERE) ; - macroMyDeleteArray (tab) ; - return bdd ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; imBDDvalue, UINT16_MAX COMMA_THERE) ; + p = p->mPtrToNextBDD ; } - const C_BDD bdd = substitution (tab, totalSize COMMA_HERE) ; - macroMyDeleteArray (tab) ; - return bdd ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_BDD C_BDD:: -swap102 (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 entrySizeArray (1 COMMA_HERE) ; + for (uint32_t i=0 ; i length) { + entrySizeArray.incrementAtIndex (length COMMA_HERE) ; + }else{ + entrySizeArray.forceObjectAtIndex (length, 1, 0) ; + } } - for (uint32_t j=0 ; j 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 k=0 ; k * mPtr ; + + public: inline C_build_values64_array (TC_UniqueArray * inPtr) : + mPtr (inPtr) { } - for (uint32_t k=0 ; kappendObject (value) ; +} + +//-------------------------------------------------------------------------------------------------- + +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) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED - #pragma mark Print BDD + #pragma mark Build an array of bool array values #endif -//---------------------------------------------------------------------------------------------------------------------- - -static void printLineWithSeparator (AC_OutputStream & outputStream, - const TC_UniqueArray & inValueArray) { - for (int32_t i=inValueArray.count () - 1 ; i>=0 ; i--) { - if ((i % 4) == 3) { - outputStream << " " ; - } - outputStream << cStringWithCharacter (inValueArray (i COMMA_HERE)) ; - } - outputStream << "\n" ; -} +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- +class C_build_values_array : public C_bdd_value_traversing { + private: TC_UniqueArray > * mPtr ; -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 > * 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 &) ; -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) ; - } -} +//--- Virtual method called for every value + public: virtual void action (const bool * tableauDesValeurs, + const uint32_t inVariableCount) ; +} ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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" ; +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::printWithHeader (AC_OutputStream & outputStream) const { - printHeader (outputStream) ; - print (outputStream) ; +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 Print BDD with variables + #pragma mark Build an array of string values #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; i * mPtr ; + + public: cLittleEndianStringValueBuilder (TC_UniqueArray * inPtr) : + mPtr (inPtr) { } - outputStream << "\n" ; -} -//---------------------------------------------------------------------------------------------------------------------- +//--- No copy + private: cLittleEndianStringValueBuilder (const cLittleEndianStringValueBuilder &) ; + private: cLittleEndianStringValueBuilder & operator = (const cLittleEndianStringValueBuilder &) ; -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 ; iappendObject (value) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void C_BDD::print (AC_OutputStream & outputStream, - const TC_UniqueArray & 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 & 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) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void C_BDD::print (AC_OutputStream & outputStream, - const TC_UniqueArray & 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) ; +class cBuildBigEndianStringValueArray : public C_bdd_value_traversing { + private: TC_UniqueArray * mPtr ; + + public: cBuildBigEndianStringValueArray (TC_UniqueArray * inPtr) : + mPtr (inPtr) { + } + +//--- 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])) ; } + mPtr->appendObject (value) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -#ifdef PRAGMA_MARK_ALLOWED - #pragma mark Graphviz representation -#endif +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) ; +} + +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- +class cBuildQueryString : public C_bdd_value_traversing { + private: String * mStringPtr ; -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]" ; + public: cBuildQueryString (String * inStringPtr) : + mStringPtr (inStringPtr) { } - ioString << " ;\n" ; -} -//---------------------------------------------------------------------------------------------------------------------- +//--- No copy + private: cBuildQueryString (const cBuildQueryString &) ; + private: cBuildQueryString & operator = (const cBuildQueryString &) ; + -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 ; +//--- Virtual method called for every value + public: virtual void action (const bool * tableauDesValeurs, + const uint32_t inVariableCount) ; +} ; + +//-------------------------------------------------------------------------------------------------- + +void cBuildQueryString::action (const bool * tableauDesValeurs, + const uint32_t inVariableCount) { + String value ; + if (mStringPtr->length () > 0) { + mStringPtr->appendCString ("|") ; } - TC_UniqueArray bitNames ; - for (int32_t i=0 ; i0 ; i--) { + mStringPtr->appendASCIIChar (char ('0' + tableauDesValeurs [i-1])) ; } - return graphvizRepresentationWithNames (bitNames) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_String C_BDD::graphvizRepresentationWithNames (const TC_UniqueArray & 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) ; +String C_BDD:: +queryStringValue (LOCATION_ARGS) const { + String s ; + if (isTrue ()) { + s.appendCString ("X") ; + }else if (! isFalse ()) { + TC_UniqueArray stringArray ; + buildCompressedBigEndianStringValueArray (stringArray COMMA_THERE) ; + if (stringArray.count () > 0) { + s.appendString (stringArray (0 COMMA_HERE)) ; + for (int32_t i=1 ; 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 const int32_t kANDOperationCacheInitialSize = 262145 ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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" ; - } - internalPrintBDDInLittleEndianStringArray (mBDDvalue, displayString, inVariableCount, outStringArray COMMA_THERE) ; -} +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 ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static void -internalPrintBDDInBigEndianStringArray (const uint32_t inValue, - C_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.setUnicodeCharacterAtIndex (TO_UNICODE ('X'), (int32_t) (inTotalVariableCountMinusOne - inVariableIndex) COMMA_THERE) ; - inVariableIndex -- ; - } - //--- 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 releaseANDOperationCache (void) { + gANDOperationCacheMapUsedEntryCount = 0 ; + macroMyDeletePODArray (gANDOperationCacheOperandMap) ; + macroMyDeletePODArray (gANDOperationCacheResultMap) ; + gANDOperationMapSize = 0 ; + gANDOperationCacheExpandable = true ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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" ; +void clearANDOperationCache (void) { + gANDOperationCacheMapUsedEntryCount = 0 ; + for (uint32_t i=0 ; 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) ; +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= 0) && (((currentTransition ^ referenceValue) & mask) == 0)) { - firstDifferentBit -- ; - mask >>=1 ; + uint32_t * newResult = nullptr ; + macroMyNewPODArray (newResult, uint32_t, inNewSize) ; + for (uint32_t i=0 ; i= 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 ; + } + 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) ; + } + } + }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) ; } - referenceValue = currentTransition ; - accumulatorArray [firstDifferentBit] |= accumulatorBDD ; } } - result.setToTrue () ; - uint64_t mask = 1UL ; - for (uint32_t idx=0 ; idx 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.h b/goil/build/libpm/bdd/C_BDD.h index 56fa7378e..44f70f2db 100644 --- a/goil/build/libpm/bdd/C_BDD.h +++ b/goil/build/libpm/bdd/C_BDD.h @@ -1,4 +1,4 @@ -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // BDD package (implementation of ROBDD) // @@ -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 "utilities/M_machine.h" -#include "big-integers/PMUInt128.h" -#include "generic-arraies/TC_UniqueArray.h" -#include "generic-arraies/TC_Array.h" -#include "big-integers/C_BigInt.h" +#include "M_machine.h" +#include "UInt128.h" +#include "TC_UniqueArray.h" +#include "TC_Array.h" +#include "BigSigned.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #include -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class C_bdd_value_traversing ; -class C_String ; -class AC_OutputStream ; +class String ; +class AbstractOutputStream ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- 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 inBitCount [], - const int32_t inEntryCount) ; + public: static C_BDD bddWithConstants (const uint32_t * inValues, + const uint32_t * inBitCountArray, + 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 ioValueList [], - const uint32_t inValueCount, - const uint32_t inBitCount) ; + public: static C_BDD buildBDDFromValueList (uint64_t * ioValueArray, + const uint32_t inValueCount, + const uint32_t inBitCount) ; //--- Get BDD values count public: uint64_t valueCount64 (const uint32_t inVariableCount) const ; - public: PMUInt128 valueCount128 (const uint32_t inVariableCount) const ; + public: UInt128 valueCount128 (const uint32_t inVariableCount) const ; - public: C_BigInt valueCount (const uint32_t inVariableCount) const ; + public: BigSigned 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: PMUInt128 valueCount128UsingCache (const uint32_t inVariableCount, - TC_UniqueArray & ioDirectCacheArray, - TC_UniqueArray & ioComplementCacheArray) const ; + public: UInt128 valueCount128UsingCache (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 ; + public: BigSigned 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 inRelationBitNeededCount [], - uint32_t * inRelationBitCurrentCount [], - const int32_t inRelationCardinality) const ; + public: C_BDD updateRelation (const uint32_t * inRelationBitNeededCountArray, + uint32_t* * inRelationBitCurrentCountArray, + 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: C_String graphvizRepresentation (void) const ; - public: C_String graphvizRepresentationWithNames (const TC_UniqueArray & inBitNames) const ; + public: String graphvizRepresentation (void) const ; + public: String graphvizRepresentationWithNames (const TC_UniqueArray & inBitNames) const ; - public: void print (AC_OutputStream & outputStream) const ; + public: void print (AbstractOutputStream & outputStream) const ; - public: void printHeader (AC_OutputStream & outputStream) const ; + public: void printHeader (AbstractOutputStream & outputStream) const ; - public: void printWithHeader (AC_OutputStream & outputStream) const ; + public: void printWithHeader (AbstractOutputStream & outputStream) const ; - public: void print (AC_OutputStream & outputStream, - const TC_UniqueArray & inVariablesNames, + public: void print (AbstractOutputStream & outputStream, + const TC_UniqueArray & inVariablesNames, const TC_UniqueArray & inBitCounts) const ; - public: void print (AC_OutputStream & outputStream, + public: void print (AbstractOutputStream & 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: C_String queryStringValue (LOCATION_ARGS) const ; + public: String queryStringValue (LOCATION_ARGS) const ; //--- Build a BDD from the string returned by 'queryStringValue' - public: static C_BDD BDDWithPredicateString (const C_String & inPredicateStringValue + public: static C_BDD BDDWithPredicateString (const 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 (AC_OutputStream & inStream) ; + public: static void printBDDpackageOperationsSummary (AbstractOutputStream & 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 &) ; - private: C_bdd_value_traversing & operator = (const C_bdd_value_traversing &) ; + private: C_bdd_value_traversing (const C_bdd_value_traversing &) = delete ; + private: C_bdd_value_traversing & operator = (const C_bdd_value_traversing &) = delete ; } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/bdd/C_Relation.cpp b/goil/build/libpm/bdd/C_Relation.cpp index 83bb3b870..6c5a067cb 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 "bdd/C_Relation.h" -#include "utilities/C_SharedObject.h" +#include "C_Relation.h" +#include "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 C_String & inVariableName, +C_Relation::C_Relation (const 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 C_String & inVariableName, +void C_Relation::addVariable (const 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 - MF_AssertThere ((startRelationVariableCount + startRelationVariableCount) == accessibilityVariableCount, + macroAssertThere ((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 { - MF_AssertThere (variableCount () == 2, + macroAssertThere (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 { - MF_AssertThere (variableCount () == 3, + macroAssertThere (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 { - MF_AssertThere (variableCount () == 3, + macroAssertThere (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 { - MF_AssertThere (variableCount () == 3, + macroAssertThere (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 { - MF_AssertThere (variableCount () == 3, + macroAssertThere (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 { - MF_AssertThere (variableCount () == 3, + macroAssertThere (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 { - MF_AssertThere (variableCount () == 2, + macroAssertThere (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 C_String name0 = mConfiguration.nameForVariable (0 COMMA_HERE) ; + const String name0 = mConfiguration.nameForVariable (0 COMMA_HERE) ; const C_RelationSingleType type0 = mConfiguration.typeForVariable (0 COMMA_HERE) ; - const C_String name1 = mConfiguration.nameForVariable (1 COMMA_HERE) ; + const 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 cc6d96e4e..262e3a069 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 "bdd/C_BDD.h" -#include "bdd/C_RelationSingleType.h" -#include "bdd/C_RelationConfiguration.h" +#include "C_BDD.h" +#include "C_RelationSingleType.h" +#include "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 C_String & inVariableName, + public: C_Relation (const 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 C_String & inVariableName, + public: void addVariable (const 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 62a69ba50..eff995073 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 "bdd/C_Relation.h" -#include "utilities/C_SharedObject.h" +#include "C_Relation.h" +#include "SharedObject.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // cVariablesInRelationConfiguration -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -class cVariablesInRelationConfiguration : public C_SharedObject { +class cVariablesInRelationConfiguration : public SharedObject { //--- Constructor public: cVariablesInRelationConfiguration (LOCATION_ARGS) ; public: cVariablesInRelationConfiguration (cVariablesInRelationConfiguration * inPtr COMMA_LOCATION_ARGS) ; - public: void addVariable (const C_String & inVariableName, + public: void addVariable (const String & inVariableName, const C_RelationSingleType & inType) ; //--- Accessors public: uint32_t bitCount (void) const ; - public: C_String nameForVariable (const int32_t inIndex COMMA_LOCATION_ARGS) const ; + public: 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 C_SharedObject { return mVariableTypeArray (inIndex COMMA_THERE).BDDBitCount () ; } - public: C_String constantNameForVariableAndValue (const int32_t inIndex, + public: String constantNameForVariableAndValue (const int32_t inIndex, const uint32_t inValue COMMA_LOCATION_ARGS) const ; @@ -73,26 +73,26 @@ class cVariablesInRelationConfiguration : public C_SharedObject { //--- Attributes private: TC_UniqueArray mBDDStartIndexArray ; - private: TC_UniqueArray mVariableNameArray ; + private: TC_UniqueArray mVariableNameArray ; private: TC_UniqueArray mVariableTypeArray ; } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cVariablesInRelationConfiguration:: cVariablesInRelationConfiguration (LOCATION_ARGS) : -C_SharedObject (THERE), +SharedObject (THERE), mBDDStartIndexArray (), mVariableNameArray (), mVariableTypeArray () { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cVariablesInRelationConfiguration:: cVariablesInRelationConfiguration (cVariablesInRelationConfiguration * inPtr COMMA_LOCATION_ARGS) : -C_SharedObject (THERE), +SharedObject (THERE), mBDDStartIndexArray (), mVariableNameArray (), mVariableTypeArray () { @@ -105,21 +105,21 @@ mVariableTypeArray () { #endif } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS void cVariablesInRelationConfiguration::checkConfiguration (LOCATION_ARGS) const { - MF_AssertThere (mBDDStartIndexArray.count () == mVariableNameArray.count (), + macroAssertThere (mBDDStartIndexArray.count () == mVariableNameArray.count (), "mBDDStartIndexArray.count () == %lld != mVariableNameArray.count () == %lld", mBDDStartIndexArray.count (), mVariableNameArray.count ()) ; - MF_AssertThere (mBDDStartIndexArray.count () == mVariableTypeArray.count (), + macroAssertThere (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) ; } - MF_AssertThere (same, + macroAssertThere (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() ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_String cVariablesInRelationConfiguration::constantNameForVariableAndValue (const int32_t inIndex, +String cVariablesInRelationConfiguration::constantNameForVariableAndValue (const int32_t inIndex, const uint32_t inValue COMMA_LOCATION_ARGS) const { return mVariableTypeArray (inIndex COMMA_THERE).nameForValue(inValue COMMA_THERE) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_String cVariablesInRelationConfiguration::nameForVariable (const int32_t inIndex COMMA_LOCATION_ARGS) const { +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 C_String & inVariableName, +void C_RelationConfiguration::addVariable (const 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) ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_String C_RelationConfiguration::nameForVariable (const int32_t inIndex +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) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_String C_RelationConfiguration::constantNameForVariableAndValue (const int32_t inIndex, +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 54f05f8af..aef63c69d 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 "bdd/C_BDD.h" -#include "bdd/C_RelationSingleType.h" +#include "C_BDD.h" +#include "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 C_String & inVariableName, + public: void addVariable (const 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: C_String nameForVariable (const int32_t inIndex COMMA_LOCATION_ARGS) const ; + public: 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: C_String constantNameForVariableAndValue (const int32_t inIndex, + public: 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 e765f0aa3..28dd9fe1f 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 "bdd/C_RelationSingleType.h" -#include "utilities/C_SharedObject.h" -#include "strings/C_String.h" +#include "C_RelationSingleType.h" +#include "SharedObject.h" +#include "String-class.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 C_SharedObject { +class C_RelationSingleType::cType : public SharedObject { //--- Constructor - public: inline cType (const C_String & inTypeName, + public: inline cType (const String & inTypeName, const uint32_t inBDDBitCount COMMA_LOCATION_ARGS) : - C_SharedObject (THERE), + SharedObject (THERE), mTypeName (inTypeName), mBDDBitCount (inBDDBitCount), mNextPtr (gFirstRelation), @@ -66,24 +66,24 @@ class C_RelationSingleType::cType : public C_SharedObject { //--- Accessors public: virtual uint32_t constantCount (void) const = 0 ; - public: virtual C_String nameForValue (const uint32_t inIndex + public: virtual String nameForValue (const uint32_t inIndex COMMA_LOCATION_ARGS) const = 0 ; //--- Attribute - public: const C_String mTypeName ; + public: const 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 C_String & inTypeName, - const TC_UniqueArray & inConstantNameArray + public: C_EnumeratedTypeInRelation (const 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 C_String nameForValue (const uint32_t inIndex + public: virtual 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 C_String & inTypeName, - const TC_UniqueArray & inConstantNameArray +C_EnumeratedTypeInRelation (const 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 C_String & inTypeName, - const TC_UniqueArray & inConstantNameArray +C_RelationSingleType (const 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 C_String & inTypeName, + public: C_UnsignedTypeInRelation (const String & inTypeName, const uint32_t inValueCount COMMA_LOCATION_ARGS) ; @@ -155,29 +155,29 @@ class C_UnsignedTypeInRelation : public C_RelationSingleType::cType { return mValueCount ; } - public: virtual C_String nameForValue (const uint32_t inIndex + public: virtual String nameForValue (const uint32_t inIndex COMMA_UNUSED_LOCATION_ARGS) const { - return cStringWithUnsigned (inIndex) ; + return stringWithUnsigned (inIndex) ; } //--- Attributes private: const uint32_t mValueCount ; } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- C_UnsignedTypeInRelation:: -C_UnsignedTypeInRelation (const C_String & inTypeName, +C_UnsignedTypeInRelation (const String & inTypeName, const uint32_t inValueCount COMMA_LOCATION_ARGS) : cType (inTypeName, bitCountForCount (inValueCount) COMMA_THERE), mValueCount (inValueCount) { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- C_RelationSingleType:: -C_RelationSingleType (const C_String & inTypeName, +C_RelationSingleType (const String & inTypeName, const uint32_t inValueCount COMMA_LOCATION_ARGS) : mTypePtr (nullptr) { @@ -199,57 +199,57 @@ mTypePtr (nullptr) { } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Accessors -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_String C_RelationSingleType::typeName (void) const { +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 () ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_String C_RelationSingleType::nameForValue (const uint32_t inIndex +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 ba890704d..e731c6d29 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 "strings/C_String.h" +#include "String-class.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 C_String & inTypeName, - const TC_UniqueArray & inConstantNameArray + public: C_RelationSingleType (const String & inTypeName, + const TC_UniqueArray & inConstantNameArray COMMA_LOCATION_ARGS) ; //--- Constructor with an unsigned type - public: C_RelationSingleType (const C_String & inTypeName, + public: C_RelationSingleType (const String & inTypeName, const uint32_t inValueCount // [0, inValueCount - 1] COMMA_LOCATION_ARGS) ; //--- Accessors - public: C_String typeName (void) const ; + public: String typeName (void) const ; public: uint32_t BDDBitCount (void) const ; public: uint32_t constantCount (void) const ; - public: C_String nameForValue (const uint32_t inIndex + public: 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 new file mode 100644 index 000000000..f0ab696c5 --- /dev/null +++ b/goil/build/libpm/big-integers/BigSigned-add.cpp @@ -0,0 +1,51 @@ +// +// 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 new file mode 100644 index 000000000..817451e24 --- /dev/null +++ b/goil/build/libpm/big-integers/BigSigned-bit.cpp @@ -0,0 +1,60 @@ +// +// 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 new file mode 100644 index 000000000..459e409ee --- /dev/null +++ b/goil/build/libpm/big-integers/BigSigned-chunk-operations.cpp @@ -0,0 +1,136 @@ +// +// 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 new file mode 100644 index 000000000..10b4399b4 --- /dev/null +++ b/goil/build/libpm/big-integers/BigSigned-constructors.cpp @@ -0,0 +1,136 @@ +// +// 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 new file mode 100644 index 000000000..48519964d --- /dev/null +++ b/goil/build/libpm/big-integers/BigSigned-conversions.cpp @@ -0,0 +1,146 @@ +// +// 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 new file mode 100644 index 000000000..3386b865b --- /dev/null +++ b/goil/build/libpm/big-integers/BigSigned-divide.cpp @@ -0,0 +1,68 @@ +// +// 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 new file mode 100644 index 000000000..86351ee02 --- /dev/null +++ b/goil/build/libpm/big-integers/BigSigned-logic-operations.cpp @@ -0,0 +1,99 @@ +// +// 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 new file mode 100644 index 000000000..a62181ff8 --- /dev/null +++ b/goil/build/libpm/big-integers/BigSigned-multiply.cpp @@ -0,0 +1,40 @@ +// +// 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 new file mode 100644 index 000000000..3b5f3b9bf --- /dev/null +++ b/goil/build/libpm/big-integers/BigSigned-print.cpp @@ -0,0 +1,95 @@ +// +// 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 new file mode 100644 index 000000000..744f07f57 --- /dev/null +++ b/goil/build/libpm/big-integers/BigSigned-shifts.cpp @@ -0,0 +1,70 @@ +// +// 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 new file mode 100644 index 000000000..620af3776 --- /dev/null +++ b/goil/build/libpm/big-integers/BigSigned-subtract.cpp @@ -0,0 +1,70 @@ +// +// 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 new file mode 100644 index 000000000..82cce7262 --- /dev/null +++ b/goil/build/libpm/big-integers/BigSigned-utilities.cpp @@ -0,0 +1,38 @@ +// +// 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 new file mode 100644 index 000000000..270902a81 --- /dev/null +++ b/goil/build/libpm/big-integers/BigSigned.cpp @@ -0,0 +1,48 @@ +// +// 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 new file mode 100644 index 000000000..98436f072 --- /dev/null +++ b/goil/build/libpm/big-integers/BigSigned.h @@ -0,0 +1,200 @@ +//-------------------------------------------------------------------------------------------------- +// +// 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 new file mode 100644 index 000000000..82e20e5c7 --- /dev/null +++ b/goil/build/libpm/big-integers/BigUnsigned-add.cpp @@ -0,0 +1,59 @@ +//-------------------------------------------------------------------------------------------------- + +#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 new file mode 100644 index 000000000..ad4c55360 --- /dev/null +++ b/goil/build/libpm/big-integers/BigUnsigned-bit.cpp @@ -0,0 +1,86 @@ +// +// 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 new file mode 100644 index 000000000..41778c6b9 --- /dev/null +++ b/goil/build/libpm/big-integers/BigUnsigned-chunk-operations.cpp @@ -0,0 +1,177 @@ +//-------------------------------------------------------------------------------------------------- + +#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 new file mode 100644 index 000000000..73b2b1afb --- /dev/null +++ b/goil/build/libpm/big-integers/BigUnsigned-constructors.cpp @@ -0,0 +1,434 @@ +// +// 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 new file mode 100644 index 000000000..4c1ef138b --- /dev/null +++ b/goil/build/libpm/big-integers/BigUnsigned-conversions.cpp @@ -0,0 +1,72 @@ +// +// 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 new file mode 100644 index 000000000..f9d495fb4 --- /dev/null +++ b/goil/build/libpm/big-integers/BigUnsigned-divide-naive.cpp @@ -0,0 +1,106 @@ +// +// 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 new file mode 100644 index 000000000..e5bb168ea --- /dev/null +++ b/goil/build/libpm/big-integers/BigUnsigned-divide.cpp @@ -0,0 +1,120 @@ +//-------------------------------------------------------------------------------------------------- + +#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 new file mode 100644 index 000000000..eb484ca3a --- /dev/null +++ b/goil/build/libpm/big-integers/BigUnsigned-logic-operations.cpp @@ -0,0 +1,382 @@ +// +// 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 new file mode 100644 index 000000000..ac2e1ee2c --- /dev/null +++ b/goil/build/libpm/big-integers/BigUnsigned-multiply.cpp @@ -0,0 +1,66 @@ +//-------------------------------------------------------------------------------------------------- + +#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 new file mode 100644 index 000000000..22c23672b --- /dev/null +++ b/goil/build/libpm/big-integers/BigUnsigned-print.cpp @@ -0,0 +1,160 @@ +// +// 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 new file mode 100644 index 000000000..a36856680 --- /dev/null +++ b/goil/build/libpm/big-integers/BigUnsigned-shifts.cpp @@ -0,0 +1,99 @@ +//-------------------------------------------------------------------------------------------------- + +#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 new file mode 100644 index 000000000..775e2f698 --- /dev/null +++ b/goil/build/libpm/big-integers/BigUnsigned-subtract.cpp @@ -0,0 +1,56 @@ +//-------------------------------------------------------------------------------------------------- + +#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 new file mode 100644 index 000000000..0de5b2127 --- /dev/null +++ b/goil/build/libpm/big-integers/BigUnsigned-utilities.cpp @@ -0,0 +1,329 @@ +// +// 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 new file mode 100644 index 000000000..42975c0c9 --- /dev/null +++ b/goil/build/libpm/big-integers/BigUnsigned.h @@ -0,0 +1,230 @@ +// +// 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 deleted file mode 100644 index 8c3a31253..000000000 --- a/goil/build/libpm/big-integers/C_BigInt.cpp +++ /dev/null @@ -1,931 +0,0 @@ -//---------------------------------------------------------------------------------------------------------------------- -// -// 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 new file mode 100644 index 000000000..ec5c6cefe --- /dev/null +++ b/goil/build/libpm/big-integers/ChunkSelectSize.h @@ -0,0 +1,79 @@ +#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 new file mode 100644 index 000000000..5947312e8 --- /dev/null +++ b/goil/build/libpm/big-integers/ChunkSharedArray.cpp @@ -0,0 +1,28 @@ +// +// 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 new file mode 100644 index 000000000..5a3093fe8 --- /dev/null +++ b/goil/build/libpm/big-integers/ChunkSharedArray.h @@ -0,0 +1,222 @@ +#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/PMUInt128.h b/goil/build/libpm/big-integers/PMUInt128.h deleted file mode 100644 index 1689a506e..000000000 --- a/goil/build/libpm/big-integers/PMUInt128.h +++ /dev/null @@ -1,78 +0,0 @@ -//---------------------------------------------------------------------------------------------------------------------- -// -// 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/PMUInt128.cpp b/goil/build/libpm/big-integers/UInt128.cpp similarity index 50% rename from goil/build/libpm/big-integers/PMUInt128.cpp rename to goil/build/libpm/big-integers/UInt128.cpp index 2cbd36411..4808b1874 100644 --- a/goil/build/libpm/big-integers/PMUInt128.cpp +++ b/goil/build/libpm/big-integers/UInt128.cpp @@ -1,48 +1,62 @@ -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -// Handing unsigned integer of arbitrary size +// Handling 128-bits unsigned integer // // 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: // -// e-mail : pierre@pcmolinaro.name +// The above copyright notice and this permission notice shall be included in all copies or +// substantial portions of 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. -// -//---------------------------------------------------------------------------------------------------------------------- +// 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 "big-integers/PMUInt128.h" +#include "UInt128.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -PMUInt128::PMUInt128 (void) : +UInt128::UInt128 (void) : mLow (0), mHigh (0) { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -PMUInt128::PMUInt128 (const uint64_t inValue) : -mLow (inValue), +UInt128::UInt128 (const uint64_t inLow) : +mLow (inLow), mHigh (0) { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- + +UInt128::UInt128 (const uint64_t inHigh, const uint64_t inLow) : +mLow (inLow), +mHigh (inHigh) { +} + +//-------------------------------------------------------------------------------------------------- -bool PMUInt128::isZero (void) const { +bool UInt128::isZero (void) const { return (mLow | mHigh) == 0 ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -bool PMUInt128::valueAtBitIndex (const uint32_t inIndex) const { +bool UInt128::bitAtIndex (const uint32_t inIndex) const { bool result = false ; if (inIndex < 64) { result = ((mLow >> inIndex) & 1) != 0 ; @@ -52,9 +66,9 @@ bool PMUInt128::valueAtBitIndex (const uint32_t inIndex) const { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void PMUInt128::setValueAtBitIndex (const bool inValue, const uint32_t inIndex) { +void UInt128::setBitAtIndex (const bool inValue, const uint32_t inIndex) { if (inIndex < 64) { const uint64_t mask = ((uint64_t) 1) << inIndex ; if (inValue) { @@ -72,9 +86,9 @@ void PMUInt128::setValueAtBitIndex (const bool inValue, const uint32_t inIndex) } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -PMUInt128 & PMUInt128::operator ++ (void) { +UInt128 & UInt128::operator ++ (void) { mLow ++ ; if (0 == mLow) { mHigh ++ ; @@ -82,9 +96,9 @@ PMUInt128 & PMUInt128::operator ++ (void) { return *this ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -PMUInt128 & PMUInt128::operator -- (void) { +UInt128 & UInt128::operator -- (void) { if (0 == mLow) { mHigh -- ; } @@ -92,38 +106,38 @@ PMUInt128 & PMUInt128::operator -- (void) { return *this ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void PMUInt128::operator += (const PMUInt128 & inValue) { +void UInt128::operator += (const UInt128 & inValue) { const uint64_t previousLow = mLow ; mLow += inValue.mLow ; const uint64_t carry = mLow < previousLow ; mHigh += inValue.mHigh + carry ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -PMUInt128 PMUInt128::operator + (const PMUInt128 & inValue) const { - PMUInt128 result = *this ; +UInt128 UInt128::operator + (const UInt128 & inValue) const { + UInt128 result = *this ; result += inValue ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -bool PMUInt128::operator == (const PMUInt128 & inValue) const { +bool UInt128::operator == (const UInt128 & inValue) const { return (mLow == inValue.mLow) && (mHigh == inValue.mHigh) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -bool PMUInt128::operator != (const PMUInt128 & inValue) const { +bool UInt128::operator != (const UInt128 & inValue) const { return ! (*this == inValue) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -bool PMUInt128::operator > (const uint32_t inOperand) const { +bool UInt128::operator > (const uint32_t inOperand) const { bool result = mHigh > 0 ; if (! result) { result = mLow > inOperand ; @@ -131,9 +145,9 @@ bool PMUInt128::operator > (const uint32_t inOperand) const { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void PMUInt128::operator *= (const uint32_t inMultiplicand) { +void UInt128::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) ; @@ -142,9 +156,9 @@ void PMUInt128::operator *= (const uint32_t inMultiplicand) { mHigh = (p2 & UINT32_MAX) + (p3 << 32) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void PMUInt128::divideBy (const uint32_t inDivisor, +void UInt128::divideBy (const uint32_t inDivisor, uint32_t & outRemainder) { const uint64_t d3 = mHigh >> 32 ; const uint64_t q3 = d3 / inDivisor ; @@ -163,76 +177,76 @@ void PMUInt128::divideBy (const uint32_t inDivisor, outRemainder = (uint32_t) r0 ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void PMUInt128::operator /= (const uint32_t inDivisor) { +void UInt128::operator /= (const uint32_t inDivisor) { uint32_t unusedRemainder ; divideBy (inDivisor, unusedRemainder) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_String PMUInt128::decimalString (void) const { - C_String result ; +String UInt128::decimalString (void) const { + String result ; if (isZero()) { - result << "0" ; + result.appendCString ("0") ; }else{ - PMUInt128 value = *this ; + UInt128 value = *this ; TC_UniqueArray values ; while (! value.isZero ()) { uint32_t remainder = 0 ; value.divideBy (1000, remainder) ; values.appendObject (remainder) ; } - result = cStringWithUnsigned (values.lastObject (HERE)) ; + result.appendUnsigned (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 << s ; + result.appendString (s) ; } } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void PMUInt128::example (void) { - PMUInt128 v (1000000) ; - printf ("%s\n", v.decimalString ().cString (HERE)) ; +void UInt128::example (void) { + UInt128 v (1000000) ; + printf ("%s\n", v.decimalString ().cString ()) ; v *= 1000000 ; - printf ("%s\n", v.decimalString ().cString (HERE)) ; + printf ("%s\n", v.decimalString ().cString ()) ; v *= 1000000 ; - printf ("%s\n", v.decimalString ().cString (HERE)) ; + printf ("%s\n", v.decimalString ().cString ()) ; v *= 1000000 ; - printf ("%s\n", v.decimalString ().cString (HERE)) ; + printf ("%s\n", v.decimalString ().cString ()) ; v *= 1000000 ; - printf ("%s\n", v.decimalString ().cString (HERE)) ; + printf ("%s\n", v.decimalString ().cString ()) ; v *= 1000000 ; - printf ("%s\n", v.decimalString ().cString (HERE)) ; + printf ("%s\n", v.decimalString ().cString ()) ; v /= 1000 ; - printf ("%s\n", v.decimalString ().cString (HERE)) ; + printf ("%s\n", v.decimalString ().cString ()) ; v /= 1000 ; - printf ("%s\n", v.decimalString ().cString (HERE)) ; + printf ("%s\n", v.decimalString ().cString ()) ; v /= 1000 ; - printf ("%s\n", v.decimalString ().cString (HERE)) ; + printf ("%s\n", v.decimalString ().cString ()) ; v /= 1000 ; - printf ("%s\n", v.decimalString ().cString (HERE)) ; + printf ("%s\n", v.decimalString ().cString ()) ; v /= 1000 ; - printf ("%s\n", v.decimalString ().cString (HERE)) ; + printf ("%s\n", v.decimalString ().cString ()) ; v /= 1000 ; - printf ("%s\n", v.decimalString ().cString (HERE)) ; + printf ("%s\n", v.decimalString ().cString ()) ; v /= 1000 ; - printf ("%s\n", v.decimalString ().cString (HERE)) ; + printf ("%s\n", v.decimalString ().cString ()) ; v /= 1000 ; - printf ("%s\n", v.decimalString ().cString (HERE)) ; + printf ("%s\n", v.decimalString ().cString ()) ; v /= 1000 ; - printf ("%s\n", v.decimalString ().cString (HERE)) ; + printf ("%s\n", v.decimalString ().cString ()) ; v /= 1000 ; - printf ("%s\n", v.decimalString ().cString (HERE)) ; + printf ("%s\n", v.decimalString ().cString ()) ; v /= 1000 ; - printf ("%s\n", v.decimalString ().cString (HERE)) ; + printf ("%s\n", v.decimalString ().cString ()) ; v /= 1000 ; - printf ("%s\n", v.decimalString ().cString (HERE)) ; + printf ("%s\n", v.decimalString ().cString ()) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/big-integers/UInt128.h b/goil/build/libpm/big-integers/UInt128.h new file mode 100644 index 000000000..c009afd59 --- /dev/null +++ b/goil/build/libpm/big-integers/UInt128.h @@ -0,0 +1,86 @@ +//-------------------------------------------------------------------------------------------------- +// +// 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 new file mode 100644 index 000000000..f417e58d2 --- /dev/null +++ b/goil/build/libpm/big-integers/chunk-U16.h @@ -0,0 +1,103 @@ +// +// 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 new file mode 100644 index 000000000..d9ffba89b --- /dev/null +++ b/goil/build/libpm/big-integers/chunk-U32.h @@ -0,0 +1,103 @@ +// +// 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 new file mode 100644 index 000000000..3c60d0d68 --- /dev/null +++ b/goil/build/libpm/big-integers/chunk-U64.h @@ -0,0 +1,329 @@ +// +// 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 new file mode 100644 index 000000000..d2910501e --- /dev/null +++ b/goil/build/libpm/big-integers/chunk-U8.h @@ -0,0 +1,103 @@ +// +// 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 bbe1f8fa3..e9ff55224 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 4d9ff7f0c..af00303f7 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 36706f553..eb56b4a10 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 2e605fd95..ba75c8558 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 630875026..6e657b5de 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 272843418..5785a429e 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 1d39f9c26..7d819e2f2 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 4cc47e34f..1c1d9bcf7 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 63ceb6571..45e78d421 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 e6c481560..bbbc83b80 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 1a5de39af..e24e54e21 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 d92a44525..0ebd9f4e1 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 @@ -510,27 +426,17 @@ - (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] ; @@ -540,47 +446,35 @@ - (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 ; @@ -593,22 +487,16 @@ - (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} ; @@ -616,24 +504,22 @@ - (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] @@ -889,17 +703,14 @@ - (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 @@ -908,7 +719,6 @@ - (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]]) { @@ -1459,15 +1197,12 @@ - (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 ; @@ -1479,15 +1214,12 @@ - (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 ; @@ -1497,15 +1229,12 @@ - (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) { @@ -1523,11 +1252,6 @@ - (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)} @@ -1548,12 +1272,9 @@ - (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] ; @@ -1562,12 +1283,9 @@ - (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] ; @@ -1575,12 +1293,9 @@ - (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" ; @@ -1591,12 +1306,9 @@ - (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] ; @@ -1606,20 +1318,16 @@ - (IBAction) globalFindAction: (id) inSender { [self findInOpenedFileDirectories] ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- - (void) findInOpenedFileDirectories { - #ifdef DEBUG_MESSAGES - NSLog (@"%s", __PRETTY_FUNCTION__) ; - #endif -//---------------------------------------------------------- Get all dir set +//--- 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] ; } - // NSLog (@"directoryPathSet %@", directoryPathSet) ; -//---------------------------------------- Retain only base directories, eliminate sub directories +//--- Retain only base directories, eliminate sub directories NSMutableArray * directoryPathArray = [NSMutableArray new] ; for (NSString * directoryPath in directoryPathSet) { if (! [directoryPathArray containsObject:directoryPath]) { @@ -1638,8 +1346,7 @@ - (void) findInOpenedFileDirectories { } } } - // NSLog (@"directoryPathArray %@", directoryPathArray) ; -//------------------------- Explore dirs +//--- Explore dirs NSArray * extensionArray = gCocoaApplicationDelegate.allExtensionsOfCurrentApplication.allObjects ; for (NSString * directoryPath in directoryPathArray) { [self @@ -1650,22 +1357,17 @@ - (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 ; @@ -1681,12 +1383,9 @@ - (void) recursiveSearchInDirectory: (NSString *) inDirectoryFullPath } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- - (NSUInteger) searchOptions { - #ifdef DEBUG_MESSAGES - NSLog (@"%s", __PRETTY_FUNCTION__) ; - #endif NSUInteger searchOptions = 0 ; if (! mCaseSensitiveSearchCheckbox.state) { searchOptions |= NSCaseInsensitiveSearch ; @@ -1694,13 +1393,9 @@ - (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} ; @@ -1722,15 +1417,12 @@ - (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] @@ -1742,13 +1434,10 @@ - (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] @@ -1762,12 +1451,9 @@ - (void) enterResult: (NSMutableArray *) inFoundEntries } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- - (void) changeSelectionInSearchResultView { - #ifdef DEBUG_MESSAGES - NSLog (@"%s", __PRETTY_FUNCTION__) ; - #endif NSArray * selectedObjects = mFoundEntryTreeController.selectedObjects ; if (selectedObjects.count > 1) { NSBeep () ; @@ -1787,14 +1473,11 @@ - (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 @@ -1804,73 +1487,34 @@ - (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) { - const NSRange r = entry.range ; - // NSLog (@"r [%lu, %lu]", r.location, r.length) ; - [contents replaceCharactersInRange:r withString:replaceString] ; + [contents replaceCharactersInRange: entry.range withString:replaceString] ; } } [contents writeToFile:filePath atomically:YES encoding:NSUTF8StringEncoding error:nil] ; }else{ for (PMSearchResultDescriptor * entry in foundEntries.reverseObjectEnumerator) { - const NSRange r = entry.range ; - // NSLog (@"r [%lu, %lu]", r.location, r.length) ; - [documentData replaceCharactersInRange:r withString:replaceString] ; + [documentData replaceCharactersInRange: entry.range 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] ; @@ -1884,28 +1528,21 @@ - (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] ; @@ -1914,7 +1551,6 @@ - (BOOL) tableView: (NSTableView *) inTableView initWithDocumentData: documentData displayDocument: self ] ; - // NSLog (@"Inserted %@", tdd) ; [mSourceDisplayArrayControllerHigh insertObject: tdd atArrangedObjectIndex: (NSUInteger) inRow] ; [mSourceDisplayArrayControllerHigh setSelectedObjects: [NSArray arrayWithObject:tdd]] ; [self registerConfigurationInPreferences] ; @@ -1931,7 +1567,6 @@ - (BOOL) tableView: (NSTableView *) inTableView initWithDocumentData: documentData displayDocument: self ] ; - // NSLog (@"Inserted %@", tdd) ; [mSourceDisplayArrayControllerHigh insertObject: tdd atArrangedObjectIndex: (NSUInteger) inRow] ; [mSourceDisplayArrayControllerHigh setSelectedObjects: [NSArray arrayWithObject:tdd]] ; [self registerConfigurationInPreferences] ; @@ -1948,7 +1583,6 @@ - (BOOL) tableView: (NSTableView *) inTableView initWithDocumentData: documentData displayDocument: self ] ; - // NSLog (@"Inserted %@", tdd) ; [mSourceDisplayArrayControllerHigh insertObject: tdd atArrangedObjectIndex: (NSUInteger) inRow] ; [mSourceDisplayArrayControllerHigh setSelectedObjects: [NSArray arrayWithObject: tdd]] ; [self registerConfigurationInPreferences] ; @@ -1958,6 +1592,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 cf09d54ff..e5b8e79e4 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 bbb90bd7f..03eee5783 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 734385c42..ea829a3be 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 dcba6583b..7f0ce83dd 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 c83eda48c..c8058e55f 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 6ce216ef1..e0ae9a429 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 9b915b7da..6f509d6f3 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 d38b190e4..cb11658eb 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 4963bb44a..68659d201 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 a1c0eb6fa..38fc167fc 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,32 +173,33 @@ - (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] ; - // NSLog (@"READ '%@' -> %@", key, selectionRangeString) ; - const NSRange selectionRange = NSRangeFromString (selectionRangeString) ; - const NSUInteger sourceTextLength = documentData.sourceString.length ; - if (NSMaxRange (selectionRange) <= sourceTextLength) { - [self setSelectionRangeAndMakeItVisible:selectionRange] ; - } + 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] ; + } + } #ifdef DEBUG_MESSAGES NSLog (@"%s:DONE", __PRETTY_FUNCTION__) ; #endif } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- - (void) dealloc { noteObjectDeallocation (self) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- - (void) detachTextDisplayDescriptor { NSUserDefaultsController * udc = [NSUserDefaultsController sharedUserDefaultsController] ; @@ -222,31 +223,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 @@ -267,15 +268,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 @@ -300,11 +301,11 @@ - (void) gotoLine: (NSUInteger) inLine { [mTextView scrollRangeToVisible: range] ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #pragma mark Block Comment -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- - (void) commentSelection { #ifdef DEBUG_MESSAGES @@ -314,7 +315,7 @@ - (void) commentSelection { mTextView.selectedRange = newRange ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- - (void) uncommentSelection { #ifdef DEBUG_MESSAGES @@ -324,23 +325,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 ae579e4be..0f87653bf 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, ..., 2020 Pierre Molinaro. +// Copyright (C) 2011, ..., 2023 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,31 +42,24 @@ #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] ; @@ -80,9 +73,6 @@ - (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 ; @@ -99,20 +89,14 @@ - (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) ; @@ -304,12 +288,9 @@ - (OC_GGS_TextSyntaxColoring *) initWithSourceString: (NSString *) inSource return self ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- - (void) detach { - #ifdef DEBUG_MESSAGES - NSLog (@"%s", __PRETTY_FUNCTION__) ; - #endif [[NSNotificationCenter defaultCenter] removeObserver: self name: NSUndoManagerCheckpointNotification @@ -339,21 +320,15 @@ - (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 @@ -381,14 +356,10 @@ - (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", @@ -405,65 +376,46 @@ - (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 ? @@ -474,7 +426,7 @@ - (void) applyTextAttributeForIndex: (NSInteger) inChangedColorIndex { range: allTextRange ] ; [mSourceTextStorage fixAttributesInRange: allTextRange] ; - for (NSUInteger i=0 ; i<[mTokenArray count] ; i++) { + for (NSUInteger i=0 ; i", i, range.location, range.length) ; - #endif if (colorIndex == -2) { [mSourceTextStorage addAttributes:mTemplateTextAttributeDictionary @@ -527,22 +476,16 @@ - (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 ; @@ -556,21 +499,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 { - #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) ; +// const NSRange previousRange = {inEditedRange.location, inEditedRange.length - (NSUInteger) inChangeInLength} ; + const NSRange previousRange = { + inEditedRange.location, + (inChangeInLength >= 0) + ? (inEditedRange.length - (NSUInteger) inChangeInLength) + : (inEditedRange.length + (NSUInteger) -inChangeInLength) + } ; for (PMIssueDescriptor * issue in mIssueArray) { [issue updateLocationForPreviousRange:previousRange changeInLength:inChangeInLength] ; } @@ -590,7 +533,7 @@ - (void) updateIssuesForEditedRange: (NSRange) inEditedRange } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- - (void) setIssueArray: (NSArray *) inIssueArray { mIssueArray = inIssueArray.mutableCopy ; @@ -600,19 +543,16 @@ - (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 ; @@ -627,9 +567,6 @@ - (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) ; @@ -637,28 +574,16 @@ - (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 @@ -682,20 +607,11 @@ - (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] ; @@ -707,7 +623,6 @@ - (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 @@ -720,19 +635,17 @@ - (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) { @@ -742,28 +655,20 @@ - (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) { @@ -784,16 +689,13 @@ - (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 // @@ -811,21 +713,14 @@ - (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 @@ -834,22 +729,12 @@ - (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:@""] ; @@ -866,10 +751,6 @@ - (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)] ; @@ -879,58 +760,45 @@ - (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 ; @@ -961,7 +829,6 @@ - (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) { @@ -990,7 +857,6 @@ - (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:@"%@_%@", @@ -1007,10 +873,11 @@ - (void) observeValueForKeyPath: (NSString *) inKeyPath } break ; case TAG_FOR_TEMPLATE_BACKGROUND_COLOR: - if (data == nil) { + if (data != nil) { + color = (NSColor *) [NSUnarchiver unarchiveObjectWithData: data] ; + } + if (color == nil) { color = [NSColor whiteColor] ; - }else{ - color = (NSColor *) [NSUnarchiver unarchiveObjectWithData:data] ; } [mTemplateTextAttributeDictionary setObject:color forKey:NSBackgroundColorAttributeName] ; [self applyTextAttributeForIndex:-2] ; @@ -1033,17 +900,14 @@ - (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] ; @@ -1052,12 +916,9 @@ - (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] ; @@ -1069,12 +930,10 @@ - (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 @@ -1082,12 +941,9 @@ - (void) parseSourceFileForBuildingIndexFile: (NSArray *) inArray { } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- - (NSArray *) buildIndexingDictionaryArray { - #ifdef DEBUG_MESSAGES - NSLog (@"%s", __PRETTY_FUNCTION__) ; - #endif NSFileManager * fm = [NSFileManager new] ; NSMutableArray * result = nil ; //--- Save all sources @@ -1106,20 +962,16 @@ - (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] ; @@ -1129,7 +981,6 @@ - (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] ; @@ -1169,7 +1020,7 @@ - (NSArray *) buildIndexingDictionaryArray { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- static NSInteger numericSort (NSString * inOperand1, NSString * inOperand2, @@ -1177,18 +1028,15 @@ 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 ; @@ -1203,14 +1051,15 @@ - (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] ; - [allReferences addObjectsFromArray:references] ; + NSArray * references = [currentIndexDictionary objectForKey: token] ; + if (references != nil) { + [allReferences addObjectsFromArray: references] ; + } } //--- Build dictionary for the given token, organized by Kind NSMutableDictionary * kindDictionary = [NSMutableDictionary new] ; @@ -1265,31 +1114,29 @@ - (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 82424c445..928064f7a 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 97a826abc..739ebca23 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 35aa084a6..a9f15b5d9 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 ef6b99585..865107a9b 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 0) { - [title appendString:@" "] ; + [title appendString: @" "] ; } - [title appendString:[mSourceString substringWithRange:range]] ; + [title appendString: [mSourceString substringWithRange:range]] ; } p += 2 ; } @@ -337,16 +337,14 @@ - (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] ; @@ -358,7 +356,7 @@ - (void) buildPopupMenuItemArrayWithStyleArray:(NSArray *) inTokenArray { menuForEntryPopUpButton = menu ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- - (void) presentCustomSyntaxColoringErrorForKey: (NSString *) inKey forStyle: (NSString *) inStyle @@ -392,13 +390,13 @@ - (void) presentCustomSyntaxColoringErrorForKey: (NSString *) inKey [window makeKeyAndOrderFront:nil] ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- - (NSString *) lexiqueIdentifier { return @"" ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- - (NSDictionary *) customSyntaxColoringDictionary { if (nil == mCustomSyntaxColoringDictionary) { @@ -436,7 +434,7 @@ - (NSDictionary *) customSyntaxColoringDictionary { return mCustomSyntaxColoringDictionary ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- - (NSUInteger) styleIndexForTokenCode: (NSInteger) inTokenCode spelling: (NSString *) inSpelling { @@ -450,7 +448,7 @@ - (NSUInteger) styleIndexForTokenCode: (NSInteger) inTokenCode return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- - (void) tokenizeForSourceString: (NSString *) inSourceString tokenArray: (NSMutableArray *) ioStyledRangeArray // Array of OC_Token @@ -503,7 +501,10 @@ - (void) tokenizeForSourceString: (NSString *) inSourceString NSLog (@" Suppress affected Tokens") ; #endif search = YES ; - const NSUInteger affectedRangeEndLocation = inEditedRange.location + inEditedRange.length - (NSUInteger) inChangeInLength ; + const NSUInteger affectedRangeEndLocation = (inChangeInLength >= 0) + ? (inEditedRange.location + inEditedRange.length - (NSUInteger) inChangeInLength) + : (inEditedRange.location + inEditedRange.length + (NSUInteger) -inChangeInLength) + ; while ((*outLowerIndexToRedrawInStyleArray < (SInt32) [ioStyledRangeArray count]) && search) { OC_Token * token = [ioStyledRangeArray objectAtIndex:(NSUInteger) * outLowerIndexToRedrawInStyleArray] ; search = [token range].location < affectedRangeEndLocation ; @@ -611,78 +612,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, @@ -700,15 +701,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, @@ -732,7 +733,7 @@ void scanner_cocoa_routine_enterHexDigitIntoASCIIcharacter (BOOL * ioScanningOk, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_enterDigitIntoASCIIcharacter (BOOL * ioScanningOk, UInt32 * ioValue, @@ -751,7 +752,7 @@ void scanner_cocoa_routine_enterDigitIntoASCIIcharacter (BOOL * ioScanningOk, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_enterCharacterIntoString (BOOL * ioScanningOk, NSMutableString * ioString, @@ -759,7 +760,7 @@ void scanner_cocoa_routine_enterCharacterIntoString (BOOL * ioScanningOk, [ioString appendFormat:@"%C", (uint16_t) inChar] ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_convertStringToDouble (BOOL * ioScanningOk, NSMutableString * inString, @@ -767,7 +768,7 @@ void scanner_cocoa_routine_convertStringToDouble (BOOL * ioScanningOk, * outValue = [inString doubleValue] ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_enterCharacterIntoCharacter (BOOL * ioScanningOk, utf32 * outCharacter, @@ -775,19 +776,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) { @@ -798,7 +799,7 @@ void scanner_cocoa_routine_negateSInt (BOOL * ioScanningOk, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_negateSInt64 (BOOL * ioScanningOk, SInt64 * ioValue) { @@ -809,7 +810,7 @@ void scanner_cocoa_routine_negateSInt64 (BOOL * ioScanningOk, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_convertUIntToSInt (BOOL * ioScanningOk, const UInt32 inValue, @@ -821,7 +822,7 @@ void scanner_cocoa_routine_convertUIntToSInt (BOOL * ioScanningOk, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_convertUInt64ToSInt64 (BOOL * ioScanningOk, const UInt64 inValue, @@ -832,7 +833,7 @@ void scanner_cocoa_routine_convertUInt64ToSInt64 (BOOL * ioScanningOk, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_enterDigitIntoUInt (BOOL * ioScanningOk, const utf32 inCharacter, @@ -852,7 +853,7 @@ void scanner_cocoa_routine_enterDigitIntoUInt (BOOL * ioScanningOk, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_enterDigitIntoUInt64 (BOOL * ioScanningOk, const utf32 inCharacter, @@ -872,7 +873,7 @@ void scanner_cocoa_routine_enterDigitIntoUInt64 (BOOL * ioScanningOk, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_enterHexDigitIntoUInt (BOOL * ioScanningOk, const utf32 inCharacter, @@ -899,7 +900,7 @@ void scanner_cocoa_routine_enterHexDigitIntoUInt (BOOL * ioScanningOk, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_enterHexDigitIntoUInt64 (BOOL * ioScanningOk, const utf32 inCharacter, @@ -926,7 +927,7 @@ void scanner_cocoa_routine_enterHexDigitIntoUInt64 (BOOL * ioScanningOk, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_convertDecimalStringIntoUInt (BOOL * ioScanningOk, NSString * inDecimalString, @@ -954,7 +955,7 @@ void scanner_cocoa_routine_convertDecimalStringIntoUInt (BOOL * ioScanningOk, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_convertDecimalStringIntoSInt (BOOL * ioScanningOk, NSString * inDecimalString, @@ -981,7 +982,7 @@ void scanner_cocoa_routine_convertDecimalStringIntoSInt (BOOL * ioScanningOk, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_convertDecimalStringIntoUInt64 (BOOL * ioScanningOk, NSString * inDecimalString, @@ -1008,7 +1009,7 @@ void scanner_cocoa_routine_convertDecimalStringIntoUInt64 (BOOL * ioScanningOk, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_convertDecimalStringIntoSInt64 (BOOL * ioScanningOk, NSString * inDecimalString, @@ -1035,7 +1036,7 @@ void scanner_cocoa_routine_convertDecimalStringIntoSInt64 (BOOL * ioScanningOk, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_enterBinDigitIntoUInt (BOOL * ioScanningOk, const utf32 inCharacter, @@ -1053,7 +1054,7 @@ void scanner_cocoa_routine_enterBinDigitIntoUInt (BOOL * ioScanningOk, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_enterBinDigitIntoUInt64 (BOOL * ioScanningOk, const utf32 inCharacter, @@ -1071,7 +1072,7 @@ void scanner_cocoa_routine_enterBinDigitIntoUInt64 (BOOL * ioScanningOk, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_enterOctDigitIntoUInt (BOOL * ioScanningOk, const utf32 inCharacter, @@ -1089,7 +1090,7 @@ void scanner_cocoa_routine_enterOctDigitIntoUInt (BOOL * ioScanningOk, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_enterOctDigitIntoUInt64 (BOOL * ioScanningOk, const utf32 inCharacter, @@ -1107,7 +1108,7 @@ void scanner_cocoa_routine_enterOctDigitIntoUInt64 (BOOL * ioScanningOk, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_multiplyUInt (BOOL * ioScanningOk, const UInt32 inFactor, @@ -1122,7 +1123,7 @@ void scanner_cocoa_routine_multiplyUInt (BOOL * ioScanningOk, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_multiplyUInt64 (BOOL * ioScanningOk, const UInt64 inFactor, @@ -1141,7 +1142,7 @@ void scanner_cocoa_routine_multiplyUInt64 (BOOL * ioScanningOk, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_convertHexStringIntoUInt (BOOL * ioScanningOk, NSString * inHexString, @@ -1170,7 +1171,7 @@ void scanner_cocoa_routine_convertHexStringIntoUInt (BOOL * ioScanningOk, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_convertHexStringIntoUInt64 (BOOL * ioScanningOk, NSString * inHexString, @@ -1199,7 +1200,7 @@ void scanner_cocoa_routine_convertHexStringIntoUInt64 (BOOL * ioScanningOk, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_convertHexStringIntoSInt (BOOL * ioScanningOk, NSString * inHexString, @@ -1228,7 +1229,7 @@ void scanner_cocoa_routine_convertHexStringIntoSInt (BOOL * ioScanningOk, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_convertHexStringIntoSInt64 (BOOL * ioScanningOk, NSString * inHexString, @@ -1257,7 +1258,7 @@ void scanner_cocoa_routine_convertHexStringIntoSInt64 (BOOL * ioScanningOk, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_convertUnsignedNumberToUnicodeChar (BOOL * ioScanningOk, UInt32 * ioValue, @@ -1269,7 +1270,7 @@ void scanner_cocoa_routine_convertUnsignedNumberToUnicodeChar (BOOL * ioScanning *ioValue = 0 ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_convertHTMLSequenceToUnicodeCharacter (BOOL * ioScanningOk, NSMutableString * ioStringValue, @@ -1281,7 +1282,7 @@ void scanner_cocoa_routine_convertHTMLSequenceToUnicodeCharacter (BOOL * ioScann [ioStringValue setString:@""] ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_codePointToUnicode (BOOL * ioScanningOk, NSString * inElementString, @@ -1331,14 +1332,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, @@ -1350,7 +1351,7 @@ void scanner_cocoa_routine_enterDecimalDigitIntoBigInt (BOOL * ioScanningOk, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_enterHexDigitIntoBigInt (BOOL * ioScanningOk, const utf32 inChar, @@ -1366,7 +1367,7 @@ void scanner_cocoa_routine_enterHexDigitIntoBigInt (BOOL * ioScanningOk, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_convertDecimalStringIntoBigInt (BOOL * ioScanningOk, NSString * inDecimalString, @@ -1381,7 +1382,7 @@ void scanner_cocoa_routine_convertDecimalStringIntoBigInt (BOOL * ioScanningOk, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_convertHexStringIntoBigInt (BOOL * ioScanningOk, NSString * inHexString, @@ -1401,7 +1402,7 @@ void scanner_cocoa_routine_convertHexStringIntoBigInt (BOOL * ioScanningOk, } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_enterBinaryDigitIntoBigInt (BOOL * ioScanningOk, const utf32 inChar, @@ -1413,7 +1414,7 @@ void scanner_cocoa_routine_enterBinaryDigitIntoBigInt (BOOL * ioScanningOk, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void scanner_cocoa_routine_convertBinaryStringIntoBigInt (BOOL * ioScanningOk, NSString * inHexString, @@ -1429,4 +1430,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 7a8f3bfee..3d1ee0551 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 472dd3f3d..1150202f7 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,9 +80,13 @@ - (void) translateRange: (NSInteger) inTranslation { (UInt64) mRange.length, (SInt64) inTranslation) ; } - mRange.location += (NSUInteger) inTranslation ; + if (inTranslation >= 0) { + mRange.location += (NSUInteger) inTranslation ; + }else{ + 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 2ec1f32ac..b34e84bf7 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 52627878b..77385c8c7 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 0f3073ead..ea5faea30 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 01fa517a7..0199c4214 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 c0c3518f0..9e30e5633 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 361c632d0..afb56ec8f 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,28 +138,36 @@ - (void) setStartLocationInSourceString: (NSUInteger) inStartLocationInSourceStr mLocationInSourceStringStatus = kLocationInSourceStringSolved ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- - (void) updateLocationForPreviousRange: (NSRange) inEditedRange changeInLength: (NSInteger) inChangeInLength { if (mEndLocationInSourceString >= (inEditedRange.location + inEditedRange.length)) { - mEndLocationInSourceString += (NSUInteger) inChangeInLength ; + if (inChangeInLength >= 0) { + mEndLocationInSourceString += (NSUInteger) inChangeInLength ; + }else{ + mEndLocationInSourceString -= (NSUInteger) -inChangeInLength ; + } } if (mStartLocationInSourceString >= (inEditedRange.location + inEditedRange.length)) { - mStartLocationInSourceString += (NSUInteger) inChangeInLength ; + if (inChangeInLength >= 0) { + mStartLocationInSourceString += (NSUInteger) inChangeInLength ; + }else{ + 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 ; @@ -167,7 +175,7 @@ - (void) scrollAndSelectErrorMessage { [errorMessageTextView scrollRangeToVisible:mRangeInOutputData] ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- - (BOOL) intersectWithRange: (NSRange) inRange { BOOL result = mLocationInSourceStringStatus == kLocationInSourceStringSolved ; @@ -183,7 +191,7 @@ - (BOOL) intersectWithRange: (NSRange) inRange { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- - (void) storeItemsToMenu: (NSMenu *) inMenu displayDescriptor: (OC_GGS_TextDisplayDescriptor *) inDisplayDescriptor { @@ -290,7 +298,7 @@ - (void) storeItemsToMenu: (NSMenu *) inMenu } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- - (void) actionFixItReplace: (NSMenuItem *) inSender { NSArray * array = inSender.representedObject ; @@ -301,6 +309,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 2546f75d7..cdab6fa3d 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 0432eff58..a6d148823 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 306796fcc..106ad51a0 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 fc4ce99c5..abdaa7a59 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,7 +110,11 @@ - (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 - mRange.location += (NSUInteger) inChangeInLength ; + if (inChangeInLength >= 0) { + mRange.location += (NSUInteger) inChangeInLength ; + }else{ + mRange.location -= (NSUInteger) -inChangeInLength ; + } #ifdef DEBUG_MESSAGES NSLog (@" - Change before -> mRange [%lu, %lu]", mRange.location, mRange.length) ; #endif @@ -139,6 +143,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 afc8fbb90..a694fde60 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 6cda34798..aaf4cb622 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 aaae239cf..33a08e7aa 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 18a26d6cc..fe0191f74 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 5f29f25ca..982039c22 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 2d3d7a037..d50041d88 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 d7b7bc9ea..8786de556 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 fa4c25ebc..52a7522db 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 b6941acd4..c3f38eade 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 b037c9725..cc5233866 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 bcd66e4ea..d454d48b7 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 01a70b70d..de22bd594 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,48 +16,42 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -#include "command_line_interface/C_BoolCommandLineOption.h" -#include "strings/C_String.h" +#include "C_BoolCommandLineOption.h" +#include "String-class.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #include -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- static C_BoolCommandLineOption * gFirstBoolCommand ; -static C_BoolCommandLineOption * gLastBoolCommand ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_BoolCommandLineOption::C_BoolCommandLineOption (const char * inDomainName, - const char * inIdentifier, +C_BoolCommandLineOption::C_BoolCommandLineOption (const String & inDomainName, + const String & inIdentifier, const char inChar, - const char * inString, - const char * inComment, + const String & inString, + const String & inComment, const bool inVisibleInGalgas) : C_CommandLineOption (inDomainName, inIdentifier, inChar, inString, inComment), -mNext (nullptr), +mNext (gFirstBoolCommand), mValue (false), mVisibleInGalgas (inVisibleInGalgas) { - if (nullptr == gFirstBoolCommand) { - gFirstBoolCommand = this ; - }else{ - gLastBoolCommand->mNext = this ; - } - gLastBoolCommand = this ; + gFirstBoolCommand = this ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void C_BoolCommandLineOption::setBoolOptionForCommandChar (const char inCommandChar, +void C_BoolCommandLineOption::setBoolOptionForCommandChar (const utf32 inCommandChar, bool & outFound) { outFound = false ; C_BoolCommandLineOption * p = gFirstBoolCommand ; while ((p != nullptr) && ! outFound) { - if (p->mCommandChar == inCommandChar) { + if (uint32_t (p->mCommandChar) == UNICODE_VALUE (inCommandChar)) { outFound = true ; p->mValue = true ; } @@ -65,18 +59,18 @@ void C_BoolCommandLineOption::setBoolOptionForCommandChar (const char inCommandC } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void C_BoolCommandLineOption::setBoolOptionForCommandString (const char * inCommandString, +void C_BoolCommandLineOption::setBoolOptionForCommandString (const String & inCommandString, bool & outFound, bool & outCocoaOutput) { - outFound = strcmp (inCommandString, "cocoa") == 0 ; + outFound = inCommandString == "cocoa" ; if (outFound) { outCocoaOutput = true ; } C_BoolCommandLineOption * p = gFirstBoolCommand ; while ((p != nullptr) && ! outFound) { - if (strcmp (p->mCommandString, inCommandString) == 0) { + if (p->mCommandString == inCommandString) { outFound = true ; p->mValue = true ; } @@ -84,7 +78,7 @@ void C_BoolCommandLineOption::setBoolOptionForCommandString (const char * inComm } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void C_BoolCommandLineOption::printUsageOfBoolOptions (void) { C_BoolCommandLineOption * p = gFirstBoolCommand ; @@ -93,41 +87,44 @@ void C_BoolCommandLineOption::printUsageOfBoolOptions (void) { if (c != '\0') { printf (" [-%c]", c) ; } - const char * s = p->mCommandString ; - if (s [0] != 0) { - printf (" [--%s]", s) ; + if (p->mCommandString.length () > 0) { + printf (" [--%s]", p->mCommandString.cString ()) ; } p = p->mNext ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void C_BoolCommandLineOption::printBoolOptions (void) { C_BoolCommandLineOption * p = gFirstBoolCommand ; while (p != nullptr) { if (p->mCommandChar != '\0') { - co.setForeColor (kBlueForeColor) ; - co.setTextAttribute (kBoldTextAttribute) ; - co << "-" << cStringWithCharacter (p->mCommandChar) ; - co.setTextAttribute (kAllAttributesOff) ; - co << "\n" ; + gCout.setForeColor (kBlueForeColor) ; + gCout.setTextAttribute (kBoldTextAttribute) ; + gCout.appendCString ("-") ; + gCout.appendASCIIChar (p->mCommandChar) ; + gCout.setTextAttribute (kAllAttributesOff) ; + gCout.appendNewLine () ; } - if (p->mCommandString [0] != '\0') { - co.setForeColor (kBlueForeColor) ; - co.setTextAttribute (kBoldTextAttribute) ; - co << "--" << p->mCommandString ; - 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 () ; } - co << " " << p->mComment << "\n" ; + gCout.appendCString (" ") ; + gCout.appendString (p->mComment) ; + gCout.appendNewLine () ; 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) { @@ -138,10 +135,10 @@ void C_BoolCommandLineOption::getBoolOptionNameList (TC_UniqueArray & } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -utf32 C_BoolCommandLineOption::getBoolOptionInvocationLetter (const C_String & inDomainName, - const C_String & inIdentifier) { +utf32 C_BoolCommandLineOption::getBoolOptionInvocationLetter (const String & inDomainName, + const String & inIdentifier) { utf32 result = TO_UNICODE (0) ; C_BoolCommandLineOption * p = gFirstBoolCommand ; bool found = false ; @@ -153,11 +150,11 @@ utf32 C_BoolCommandLineOption::getBoolOptionInvocationLetter (const C_String & i return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_String C_BoolCommandLineOption::getBoolOptionInvocationString (const C_String & inDomainName, - const C_String & inIdentifier) { - C_String result ; +String C_BoolCommandLineOption::getBoolOptionInvocationString (const String & inDomainName, + const String & inIdentifier) { + String result ; C_BoolCommandLineOption * p = gFirstBoolCommand ; bool found = false ; while ((p != nullptr) && not found) { @@ -168,11 +165,11 @@ C_String C_BoolCommandLineOption::getBoolOptionInvocationString (const C_String return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_String C_BoolCommandLineOption::getBoolOptionCommentString (const C_String & inDomainName, - const C_String & inIdentifier) { - C_String result ; +String C_BoolCommandLineOption::getBoolOptionCommentString (const String & inDomainName, + const String & inIdentifier) { + String result ; C_BoolCommandLineOption * p = gFirstBoolCommand ; bool found = false ; while ((p != nullptr) && not found) { @@ -183,10 +180,10 @@ C_String C_BoolCommandLineOption::getBoolOptionCommentString (const C_String & i return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -bool C_BoolCommandLineOption::getBoolOptionValue (const C_String & inDomainName, - const C_String & inIdentifier) { +bool C_BoolCommandLineOption::getBoolOptionValue (const String & inDomainName, + const String & inIdentifier) { bool result = false ; C_BoolCommandLineOption * p = gFirstBoolCommand ; bool found = false ; @@ -198,10 +195,10 @@ bool C_BoolCommandLineOption::getBoolOptionValue (const C_String & inDomainName, return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void C_BoolCommandLineOption::setBoolOptionValue (const C_String & inDomainName, - const C_String & inIdentifier, +void C_BoolCommandLineOption::setBoolOptionValue (const String & inDomainName, + const String & inIdentifier, const bool inValue) { C_BoolCommandLineOption * p = gFirstBoolCommand ; bool found = false ; @@ -214,4 +211,4 @@ void C_BoolCommandLineOption::setBoolOptionValue (const C_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 6e035f6c5..660e39ba4 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 "utilities/M_machine.h" -#include "strings/C_String.h" +#include "M_machine.h" +#include "String-class.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class C_BoolCommandLineOption final : public C_CommandLineOption { //--- Constructor - public: C_BoolCommandLineOption (const char * inDomainName, - const char * inIdentifier, - const char inChar, - const char * inString, - const char * inComment, - const bool inVisibleInGalgas = true) ; + public: C_BoolCommandLineOption (const String & inDomainName, + const String & inIdentifier, + const char inChar, + const String & inString, + const String & inComment, + const bool inVisibleInGalgas = true) ; //--- No Copy - private: C_BoolCommandLineOption (const C_BoolCommandLineOption &) ; - private: C_BoolCommandLineOption & operator = (const C_BoolCommandLineOption &) ; + private: C_BoolCommandLineOption (const C_BoolCommandLineOption &) = delete ; + private: C_BoolCommandLineOption & operator = (const C_BoolCommandLineOption &) = delete ; //--- Attributes private: C_BoolCommandLineOption * mNext ; @@ -48,32 +48,33 @@ class C_BoolCommandLineOption final : public C_CommandLineOption { public: const bool mVisibleInGalgas ; //--- Static methods - public: static void setBoolOptionForCommandChar (const char inCommandChar, - bool & outFound) ; - public: static void setBoolOptionForCommandString (const char * inCommandString, - bool & outFound, - bool & outCocoaOutput) ; + public: static void setBoolOptionForCommandChar (const utf32 inCommandChar, + bool & outFound) ; + + public: static void setBoolOptionForCommandString (const String & 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 C_String & inDomainName, - const C_String & inIdentifier) ; + public: static utf32 getBoolOptionInvocationLetter (const String & inDomainName, + const String & inIdentifier) ; - public: static C_String getBoolOptionInvocationString (const C_String & inDomainName, - const C_String & inIdentifier) ; + public: static String getBoolOptionInvocationString (const String & inDomainName, + const String & inIdentifier) ; - public: static C_String getBoolOptionCommentString (const C_String & inDomainName, - const C_String & inIdentifier) ; + public: static String getBoolOptionCommentString (const String & inDomainName, + const String & inIdentifier) ; - public: static bool getBoolOptionValue (const C_String & inDomainName, - const C_String & inIdentifier) ; + public: static bool getBoolOptionValue (const String & inDomainName, + const String & inIdentifier) ; - public: static void setBoolOptionValue (const C_String & inDomainName, - const C_String & inIdentifier, - const bool inValue) ; + public: static void setBoolOptionValue (const String & inDomainName, + const 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 627c59203..b1ec2fb2c 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, ..., 2010 Pierre Molinaro. +// Copyright (C) 2009, ..., 2024 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 char * inDomainName, - const char * inIdentifier, +C_CommandLineOption::C_CommandLineOption (const String & inDomainName, + const String & inIdentifier, const char inChar, - const char * inString, - const char * inComment) : + const String & inString, + const String & 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 fe59e64e2..f089299b3 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, ..., 2021 Pierre Molinaro. +// Copyright (C) 2009, ..., 2024 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 "utilities/M_SourceLocation.h" -#include "strings/C_String.h" +#include "M_SourceLocation.h" +#include "String-class.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class C_CommandLineOption { //--- Constructor - public: C_CommandLineOption (const char * inDomainName, - const char * inIdentifier, - const char inChar, - const char * inString, - const char * inComment) ; + public: C_CommandLineOption (const String & inDomainName, + const String & inIdentifier, + const char inChar, + const String & inString, + const String & inComment) ; //--- Virtual destructor public: virtual ~ C_CommandLineOption (void) ; //--- No Copy - private: C_CommandLineOption (const C_CommandLineOption &) ; - private: C_CommandLineOption & operator = (const C_CommandLineOption &) ; + private: C_CommandLineOption (const C_CommandLineOption &) = delete ; + private: C_CommandLineOption & operator = (const C_CommandLineOption &) = delete ; //--- Attributes - public: const char * const mDomainName ; - public: const char * const mIdentifier ; + public: const String mDomainName ; + public: const String mIdentifier ; public: const char mCommandChar ; - public: const char * const mCommandString ; - public: const char * const mComment ; + public: const String mCommandString ; + public: const String mComment ; //--- Accessing option parameters from GALGAS public: inline char readProperty_char (void) const { return mCommandChar ; } - public: inline C_String readProperty_string (void) const { return mCommandString ; } - public: inline C_String readProperty_comment (void) const { return mComment ; } + public: inline String readProperty_string (void) const { return mCommandString ; } + public: inline 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 8ba92281c..d5fa1ca8b 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 "command_line_interface/C_StringCommandLineOption.h" -#include "utilities/C_PrologueEpilogue.h" +#include "C_StringCommandLineOption.h" +#include "PrologueEpilogue.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #include -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- static C_StringCommandLineOption * gFirstStringOption ; static C_StringCommandLineOption * gLastStringOption ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_StringCommandLineOption::C_StringCommandLineOption (const char * inDomainName, - const char * inIdentifier, +C_StringCommandLineOption::C_StringCommandLineOption (const String & inDomainName, + const String & inIdentifier, const char inChar, - const char * inString, - const char * inComment, - const char * inDefaultValue) : + const String & inString, + const String & inComment, + const String & 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 char * inCommandString, +void C_StringCommandLineOption::setStringOptionForCommandChar (const String & inCommandString, bool & outFound, bool & outCommandLineOptionStringIsValid) { - outCommandLineOptionStringIsValid = (strlen (inCommandString) > 2) && (inCommandString [1] == '=') ; + outCommandLineOptionStringIsValid = (inCommandString.length () > 2) && (inCommandString.charAtIndex (1 COMMA_HERE) == '=') ; outFound = false ; if (outCommandLineOptionStringIsValid) { C_StringCommandLineOption * p = gFirstStringOption ; while ((p != nullptr) && ! outFound) { - outFound = inCommandString [0] == p->mCommandChar ; + outFound = UNICODE_VALUE (inCommandString.charAtIndex (0 COMMA_HERE)) == uint32_t (p->mCommandChar) ; if (outFound) { - p->mValue.setLengthToZero () ; - p->mValue << & inCommandString [2] ; + p->mValue.removeAllKeepingCapacity () ; + p->mValue.appendString (inCommandString.subStringFromIndex (2)) ; } p = p->mNext ; } } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void C_StringCommandLineOption::setStringOptionForCommandString (const char * inCommandString, +void C_StringCommandLineOption::setStringOptionForCommandString (const String & inCommandString, bool & outFound, bool & outCommandLineOptionStringIsValid) { - const uint32_t optionLength = (uint32_t) (strlen (inCommandString) & UINT32_MAX) ; + const int32_t optionLength = inCommandString.length () ; outCommandLineOptionStringIsValid = optionLength > 4 ; //--- Find '=' character - uint32_t equalSignIndex = 0 ; + int32_t equalSignIndex = 0 ; if (outCommandLineOptionStringIsValid) { outFound = false ; while ((equalSignIndex < optionLength) && outCommandLineOptionStringIsValid && ! outFound) { - outFound = inCommandString [equalSignIndex] == '=' ; + outFound = UNICODE_VALUE (inCommandString.charAtIndex (equalSignIndex COMMA_HERE)) == '=' ; if (! outFound) { equalSignIndex ++ ; } @@ -90,22 +90,22 @@ void C_StringCommandLineOption::setStringOptionForCommandString (const char * in 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 = (strlen (p->mCommandString) == equalSignIndex) && - (strncmp (p->mCommandString, inCommandString, equalSignIndex) == 0) ; + outFound = p->mCommandString == command ; if (outFound) { - p->mValue.setLengthToZero () ; - p->mValue << & inCommandString [strlen (p->mCommandString) + 1] ; + p->mValue.removeAllKeepingCapacity () ; + p->mValue.appendString (inCommandString.subStringFromIndex (p->mCommandString.length () + 1)) ; } p = p->mNext ; } } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void C_StringCommandLineOption::printUsageOfStringOptions (void) { C_StringCommandLineOption * p = gFirstStringOption ; @@ -114,57 +114,62 @@ void C_StringCommandLineOption::printUsageOfStringOptions (void) { if (c != '\0') { printf (" [-%c=string]", c) ; } - const char * s = p->mCommandString ; - if (s [0] != 0) { - printf (" [--%s=string]", s) ; + if (p->mCommandString.length () > 0) { + printf (" [--%s=string]", p->mCommandString.cString ()) ; } p = p->mNext ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void C_StringCommandLineOption::printStringOptions (void) { C_StringCommandLineOption * p = gFirstStringOption ; while (p != nullptr) { if (p->mCommandChar != '\0') { - co.setForeColor (kBlueForeColor) ; - co.setTextAttribute (kBoldTextAttribute) ; - co << "-" << cStringWithCharacter (p->mCommandChar) << "=string" ; - co.setTextAttribute (kAllAttributesOff) ; - co << "\n" ; + gCout.setForeColor (kBlueForeColor) ; + gCout.setTextAttribute (kBoldTextAttribute) ; + gCout.appendCString ("-") ; + gCout.appendASCIIChar (p->mCommandChar) ; + 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" ; + 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 () ; } - co << " " << p->mComment << " (default value: '" - << p->mDefaultValue - << "')\n" ; + gCout.appendCString (" ") ; + gCout.appendString (p->mComment) ; + gCout.appendCString (" (default value: '") ; + gCout.appendString (p->mDefaultValue) ; + gCout.appendCString ("')\n") ; p = p->mNext ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void C_StringCommandLineOption::releaseStrings (void) { C_StringCommandLineOption * p = gFirstStringOption ; while (p != nullptr) { - p->mValue.releaseString () ; + p->mValue.removeAll () ; p = p->mNext ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_PrologueEpilogue gReleaseString (nullptr, C_StringCommandLineOption::releaseStrings) ; +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) ; @@ -173,10 +178,10 @@ void C_StringCommandLineOption::getStringOptionNameList (TC_UniqueArray & outArray) ; + public: static void getStringOptionNameList (TC_UniqueArray & outArray) ; - public: static utf32 getStringOptionInvocationLetter (const C_String & inDomainName, - const C_String & inIdentifier) ; + public: static utf32 getStringOptionInvocationLetter (const String & inDomainName, + const String & inIdentifier) ; - public: static C_String getStringOptionInvocationString (const C_String & inDomainName, - const C_String & inIdentifier) ; + public: static String getStringOptionInvocationString (const String & inDomainName, + const String & inIdentifier) ; - public: static C_String getStringOptionCommentString (const C_String & inDomainName, - const C_String & inIdentifier) ; + public: static String getStringOptionCommentString (const String & inDomainName, + const String & inIdentifier) ; - public: static C_String getStringOptionValue (const C_String & inDomainName, - const C_String & inIdentifier) ; + public: static String getStringOptionValue (const String & inDomainName, + const String & inIdentifier) ; - public: static void setStringOptionValue (const C_String & inDomainName, - const C_String & inIdentifier, - const C_String & inValue) ; + public: static void setStringOptionValue (const String & inDomainName, + const String & inIdentifier, + const 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 d7d848ab0..6e9e5881d 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 "command_line_interface/C_StringListCommandLineOption.h" -#include "utilities/C_PrologueEpilogue.h" +#include "C_StringListCommandLineOption.h" +#include "PrologueEpilogue.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #include -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- static C_StringListCommandLineOption * gFirstStringListOption ; static C_StringListCommandLineOption * gLastStringListOption ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_StringListCommandLineOption::C_StringListCommandLineOption (const char * inDomainName, - const char * inIdentifier, +C_StringListCommandLineOption::C_StringListCommandLineOption (const String & inDomainName, + const String & inIdentifier, const char inChar, - const char * inString, - const char * inComment) : + const String & inString, + const String & inComment) : C_CommandLineOption (inDomainName, inIdentifier, inChar, inString, inComment), mNext (nullptr), mValue () { @@ -48,38 +48,38 @@ mValue () { gLastStringListOption = this ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void C_StringListCommandLineOption::setStringListOptionForCommandChar (const char * inCommandString, +void C_StringListCommandLineOption::setStringListOptionForCommandChar (const String & inCommandString, bool & outFound, bool & outCommandLineOptionStringIsValid) { - outCommandLineOptionStringIsValid = (strlen (inCommandString) > 2) && (inCommandString [1] == '=') ; + outCommandLineOptionStringIsValid = (inCommandString.length () > 2) && (inCommandString.charAtIndex (1 COMMA_HERE) == '=') ; outFound = false ; if (outCommandLineOptionStringIsValid) { C_StringListCommandLineOption * p = gFirstStringListOption ; while ((p != nullptr) && ! outFound) { - outFound = inCommandString [0] == p->mCommandChar ; + outFound = UNICODE_VALUE (inCommandString.charAtIndex (0 COMMA_HERE)) == uint32_t (p->mCommandChar) ; if (outFound) { - p->mValue.appendObject (& inCommandString [2]) ; + p->mValue.appendObject (inCommandString.subStringFromIndex (2)) ; } p = p->mNext ; } } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void C_StringListCommandLineOption::setStringListOptionForCommandString (const char * inCommandString, +void C_StringListCommandLineOption::setStringListOptionForCommandString (const String & inCommandString, bool & outFound, bool & outCommandLineOptionStringIsValid) { - const uint32_t optionLength = (uint32_t) (strlen (inCommandString) & UINT32_MAX) ; + const int32_t optionLength = inCommandString.length () ; outCommandLineOptionStringIsValid = optionLength > 4 ; //--- Find '=' character - uint32_t equalSignIndex = 0 ; + int32_t equalSignIndex = 0 ; if (outCommandLineOptionStringIsValid) { outFound = false ; while ((equalSignIndex < optionLength) && outCommandLineOptionStringIsValid && ! outFound) { - outFound = inCommandString [equalSignIndex] == '=' ; + outFound = UNICODE_VALUE (inCommandString.charAtIndex (equalSignIndex COMMA_HERE)) == '=' ; if (! outFound) { equalSignIndex ++ ; } @@ -87,21 +87,22 @@ void C_StringListCommandLineOption::setStringListOptionForCommandString (const c 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 = (strlen (p->mCommandString) == equalSignIndex) && - (strncmp (p->mCommandString, inCommandString, equalSignIndex) == 0) ; + outFound = p->mCommandString == command ; if (outFound) { - p->mValue.appendObject (& inCommandString [strlen (p->mCommandString) + 1]) ; + // p->mValue.appendObject (String (& inCommandString [p->mCommandString.length () + 1])) ; + p->mValue.appendObject (inCommandString.subStringFromIndex (p->mCommandString.length () + 1)) ; } p = p->mNext ; } } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void C_StringListCommandLineOption::printUsageOfStringOptions (void) { C_StringListCommandLineOption * p = gFirstStringListOption ; @@ -110,15 +111,14 @@ void C_StringListCommandLineOption::printUsageOfStringOptions (void) { if (c != '\0') { printf (" [-%c=string]", c) ; } - const char * s = p->mCommandString ; - if (s [0] != 0) { - printf (" [--%s=string]", s) ; + if (p->mCommandString.length () > 0) { + printf (" [--%s=string]", p->mCommandString.cString ()) ; } p = p->mNext ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void C_StringListCommandLineOption::printStringOptions (void) { C_StringListCommandLineOption * p = gFirstStringListOption ; @@ -126,33 +126,39 @@ void C_StringListCommandLineOption::printStringOptions (void) { if (p->mCommandChar != '\0') { for (uint32_t i=0 ; i<2 ; i++) { if (i != 0) { - co << " " ; + gCout.appendCString (" ") ; } - co.setForeColor (kBlueForeColor) ; - co.setTextAttribute (kBoldTextAttribute) ; - co << "-" << cStringWithCharacter (p->mCommandChar) << "=string" ; - co.setTextAttribute (kAllAttributesOff) ; + gCout.setForeColor (kBlueForeColor) ; + gCout.setTextAttribute (kBoldTextAttribute) ; + gCout.appendCString ("-") ; + gCout.appendASCIIChar (p->mCommandChar) ; + gCout.appendCString ("=string") ; + gCout.setTextAttribute (kAllAttributesOff) ; } - co << " ...\n" ; + gCout.appendCString (" ...\n") ; } - if (p->mCommandString [0] != '\0') { + if (p->mCommandString.length () > 0) { for (uint32_t i=0 ; i<2 ; i++) { if (i != 0) { - co << " " ; + gCout.appendCString (" ") ; } - co.setForeColor (kBlueForeColor) ; - co.setTextAttribute (kBoldTextAttribute) ; - co << "--" << p->mCommandString << "=string" ; - co.setTextAttribute (kAllAttributesOff) ; + gCout.setForeColor (kBlueForeColor) ; + gCout.setTextAttribute (kBoldTextAttribute) ; + gCout.appendCString ("--") ; + gCout.appendString (p->mCommandString) ; + gCout.appendCString ("=string") ; + gCout.setTextAttribute (kAllAttributesOff) ; } - co << " ...\n" ; + gCout.appendCString (" ...\n") ; } - co << " " << p->mComment << "\n" ; + gCout.appendCString (" ") ; + gCout.appendString (p->mComment) ; + gCout.appendNewLine () ; p = p->mNext ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void C_StringListCommandLineOption::releaseStrings (void) { C_StringListCommandLineOption * p = gFirstStringListOption ; @@ -162,13 +168,13 @@ void C_StringListCommandLineOption::releaseStrings (void) { } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_PrologueEpilogue gReleaseStringList (nullptr, C_StringListCommandLineOption::releaseStrings) ; +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) ; @@ -177,49 +183,49 @@ void C_StringListCommandLineOption::getStringOptionNameList (TC_UniqueArray mDomainName) && (inIdentifier == p->mIdentifier) ; + found = (inDomainName == String (p->mDomainName)) && (inIdentifier == String (p->mIdentifier)) ; result = TO_UNICODE ((uint32_t) p->mCommandChar) ; p = p->mNext ; } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_String C_StringListCommandLineOption::getStringOptionInvocationString (const C_String & inDomainName, - const C_String & inIdentifier) { - C_String result ; +String C_StringListCommandLineOption::getStringOptionInvocationString (const String & inDomainName, + const String & inIdentifier) { + String result ; C_StringListCommandLineOption * p = gFirstStringListOption ; bool found = false ; while ((p != nullptr) && not found) { - found = (inDomainName == p->mDomainName) && (inIdentifier == p->mIdentifier) ; + found = (inDomainName == String (p->mDomainName)) && (inIdentifier == String (p->mIdentifier)) ; result = p->mCommandString ; p = p->mNext ; } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_String C_StringListCommandLineOption::getStringOptionCommentString (const C_String & inDomainName, - const C_String & inIdentifier) { - C_String result ; +String C_StringListCommandLineOption::getStringOptionCommentString (const String & inDomainName, + const String & inIdentifier) { + String result ; C_StringListCommandLineOption * p = gFirstStringListOption ; bool found = false ; while ((p != nullptr) && not found) { - found = (inDomainName == p->mDomainName) && (inIdentifier == p->mIdentifier) ; + found = (inDomainName == String (p->mDomainName)) && (inIdentifier == String (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 ef3cfc765..72376c414 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,56 +16,57 @@ // 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 "strings/C_String.h" +#include "String-class.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class C_StringListCommandLineOption final : public C_CommandLineOption { //--- Constructor - public: C_StringListCommandLineOption (const char * inDomainName, - const char * inIdentifier, - const char inChar, - const char * inString, - const char * inComment) ; + public: C_StringListCommandLineOption (const String & inDomainName, + const String & inIdentifier, + const char inChar, + const String & inString, + const String & inComment) ; //--- No Copy - private: C_StringListCommandLineOption (const C_StringListCommandLineOption &) ; - private: C_StringListCommandLineOption & operator = (const C_StringListCommandLineOption &) ; + private: C_StringListCommandLineOption (const C_StringListCommandLineOption &) = delete ; + private: C_StringListCommandLineOption & operator = (const C_StringListCommandLineOption &) = delete ; //--- 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 char * inCommandCommandLineOptionString, - bool & outFound, - bool & outCommandLineOptionStringIsValid) ; - public: static void setStringListOptionForCommandString (const char * inCommandCommandLineOptionString, - bool & outFound, - bool & outCommandLineOptionStringIsValid) ; + 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 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 C_String & inDomainName, - const C_String & inIdentifier) ; + public: static utf32 getStringOptionInvocationLetter (const String & inDomainName, + const String & inIdentifier) ; - public: static C_String getStringOptionInvocationString (const C_String & inDomainName, - const C_String & inIdentifier) ; + public: static String getStringOptionInvocationString (const String & inDomainName, + const String & inIdentifier) ; - public: static C_String getStringOptionCommentString (const C_String & inDomainName, - const C_String & inIdentifier) ; + public: static String getStringOptionCommentString (const String & inDomainName, + const 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 cfdf698e0..3a715e8e2 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 "command_line_interface/C_UIntCommandLineOption.h" -#include "strings/C_String.h" +#include "C_UIntCommandLineOption.h" +#include "String-class.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #include -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- static C_UIntCommandLineOption * gFirstIntOption ; static C_UIntCommandLineOption * gLastIntOption ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_UIntCommandLineOption::C_UIntCommandLineOption (const char * inDomainName, - const char * inIdentifier, +C_UIntCommandLineOption::C_UIntCommandLineOption (const String & inDomainName, + const String & inIdentifier, const char inChar, - const char * inString, - const char * inComment, + const String & inString, + const String & inComment, const uint32_t inDefaultValue) : C_CommandLineOption (inDomainName, inIdentifier, inChar, inString, inComment), mNext (nullptr), @@ -50,25 +50,26 @@ mDefaultValue (inDefaultValue) { gLastIntOption = this ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void C_UIntCommandLineOption:: -setUIntOptionForCommandChar (const char * inCommandCommandLineOptionString, +setUIntOptionForCommandChar (const String & inCommandCommandLineOptionString, bool & outFound, bool & outCommandLineOptionStringIsValid) { - const uint32_t optionLength = (uint32_t) (strlen (inCommandCommandLineOptionString) & UINT32_MAX) ; - outCommandLineOptionStringIsValid = (optionLength > 2) && (inCommandCommandLineOptionString [1] == '=') ; + const int32_t optionLength = inCommandCommandLineOptionString.length () ; + outCommandLineOptionStringIsValid = (optionLength > 2) && (inCommandCommandLineOptionString.charAtIndex (1 COMMA_HERE) == '=') ; uint32_t optionValue = 0 ; - for (uint32_t i=2 ; (i= '0') && (inCommandCommandLineOptionString [i] <= '9') ; + for (int32_t i=2 ; (i= '0') && (c <= '9') ; optionValue *= 10 ; - optionValue += (uint32_t) (inCommandCommandLineOptionString [i] - '0') ; + optionValue += c - '0' ; } outFound = false ; C_UIntCommandLineOption * p = gFirstIntOption ; if (outCommandLineOptionStringIsValid) { while ((p != nullptr) && ! outFound) { - outFound = inCommandCommandLineOptionString [0] == p->mCommandChar ; + outFound = UNICODE_VALUE (inCommandCommandLineOptionString.charAtIndex (0 COMMA_HERE)) == uint32_t (p->mCommandChar) ; if (outFound) { p->mValue = optionValue ; } @@ -77,20 +78,20 @@ setUIntOptionForCommandChar (const char * inCommandCommandLineOptionString, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void C_UIntCommandLineOption:: -setUIntOptionForCommandString (const char * inCommandCommandLineOptionString, +setUIntOptionForCommandString (const String & inCommandCommandLineOptionString, bool & outFound, bool & outCommandLineOptionStringIsValid) { - const uint32_t optionLength = (uint32_t) (strlen (inCommandCommandLineOptionString) & UINT32_MAX) ; + const int32_t optionLength = inCommandCommandLineOptionString.length () ; outCommandLineOptionStringIsValid = optionLength > 2 ; //--- Find '=' character - uint32_t equalSignIndex = 0 ; + int32_t equalSignIndex = 0 ; if (outCommandLineOptionStringIsValid) { bool found = false ; while ((equalSignIndex < optionLength) && outCommandLineOptionStringIsValid && !found) { - found = inCommandCommandLineOptionString [equalSignIndex] == '=' ; + found = inCommandCommandLineOptionString.charAtIndex (equalSignIndex COMMA_HERE) == '=' ; if (! found) { equalSignIndex ++ ; } @@ -99,18 +100,19 @@ setUIntOptionForCommandString (const char * inCommandCommandLineOptionString, } //--- Compute option value uint32_t optionValue = 0 ; - for (uint32_t i=equalSignIndex+1 ; (i= '0') && (inCommandCommandLineOptionString [i] <= '9') ; + for (int32_t i=equalSignIndex+1 ; (i= '0') && (c <= '9') ; optionValue *= 10 ; - optionValue += (uint32_t) (inCommandCommandLineOptionString [i] - '0') ; + optionValue += uint32_t (c - '0') ; } //--- Search option outFound = false ; + const String command = inCommandCommandLineOptionString.leftSubString (equalSignIndex) ; if (outCommandLineOptionStringIsValid) { C_UIntCommandLineOption * p = gFirstIntOption ; while ((p != nullptr) && ! outFound) { - outFound = (strlen (p->mCommandString) == equalSignIndex) && - (strncmp (inCommandCommandLineOptionString, p->mCommandString, equalSignIndex) == 0) ; + outFound = p->mCommandString == command ; if (outFound) { p->mValue = optionValue ; } @@ -119,7 +121,7 @@ setUIntOptionForCommandString (const char * inCommandCommandLineOptionString, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void C_UIntCommandLineOption::printUsageOfUIntOptions (void) { C_UIntCommandLineOption * p = gFirstIntOption ; @@ -128,43 +130,48 @@ void C_UIntCommandLineOption::printUsageOfUIntOptions (void) { if (c != '\0') { printf (" [-%c=number]", c) ; } - const char * s = p->mCommandString ; - if (s [0] != 0) { - printf (" [--%s=number]", s) ; + if (p->mCommandString.length () > 0) { + printf (" [--%s=number]", p->mCommandString.cString ()) ; } p = p->mNext ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void C_UIntCommandLineOption::printUIntOptions (void) { C_UIntCommandLineOption * p = gFirstIntOption ; while (p != nullptr) { if (p->mCommandChar != '\0') { - co.setForeColor (kBlueForeColor) ; - co.setTextAttribute (kBoldTextAttribute) ; - co << "-" << cStringWithCharacter (p->mCommandChar) << "=number" ; - co.setTextAttribute (kAllAttributesOff) ; - co << "\n" ; + gCout.setForeColor (kBlueForeColor) ; + gCout.setTextAttribute (kBoldTextAttribute) ; + gCout.appendCString ("-") ; + gCout.appendASCIIChar (p->mCommandChar) ; + 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" ; + 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 () ; } - co << " " << p->mComment << " (default value: " - << cStringWithUnsigned (p->mDefaultValue) - << ")\n" ; + gCout.appendCString (" ") ; + gCout.appendString (p->mComment) ; + gCout.appendCString (" (default value: ") ; + gCout.appendUnsigned (p->mDefaultValue) ; + gCout.appendCString (")\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) ; @@ -173,10 +180,10 @@ void C_UIntCommandLineOption::getUIntOptionNameList (TC_UniqueArray & } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -utf32 C_UIntCommandLineOption::getUIntOptionInvocationLetter (const C_String & inDomainName, - const C_String & inIdentifier) { +utf32 C_UIntCommandLineOption::getUIntOptionInvocationLetter (const String & inDomainName, + const String & inIdentifier) { utf32 result = TO_UNICODE (0) ; C_UIntCommandLineOption * p = gFirstIntOption ; bool found = false ; @@ -188,11 +195,11 @@ utf32 C_UIntCommandLineOption::getUIntOptionInvocationLetter (const C_String & i return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_String C_UIntCommandLineOption::getUIntOptionInvocationString (const C_String & inDomainName, - const C_String & inIdentifier) { - C_String result ; +String C_UIntCommandLineOption::getUIntOptionInvocationString (const String & inDomainName, + const String & inIdentifier) { + String result ; C_UIntCommandLineOption * p = gFirstIntOption ; bool found = false ; while ((p != nullptr) && not found) { @@ -203,11 +210,11 @@ C_String C_UIntCommandLineOption::getUIntOptionInvocationString (const C_String return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_String C_UIntCommandLineOption::getUIntOptionCommentString (const C_String & inDomainName, - const C_String & inIdentifier) { - C_String result ; +String C_UIntCommandLineOption::getUIntOptionCommentString (const String & inDomainName, + const String & inIdentifier) { + String result ; C_UIntCommandLineOption * p = gFirstIntOption ; bool found = false ; while ((p != nullptr) && not found) { @@ -218,10 +225,10 @@ C_String C_UIntCommandLineOption::getUIntOptionCommentString (const C_String & i return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -uint32_t C_UIntCommandLineOption::getUIntOptionValue (const C_String & inDomainName, - const C_String & inIdentifier) { +uint32_t C_UIntCommandLineOption::getUIntOptionValue (const String & inDomainName, + const String & inIdentifier) { uint32_t result = 0 ; C_UIntCommandLineOption * p = gFirstIntOption ; bool found = false ; @@ -233,10 +240,10 @@ uint32_t C_UIntCommandLineOption::getUIntOptionValue (const C_String & inDomainN return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void C_UIntCommandLineOption::setUIntOptionValue (const C_String & inDomainName, - const C_String & inIdentifier, +void C_UIntCommandLineOption::setUIntOptionValue (const String & inDomainName, + const String & inIdentifier, const uint32_t inValue) { C_UIntCommandLineOption * p = gFirstIntOption ; bool found = false ; @@ -249,4 +256,4 @@ void C_UIntCommandLineOption::setUIntOptionValue (const C_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 3a71234b3..d79b13ee3 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, ..., 2023 Pierre Molinaro. +// Copyright (C) 2009, ..., 2024 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 "utilities/M_machine.h" -#include "strings/C_String.h" +#include "M_machine.h" +#include "String-class.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class C_UIntCommandLineOption final : public C_CommandLineOption { //--- Constructor - public: C_UIntCommandLineOption (const char * inDomainName, - const char * inIdentifier, - const char inChar, - const char * inString, - const char * inComment, - const uint32_t inDefaultValue) ; + public: C_UIntCommandLineOption (const String & inDomainName, + const String & inIdentifier, + const char inChar, + const String & inString, + const String & 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 char * inCommandCommandLineOptionString, - bool & outFound, - bool & outCommandLineOptionStringIsValid) ; - public: static void setUIntOptionForCommandString (const char * inCommandCommandLineOptionString, - bool & outFound, - bool & outCommandLineOptionStringIsValid) ; + 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 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 C_String & inDomainName, - const C_String & inIdentifier) ; + public: static utf32 getUIntOptionInvocationLetter (const String & inDomainName, + const String & inIdentifier) ; - public: static C_String getUIntOptionInvocationString (const C_String & inDomainName, - const C_String & inIdentifier) ; + public: static String getUIntOptionInvocationString (const String & inDomainName, + const String & inIdentifier) ; - public: static C_String getUIntOptionCommentString (const C_String & inDomainName, - const C_String & inIdentifier) ; + public: static String getUIntOptionCommentString (const String & inDomainName, + const String & inIdentifier) ; - public: static uint32_t getUIntOptionValue (const C_String & inDomainName, - const C_String & inIdentifier) ; + public: static uint32_t getUIntOptionValue (const String & inDomainName, + const String & inIdentifier) ; - public: static void setUIntOptionValue (const C_String & inDomainName, - const C_String & inIdentifier, + public: static void setUIntOptionValue (const String & inDomainName, + const 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 e87ca063a..1dcda86a3 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 "command_line_interface/C_builtin_CLI_Options.h" +#include "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 1d340d3c3..f5eb4fdd7 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 "command_line_interface/C_BoolCommandLineOption.h" -#include "command_line_interface/C_StringCommandLineOption.h" +#include "C_BoolCommandLineOption.h" +#include "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 e4773b829..d3006ab25 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, ..., 2017 Pierre Molinaro. +// Copyright (C) 2001, ..., 2024 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 "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 "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 #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 "3.6.3" ; + return "GALGASBETAVERSION" ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // print_usage // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- static void print_usage (int argv, const char * argc []) { - co.setForeColor (kMagentaForeColor) ; - co.setTextAttribute (kBoldTextAttribute) ; - co << "Usage:\n" ; - co.setTextAttribute (kAllAttributesOff) ; + gCout.setForeColor (kMagentaForeColor) ; + gCout.setTextAttribute (kBoldTextAttribute) ; + gCout.appendCString ("Usage:\n") ; + gCout.setTextAttribute (kAllAttributesOff) ; if (argv > 0) { - co << argc [0] ; + gCout.appendCString (argc [0]) ; } C_BoolCommandLineOption::printUsageOfBoolOptions () ; C_UIntCommandLineOption::printUsageOfUIntOptions () ; C_StringCommandLineOption::printUsageOfStringOptions () ; C_StringListCommandLineOption::printUsageOfStringOptions () ; - co << " file...\n" ; + gCout.appendCString (" file...\n") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // print_options // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- static void print_option_list (void) { printf ("*** Available command line options:\n") ; @@ -99,193 +99,203 @@ static void print_option_list (void) { C_StringListCommandLineOption::printStringOptions () ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // print_help // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static void print_help (int argv, - const char * argc [], - const char * inExtensions [], - const char * inHelpMessages [], +static void print_help (const int argv, + const char* * argc, + const char* * inExtensionArray, + const char* * inHelpMessageArray, void print_tool_help_message (void)) { #ifdef __LP64__ - co << "Compiled in 64 bits mode" ; + gCout.appendCString ("Compiled in 64 bits mode") ; #else - co << "Compiled in 32 bits mode" ; + gCout.appendCString ("Compiled in 32 bits mode") ; #endif #ifndef DO_NOT_GENERATE_CHECKINGS - co << " (with debug code)" ; + gCout.appendCString (" (with debug code)") ; #endif - co << ".\n" ; + gCout.appendCString (".\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) ; - 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" ; + 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") ; C_BoolCommandLineOption::printBoolOptions () ; C_UIntCommandLineOption::printUIntOptions () ; C_StringCommandLineOption::printStringOptions () ; C_StringListCommandLineOption::printStringOptions () ; int32_t extensionIndex = 0 ; - while (inExtensions [extensionIndex] != nullptr) { + while (inExtensionArray [extensionIndex] != nullptr) { extensionIndex ++ ; } - co.setForeColor (kMagentaForeColor) ; - co.setTextAttribute (kBoldTextAttribute) ; - co << "Handled extension" << ((extensionIndex > 1) ? "s" : "") << ":\n" ; - co.setTextAttribute (kAllAttributesOff) ; + gCout.setForeColor (kMagentaForeColor) ; + gCout.setTextAttribute (kBoldTextAttribute) ; + gCout.appendCString ("Handled extension") ; + gCout.appendCString ((extensionIndex > 1) ? "s" : "") ; + gCout.appendCString (":\n") ; + gCout.setTextAttribute (kAllAttributesOff) ; extensionIndex = 0 ; - 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) ; + 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) ; const uint32_t kDisplayLength = 20 ; if (extensionLength < kDisplayLength) { for (uint32_t i=extensionLength ; i 2) { + }else if (optionLength > 1) { + const String command = inCommand.subStringFromIndex (1) ; //--- Search for an UInt option bool correctFormat = false ; - C_UIntCommandLineOption::setUIntOptionForCommandChar (& inCommand [1], outOk, correctFormat) ; + C_UIntCommandLineOption::setUIntOptionForCommandChar (command, outOk, correctFormat) ; //--- Not found : search for a string option if (! outOk) { - C_StringCommandLineOption::setStringOptionForCommandChar (& inCommand [1], outOk, correctFormat) ; + C_StringCommandLineOption::setStringOptionForCommandChar (command, outOk, correctFormat) ; } if (! outOk) { - C_StringListCommandLineOption::setStringListOptionForCommandChar (& inCommand [1], outOk, correctFormat) ; + C_StringListCommandLineOption::setStringListOptionForCommandChar (command, outOk, correctFormat) ; } if (! outOk) { - co << "Error : unknown '" << inCommand << "' command line option.\n" ; + gCout.appendCString ("Error : unknown '-") ; + gCout.appendString (inCommand) ; + gCout.appendCString ("' command line option.\n") ; }else if (! correctFormat) { outOk = false ; - co << "Error : incorrect format for '" - << inCommand - << "' command line option (correct format is : '-" - << inCommand - << "=value').\n" ; + gCout.appendCString ("Error : incorrect format for '-") ; + gCout.appendString (inCommand) ; + gCout.appendCString ("' command line option (correct format is : '-") ; + gCout.appendString (inCommand) ; + gCout.appendCString ("=value').\n") ; } }else{ - co << "Error : unknown '" << inCommand << "' command line option.\n" ; + gCout.appendCString ("Error : unknown '-") ; + gCout.appendString (inCommand) ; + gCout.appendCString ("' command line option.\n") ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Command line option beginning with '--' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static void option_beginning_with_double_minus_sign (const char * inCommand, +static void option_beginning_with_double_minus_sign (const String & inCommand, bool & outFound) { outFound = false ; bool correctFormat = true ; //--- Look for a boolean argument - C_BoolCommandLineOption::setBoolOptionForCommandString (& inCommand [2], outFound, gCocoaOutput) ; + C_BoolCommandLineOption::setBoolOptionForCommandString (inCommand, outFound, gCocoaOutput) ; //--- If not found, look for a Uint option if (! outFound) { - C_UIntCommandLineOption::setUIntOptionForCommandString (& inCommand [2], outFound, correctFormat) ; + C_UIntCommandLineOption::setUIntOptionForCommandString (inCommand, outFound, correctFormat) ; } //--- If not found, look for a String option if (! outFound) { - C_StringCommandLineOption::setStringOptionForCommandString (& inCommand [2], outFound, correctFormat) ; + C_StringCommandLineOption::setStringOptionForCommandString (inCommand, outFound, correctFormat) ; } if (! outFound) { - C_StringListCommandLineOption::setStringListOptionForCommandString (& inCommand [2], outFound, correctFormat) ; + C_StringListCommandLineOption::setStringListOptionForCommandString (inCommand, outFound, correctFormat) ; } if (! outFound) { - co << "Error : unknown '" << inCommand << "' command line option.\n" ; + gCout.appendCString ("Error : unknown '--") ; + gCout.appendString (inCommand) ; + gCout.appendCString ("' command line option.\n") ; }else if (! correctFormat) { outFound = false ; - co << "Error : incorrect format for '" << inCommand << "' command line option.\n" ; + gCout.appendCString ("Error : incorrect format for '--") ; + gCout.appendString (inCommand) ; + gCout.appendCString ("' command line option.\n") ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // analyze_one_option // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static void analyze_one_option (const char * inCommand, - TC_UniqueArray & outSourceFileArray, +static void analyze_one_option (const String & inCommand, + TC_UniqueArray & outSourceFileArray, bool & outOk) { - const int32_t optionLength = (int32_t) (strlen (inCommand) & UINT32_MAX) ; + const int32_t optionLength = inCommand.length () ; bool found = false ; //--- Begin by a '-' character ? - if ((optionLength > 1) && (inCommand [0] == '-')) { + if ((optionLength > 1) && (inCommand.charAtIndex (0 COMMA_HERE) == '-')) { //--- Second character is also a '-' ? - if ((optionLength > 2) && (inCommand [1] == '-')) { + if ((optionLength > 2) && (inCommand.charAtIndex (1 COMMA_HERE) == '-')) { //--- two minus signs '--' at beginning - option_beginning_with_double_minus_sign (inCommand, found) ; + const String command = inCommand.subStringFromIndex (2) ; + option_beginning_with_double_minus_sign (command, found) ; }else{ //--- Single '-' at beginning - option_beginning_with_single_minus_sign (inCommand, found) ; + const String command = inCommand.subStringFromIndex (1) ; + option_beginning_with_single_minus_sign (command, found) ; } } //--- Look for a file if (! found) { - if (inCommand [0] != '-') { - C_String fileName ; + if (UNICODE_VALUE (inCommand.charAtIndex (0 COMMA_HERE)) != '-') { + String fileName ; #if COMPILE_FOR_WINDOWS == 1 - const int32_t fileLength = (int32_t) strlen (inCommand) ; + const int32_t fileLength = inCommand.length () ; int32_t firstChar = 0 ; if ((fileLength > 3) - && isalpha (inCommand [0]) - && (inCommand [1] == ':') - && (inCommand [2] == '\\')) { - fileName << "/" ; - fileName.appendUnicodeCharacter (TO_UNICODE (inCommand [0]) COMMA_HERE) ; - fileName << "/" ; + && 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 ("/") ; firstChar = 3 ; } for (int32_t i=firstChar ; i & outSourceFileArray, - const char * inExtensions []) { + static void getSourceFileFromWin32OpenDialog (TC_UniqueArray & outSourceFileArray, + const char * * inExtensionArray) { char szFile[260] ; // buffer for file name OPENFILENAME ofn ; //--- Initialize OPENFILENAME @@ -313,12 +323,12 @@ static void analyze_one_option (const char * inCommand, ofn.nMaxFile = sizeof (szFile) ; char filterString [1000] = ""; int32_t filterIndex = 0 ; - while (inExtensions [filterIndex] != nullptr) { + while (inExtensionArray [filterIndex] != nullptr) { if (filterIndex != 0) { strcat (filterString, ";") ; } strcat (filterString, "*.") ; - strcat (filterString, inExtensions [filterIndex]) ; + strcat (filterString, inExtensionArray [filterIndex]) ; filterIndex ++ ; } char filter [1000] ; @@ -333,20 +343,20 @@ static void analyze_one_option (const char * inCommand, ofn.lpstrTitle = nullptr ; ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST | OFN_HIDEREADONLY ; if (GetOpenFileName (& ofn)) { - C_String fileName ; + 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 << "/" ; - fileName.appendUnicodeCharacter (TO_UNICODE (szFile [0]) COMMA_HERE) ; - fileName << "/" ; + fileName.appendCString ("/") ; + fileName.appendChar (TO_UNICODE (szFile [0])) ; + fileName.appendCString ("/") ; firstChar = 3 ; } for (int32_t i=firstChar ; i & outSourceFileArray, - const char * inExtensions [], - const char * inHelpMessages [], + const char * * argc, + TC_UniqueArray & outSourceFileArray, + const char* * inExtensionArray, + const char* * inHelpMessageArray, void print_tool_help_message (void)) { //--- Analyze command bool errorFound = false ; - 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) ; -C_String commandLineArgumentAtIndex (const uint32_t inIndex) ; +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 166068ee8..4971589ea 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 "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 "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 -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- static uint32_t gArgc = 0 ; static const char ** gArgv ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- uint32_t commandLineArgumentCount (void) { return gArgc ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_String commandLineArgumentAtIndex (const uint32_t inIndex) { +String commandLineArgumentAtIndex (const uint32_t inIndex) { const char * result = "" ; if (inIndex < gArgc) { result = gArgv [inIndex] ; @@ -57,23 +57,23 @@ C_String commandLineArgumentAtIndex (const uint32_t inIndex) { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- int main (int argc, const char * argv []) { gArgc = (uint32_t) argc ; gArgv = argv ; - C_DateTime::enterCurrentToolModificationTime (argv [0]) ; + DateTime::enterCurrentToolModificationTime (argv [0]) ; int returnCode = 0 ; // No error //--- if (returnCode == 0) { try{ - C_PrologueEpilogue::runPrologueActions () ; + PrologueEpilogue::runPrologueActions () ; returnCode = mainForLIBPM (argc, argv) ; - C_PrologueEpilogue::runEpilogueActions () ; + PrologueEpilogue::runEpilogueActions () ; C_BDD::freeBDDStataStructures () ; #ifndef DO_NOT_GENERATE_CHECKINGS acStrongPtr_class::printExistingClassInstances () ; - C_SharedObject::checkAllObjectsHaveBeenReleased () ; + 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 () ; - C_SharedObject::checkAllObjectsHaveBeenReleased () ; + SharedObject::checkAllObjectsHaveBeenReleased () ; #endif returnCode = 1 ; // Error code }catch (char * inExceptionString) { printf ("*** Exception: '%s' ***\n", inExceptionString) ; #ifndef DO_NOT_GENERATE_CHECKINGS acStrongPtr_class::printExistingClassInstances () ; - C_SharedObject::checkAllObjectsHaveBeenReleased () ; + SharedObject::checkAllObjectsHaveBeenReleased () ; #endif returnCode = 1 ; // Error code }catch (...) { F_default_display_unknown_exception () ; #ifndef DO_NOT_GENERATE_CHECKINGS acStrongPtr_class::printExistingClassInstances () ; - C_SharedObject::checkAllObjectsHaveBeenReleased () ; + 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 047633447..0485df6e5 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 deleted file mode 100644 index 30251abce..000000000 --- a/goil/build/libpm/files/AC_FileHandle.cpp +++ /dev/null @@ -1,43 +0,0 @@ -//---------------------------------------------------------------------------------------------------------------------- -// -// '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.cpp b/goil/build/libpm/files/AbstractFileHandle.cpp new file mode 100644 index 000000000..aba5892de --- /dev/null +++ b/goil/build/libpm/files/AbstractFileHandle.cpp @@ -0,0 +1,90 @@ +//-------------------------------------------------------------------------------------------------- +// +// '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/AC_FileHandle.h b/goil/build/libpm/files/AbstractFileHandle.h similarity index 50% rename from goil/build/libpm/files/AC_FileHandle.h rename to goil/build/libpm/files/AbstractFileHandle.h index 1ce7a7e42..6c9293373 100644 --- a/goil/build/libpm/files/AC_FileHandle.h +++ b/goil/build/libpm/files/AbstractFileHandle.h @@ -1,10 +1,10 @@ -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -// 'AC_FileHandle' : an abstract class for handling files handles +// 'AbstractFileHandle' : an abstract class for handling files handles // // This file is part of libpm library // -// Copyright (C) 2012, ..., 2012 Pierre Molinaro. +// Copyright (C) 2012, ..., 2024 Pierre Molinaro. // // e-mail : pierre@pcmolinaro.name // @@ -16,36 +16,43 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #pragma once -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -#include "files/C_FileManager.h" +#include "FileManager.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -class AC_FileHandle { -//--- - protected: FILE * mFilePtr ; - protected: C_String mFilePath ; +class AbstractFileHandle { +//--- Private attribute + private: FILE * mFilePtr ; + private: String mFilePath ; //--- Protected constructor - protected: AC_FileHandle (const C_String & inFilePath, - const char * inMode) ; + protected: AbstractFileHandle (const String & inFilePath, + const char * inMode) ; //--- No copy - private: AC_FileHandle (const AC_FileHandle &) ; - private: AC_FileHandle & operator = (const AC_FileHandle &) ; + private: AbstractFileHandle (const AbstractFileHandle &) = delete ; + private: AbstractFileHandle & operator = (const AbstractFileHandle &) = delete ; //--- Virtual destructor - public: virtual ~ AC_FileHandle (void) ; + public: virtual ~ AbstractFileHandle (void) ; + + public: virtual bool close (void) ; + public: virtual void flush (void) ; //--- public: inline bool isOpened (void) const { return nullptr != mFilePtr ; } - public: inline C_String filePath (void) const { return mFilePath ; } + 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) ; } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/files/BinaryFileWrite.cpp b/goil/build/libpm/files/BinaryFileWrite.cpp new file mode 100644 index 000000000..3942f81be --- /dev/null +++ b/goil/build/libpm/files/BinaryFileWrite.cpp @@ -0,0 +1,37 @@ +//-------------------------------------------------------------------------------------------------- +// +// '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.h b/goil/build/libpm/files/BinaryFileWrite.h similarity index 52% rename from goil/build/libpm/files/C_BinaryFileWrite.h rename to goil/build/libpm/files/BinaryFileWrite.h index 3ae29b607..5dc1bb873 100644 --- a/goil/build/libpm/files/C_BinaryFileWrite.h +++ b/goil/build/libpm/files/BinaryFileWrite.h @@ -1,6 +1,6 @@ -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -// 'C_BinaryFileWrite' : a class for stream writing binary files +// 'BinaryFileWrite' : a class for stream writing binary files // // This file is part of libpm library // @@ -16,44 +16,33 @@ // 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 "files/AC_FileHandle.h" +#include "String-class.h" +#include "AbstractFileHandle.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #include -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -class C_BinaryFileWrite final : public AC_FileHandle { +class BinaryFileWrite final : public AbstractFileHandle { //--- 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: C_BinaryFileWrite (const C_String & inFilePath) ; - -//--- Destructor closes the file - public: virtual ~ C_BinaryFileWrite (void) ; + public: BinaryFileWrite (const String & inFilePath) ; //--- No copy - private: C_BinaryFileWrite (C_BinaryFileWrite &) ; - private: C_BinaryFileWrite & operator = (C_BinaryFileWrite &) ; + private: BinaryFileWrite (BinaryFileWrite &) = delete ; + private: BinaryFileWrite & operator = (BinaryFileWrite &) = delete ; //--- - 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) ; + public: void appendData (const U8Data & inData) ; } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/files/C_BinaryFileWrite.cpp b/goil/build/libpm/files/C_BinaryFileWrite.cpp deleted file mode 100644 index e05fbf3b1..000000000 --- a/goil/build/libpm/files/C_BinaryFileWrite.cpp +++ /dev/null @@ -1,70 +0,0 @@ -//---------------------------------------------------------------------------------------------------------------------- -// -// '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/C_FileManager.h b/goil/build/libpm/files/C_FileManager.h deleted file mode 100644 index 1d0e1fd82..000000000 --- a/goil/build/libpm/files/C_FileManager.h +++ /dev/null @@ -1,123 +0,0 @@ -//---------------------------------------------------------------------------------------------------------------------- -// -// '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 deleted file mode 100644 index cacb57605..000000000 --- a/goil/build/libpm/files/C_HTML_FileWrite.cpp +++ /dev/null @@ -1,149 +0,0 @@ -//---------------------------------------------------------------------------------------------------------------------- -// -// '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/C_TextFileWrite.cpp b/goil/build/libpm/files/C_TextFileWrite.cpp deleted file mode 100644 index 0d8ee7ee8..000000000 --- a/goil/build/libpm/files/C_TextFileWrite.cpp +++ /dev/null @@ -1,118 +0,0 @@ -//---------------------------------------------------------------------------------------------------------------------- -// -// '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 deleted file mode 100644 index da336fe50..000000000 --- a/goil/build/libpm/files/C_TextFileWrite.h +++ /dev/null @@ -1,70 +0,0 @@ -//---------------------------------------------------------------------------------------------------------------------- -// -// '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/C_FileManager.cpp b/goil/build/libpm/files/FileManager.cpp similarity index 62% rename from goil/build/libpm/files/C_FileManager.cpp rename to goil/build/libpm/files/FileManager.cpp index c105e6175..2b42654f4 100644 --- a/goil/build/libpm/files/C_FileManager.cpp +++ b/goil/build/libpm/files/FileManager.cpp @@ -1,6 +1,6 @@ -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -// 'C_FileManager' : a class for handling files, independantly from platform +// '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 "files/C_FileManager.h" -#include "files/C_TextFileWrite.h" -#include "files/C_BinaryFileWrite.h" -#include "strings/unicode_character_base.h" +#include "FileManager.h" +#include "TextFileWrite.h" +#include "BinaryFileWrite.h" +#include "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 - C_String C_FileManager::unixPathWithNativePath (const C_String & inFilePath) { + String FileManager::unixPathWithNativePath (const String & inFilePath) { return inFilePath ; } #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- //--- On Windows: translate #if COMPILE_FOR_WINDOWS == 1 - C_String C_FileManager::unixPathWithNativePath (const C_String & inFilePath) { - C_String result ; + String FileManager::unixPathWithNativePath (const String & inFilePath) { + String result ; const int32_t pathLength = inFilePath.length () ; int32_t firstChar = 0 ; if ((pathLength > 3) - && 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 << "/" ; + && 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 ("/") ; firstChar = 3 ; } for (int32_t i=firstChar ; i 3) - && (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 << ":\\" ; + && (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 (":\\") ; 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 C_Data & 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 = C_String::parseUTF8 (inDataString, 3, outResultString) ; + ok = 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 C_Data & inDataString, return ok ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static bool sniffUTFEncodingAndParse (const C_Data & inDataString, +static bool sniffUTFEncodingAndParse (const U8Data & inDataString, PMTextFileEncoding & outTextFileEncoding, - C_String & outResultString) { + String & outResultString) { //--- Try UTF-8 - bool ok = C_String::parseUTF8 (inDataString, 0, outResultString) ; + bool ok = String::parseUTF8 (inDataString, 0, outResultString) ; if (ok) { outTextFileEncoding = kUTF_8_FileEncoding ; #ifdef PRINT_SNIFF_ENCODING @@ -425,7 +425,7 @@ static bool sniffUTFEncodingAndParse (const C_Data & 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 C_Data & inDataString, +static bool parseWithEncoding (const U8Data & inDataString, const PMStringEncoding inTextFileEncoding, - C_String & outString) { + String & outString) { bool foundCR = false ; bool ok = true ; int32_t idx = 0 ; @@ -470,32 +470,32 @@ static bool parseWithEncoding (const C_Data & inDataString, const uint8_t c = inDataString (idx COMMA_HERE) ; if (c == 0x0A) { // LF if (! foundCR) { - outString.appendUnicodeCharacter (TO_UNICODE ('\n') COMMA_HERE) ; + outString.appendChar (TO_UNICODE ('\n')) ; } foundCR = false ; }else if (c == 0x0D) { // CR - outString.appendUnicodeCharacter (TO_UNICODE ('\n') COMMA_HERE) ; + outString.appendChar (TO_UNICODE ('\n')) ; foundCR = true ; }else if ((c & 0x80) == 0) { // ASCII Character - outString.appendUnicodeCharacter (TO_UNICODE (c) COMMA_HERE) ; + outString.appendChar (TO_UNICODE (c)) ; foundCR = false ; }else{ const utf32 uc = unicodeCharacterForSingleByteCharacter ((char) c, inTextFileEncoding) ; - outString.appendUnicodeCharacter (uc COMMA_HERE) ; + outString.appendChar (uc) ; foundCR = false ; } } if (foundCR) { - outString.appendUnicodeCharacter (TO_UNICODE ('\n') COMMA_HERE) ; + outString.appendChar (TO_UNICODE ('\n')) ; } return ok ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static bool searchForEncodingTagAndParse (const C_Data & inDataString, +static bool searchForEncodingTagAndParse (const U8Data & inDataString, PMTextFileEncoding & outTextFileEncoding, - C_String & outResultString) { + String & outResultString) { //--- Copy first line char firstLine [1000] ; int32_t index = 0 ; @@ -516,7 +516,7 @@ static bool searchForEncodingTagAndParse (const C_Data & inDataString, //--- Search for Tag bool tagFound = false ; if (strstr (firstLine, "UTF-8") != nullptr) { - ok = C_String::parseUTF8 (inDataString, 0, outResultString) ; + ok = String::parseUTF8 (inDataString, 0, outResultString) ; outTextFileEncoding = kUTF_8_FileEncoding ; tagFound = true ; #ifdef PRINT_SNIFF_ENCODING @@ -536,10 +536,10 @@ static bool searchForEncodingTagAndParse (const C_Data & inDataString, return ok ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static void parseASCIIWithReplacementCharacter (const C_Data & inDataString, - C_String & outString) { +static void parseASCIIWithReplacementCharacter (const U8Data & inDataString, + String & outString) { bool foundCR = false ; int32_t index = 0 ; while (index < inDataString.count ()) { @@ -547,38 +547,38 @@ static void parseASCIIWithReplacementCharacter (const C_Data & inDataString, index ++ ; if (c == 0x0A) { // LF if (! foundCR) { - outString.appendUnicodeCharacter (TO_UNICODE ('\n') COMMA_HERE) ; + outString.appendChar (TO_UNICODE ('\n')) ; } foundCR = false ; }else if (c == 0x0D) { // CR - outString.appendUnicodeCharacter (TO_UNICODE ('\n') COMMA_HERE) ; + outString.appendChar (TO_UNICODE ('\n')) ; foundCR = true ; }else if ((c != 0) && (c & 0x80) == 0) { // ASCII Character (not NUL) - outString.appendUnicodeCharacter (TO_UNICODE (c) COMMA_HERE) ; + outString.appendChar (TO_UNICODE (c)) ; foundCR = false ; }else{ - outString.appendUnicodeCharacter (UNICODE_REPLACEMENT_CHARACTER COMMA_HERE) ; + outString.appendChar (UNICODE_REPLACEMENT_CHARACTER) ; foundCR = false ; } } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_String C_FileManager::stringWithContentOfFile (const C_String & inFilePath, - PMTextFileEncoding & outTextFileEncoding, - bool & outOk) { +String FileManager::stringWithContentOfFile (const String & inFilePath, + PMTextFileEncoding & outTextFileEncoding, + bool & outOk) { #ifdef PRINT_SNIFF_ENCODING - printf ("** SNIFF ENCODING for '%s': ", inFilePath.cString (HERE)) ; + printf ("** SNIFF ENCODING for '%s': ", inFilePath.cString ()) ; #endif //--- Read file - C_Data stringData ; + U8Data stringData ; outOk = binaryDataWithContentOfFile (inFilePath, stringData) ; const int32_t length = stringData.count () ; -//--- Assign C string to C_String - C_String result_string ; +//--- Assign C string to String + String result_string ; if (outOk) { - result_string.setCapacity ((uint32_t) (length + 2)) ; + result_string.setCapacity (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 @@ C_String C_FileManager::stringWithContentOfFile (const C_String & inFilePath, return result_string ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_String C_FileManager::stringWithContentOfFile (const C_String & inFilePath) { +String FileManager::stringWithContentOfFile (const String & inFilePath) { bool ok = false ; PMTextFileEncoding textFileEncoding ; - C_String result_string = stringWithContentOfFile (inFilePath, textFileEncoding, ok) ; -//--- Assign C string to C_String + String result_string = stringWithContentOfFile (inFilePath, textFileEncoding, ok) ; +//--- Assign C string to String if (! ok) { - throw C_TextReadException (inFilePath.cString (HERE)) ; + throw C_TextReadException (inFilePath.cString ()) ; } return result_string ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Write to File #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -bool C_FileManager::writeStringToFile (const C_String & inString, - const C_String & inFilePath) { +bool FileManager::writeStringToFile (const String & inString, + const String & inFilePath) { makeDirectoryIfDoesNotExist (inFilePath.stringByDeletingLastPathComponent ()) ; - C_TextFileWrite file (inFilePath) ; + TextFileWrite file (inFilePath) ; bool success = file.isOpened () ; - file << inString ; + file.appendString (inString) ; if (success) { success = file.close () ; } return success ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -bool C_FileManager::writeStringToExecutableFile (const C_String & inString, - const C_String & inFilePath) { +bool FileManager::writeStringToExecutableFile (const String & inString, + const String & inFilePath) { makeDirectoryIfDoesNotExist (inFilePath.stringByDeletingLastPathComponent()) ; - C_TextFileWrite file (inFilePath) ; - file << inString ; + TextFileWrite file (inFilePath) ; + file.appendString (inString) ; bool success = file.isOpened () ; if (success) { success = file.close () ; #if COMPILE_FOR_WINDOWS == 0 struct stat fileStat ; - ::stat (inFilePath.cString (HERE), & fileStat) ; - ::chmod (inFilePath.cString (HERE), fileStat.st_mode | S_IXUSR | S_IXGRP | S_IXOTH) ; + ::stat (inFilePath.cString (), & fileStat) ; + ::chmod (inFilePath.cString (), fileStat.st_mode | S_IXUSR | S_IXGRP | S_IXOTH) ; #endif } return success ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -bool C_FileManager::writeBinaryDataToFile (const C_Data & inBinaryData, - const C_String & inFilePath) { +bool FileManager::writeBinaryDataToFile (const U8Data & inBinaryData, + const String & inFilePath) { makeDirectoryIfDoesNotExist (inFilePath.stringByDeletingLastPathComponent()) ; //--- - C_BinaryFileWrite binaryFile (inFilePath) ; + BinaryFileWrite binaryFile (inFilePath) ; bool success = binaryFile.isOpened () ; binaryFile.appendData (inBinaryData) ; //--- Close file @@ -671,13 +671,13 @@ bool C_FileManager::writeBinaryDataToFile (const C_Data & inBinaryData, return success ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -bool C_FileManager::writeBinaryDataToExecutableFile (const C_Data & inBinaryData, - const C_String & inFilePath) { +bool FileManager::writeBinaryDataToExecutableFile (const U8Data & inBinaryData, + const String & inFilePath) { makeDirectoryIfDoesNotExist (inFilePath.stringByDeletingLastPathComponent()) ; //--- - C_BinaryFileWrite binaryFile (inFilePath) ; + BinaryFileWrite binaryFile (inFilePath) ; bool success = binaryFile.isOpened () ; binaryFile.appendData (inBinaryData) ; //--- Close file @@ -685,72 +685,72 @@ bool C_FileManager::writeBinaryDataToExecutableFile (const C_Data & inBinaryData success = binaryFile.close () ; #if COMPILE_FOR_WINDOWS == 0 struct stat fileStat ; - ::stat (inFilePath.cString (HERE), & fileStat) ; - ::chmod (inFilePath.cString (HERE), fileStat.st_mode | S_IXUSR | S_IXGRP | S_IXOTH) ; + ::stat (inFilePath.cString (), & fileStat) ; + ::chmod (inFilePath.cString (), fileStat.st_mode | S_IXUSR | S_IXGRP | S_IXOTH) ; #endif } //--- return success ; } - //---------------------------------------------------------------------------------------------------------------------- + //-------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Make File Executable #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -bool C_FileManager::makeFileExecutable (const C_String & inFilePath) { +bool FileManager::makeFileExecutable (const String & inFilePath) { const bool result = fileExistsAtPath (inFilePath) ; #if COMPILE_FOR_WINDOWS == 0 if (result) { struct stat fileStat ; - ::stat (inFilePath.cString (HERE), & fileStat) ; - ::chmod (inFilePath.cString (HERE), fileStat.st_mode | S_IXUSR | S_IXGRP | S_IXOTH) ; + ::stat (inFilePath.cString (), & fileStat) ; + ::chmod (inFilePath.cString (), fileStat.st_mode | S_IXUSR | S_IXGRP | S_IXOTH) ; } #endif return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Directory Handling #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -bool C_FileManager::directoryExists (const C_String & inDirectoryPath) { +bool FileManager::directoryExists (const String & inDirectoryPath) { return directoryExistsWithNativePath (nativePathWithUnixPath (inDirectoryPath)) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -bool C_FileManager::directoryExistsWithNativePath (const C_String & inDirectoryNativePath) { +bool FileManager::directoryExistsWithNativePath (const String & inDirectoryNativePath) { #if COMPILE_FOR_WINDOWS == 1 const char dirSep = '\\' ; #else const char dirSep = '/' ; #endif - C_String directoryNativePath = inDirectoryNativePath ; - while ((directoryNativePath.length () > 0) && (directoryNativePath.lastCharacter(HERE) == dirSep)) { + String directoryNativePath = inDirectoryNativePath ; + while ((directoryNativePath.length () > 0) && (directoryNativePath.lastChar(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 (HERE), & fileProperties) ; + const int err = ::stat (directoryNativePath.cString (), & fileProperties) ; exists = (err == 0) && ((fileProperties.st_mode & S_IFDIR) != 0) ; } //--- Return result return exists ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_String C_FileManager::currentDirectory (void) { +String 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 @@ C_String C_FileManager::currentDirectory (void) { } } #endif - const C_String result (cwd) ; + const String result (cwd) ; ::free (cwd) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -bool C_FileManager::makeDirectoryIfDoesNotExist (const C_String & inDirectoryPath) { - const C_String directoryPath = absolutePathFromCurrentDirectory (inDirectoryPath) ; +bool FileManager::makeDirectoryIfDoesNotExist (const String & inDirectoryPath) { + const 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 C_String nativePath = nativePathWithUnixPath (directoryPath) ; + const String nativePath = nativePathWithUnixPath (directoryPath) ; //--- Create directory (mkdir returns 0 if creation is ok) #if COMPILE_FOR_WINDOWS == 1 - const int result = ::mkdir (nativePath.cString (HERE)) ; + const int result = ::mkdir (nativePath.cString ()) ; #else - const int result = ::mkdir (nativePath.cString (HERE), 0770) ; + const int result = ::mkdir (nativePath.cString (), 0770) ; #endif ok = result == 0 ; } @@ -793,36 +793,36 @@ bool C_FileManager::makeDirectoryIfDoesNotExist (const C_String & inDirectoryPat return ok ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +String FileManager::removeDirectory (const String & inDirectoryPath) { + String errorString ; + const String nativePath = nativePathWithUnixPath (inDirectoryPath) ; + const int result = rmdir (nativePath.cString ()) ; if (result < 0) { - errorString << ::strerror (errno) ; + errorString.appendString (::strerror (errno)) ; } return errorString ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Path Handling #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -bool C_FileManager::isAbsolutePath (const C_String & inPath) { - return (inPath.length () > 0) && (UNICODE_VALUE (inPath (0 COMMA_HERE)) == '/') ; +bool FileManager::isAbsolutePath (const String & inPath) { + return (inPath.length () > 0) && (UNICODE_VALUE (inPath.charAtIndex (0 COMMA_HERE)) == '/') ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_String C_FileManager::absolutePathFromCurrentDirectory (const C_String & inPath) { +String FileManager::absolutePathFromCurrentDirectory (const String & inPath) { const int32_t stringLength = inPath.length () ; - C_String result ; - if ((stringLength > 0) && (UNICODE_VALUE (inPath (0 COMMA_HERE)) == '/')) { + String result ; + if ((stringLength > 0) && (UNICODE_VALUE (inPath.charAtIndex (0 COMMA_HERE)) == '/')) { result = inPath ; }else{ result = currentDirectory () + "/" + inPath ; @@ -830,36 +830,36 @@ C_String C_FileManager::absolutePathFromCurrentDirectory (const C_String & inPat 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 -C_String C_FileManager::absolutePathFromPath (const C_String & inPath, - const C_String & inFromPath) { +String FileManager::absolutePathFromPath (const String & inPath, + const String & inFromPath) { const int32_t pathLength = inPath.length () ; - C_String result ; - if ((pathLength > 0) && (UNICODE_VALUE (inPath (0 COMMA_HERE)) == '/')) { + String result ; + if ((pathLength > 0) && (UNICODE_VALUE (inPath.charAtIndex (0 COMMA_HERE)) == '/')) { result = inPath ; }else{ result = absolutePathFromCurrentDirectory (inFromPath) ; - if (UNICODE_VALUE (result.lastCharacter (HERE)) != '/') { - result.appendUnicodeCharacter (TO_UNICODE ('/') COMMA_HERE) ; + if (UNICODE_VALUE (result.lastChar (HERE)) != '/') { + result.appendChar (TO_UNICODE ('/')) ; } result.appendString (inPath) ; } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_String C_FileManager::relativePathFromPath (const C_String & inPath, - const C_String & inFromPath) { - TC_UniqueArray absoluteReferencePathComponents ; +String FileManager::relativePathFromPath (const String & inPath, + const String & inFromPath) { + TC_UniqueArray absoluteReferencePathComponents ; absolutePathFromCurrentDirectory (inFromPath.stringByStandardizingPath ()).componentsSeparatedByString("/", absoluteReferencePathComponents) ; - TC_UniqueArray absoluteReceiverPathComponents ; + TC_UniqueArray absoluteReceiverPathComponents ; absolutePathFromCurrentDirectory (inPath.stringByStandardizingPath ()).componentsSeparatedByString("/", absoluteReceiverPathComponents) ; - C_String result ; + String result ; int32_t idx = 0 ; while ((idx < absoluteReferencePathComponents.count ()) && (idx < absoluteReceiverPathComponents.count ()) @@ -867,83 +867,83 @@ C_String C_FileManager::relativePathFromPath (const C_String & inPath, idx ++ ; } for (int32_t i=idx ; i idx) { - result << "/" ; + result.appendCString ("/") ; } - result << absoluteReceiverPathComponents (i COMMA_HERE) ; + result.appendString (absoluteReceiverPathComponents (i COMMA_HERE)) ; } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Symbolic Link #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #if (COMPILE_FOR_WINDOWS == 1) || defined (__CYGWIN__) - bool C_FileManager::makeSymbolicLinkWithPath (const C_String & /* inPath */, - const C_String & /* inLinkPath */) { + bool FileManager::makeSymbolicLinkWithPath (const String & /* inPath */, + const String & /* inLinkPath */) { return true ; // Symbolic links are not supported on Windows } #else - bool C_FileManager::makeSymbolicLinkWithPath (const C_String & inPath, - const C_String & inLinkPath) { - const int r = symlink (inPath.cString (HERE), inLinkPath.cString (HERE)) ; + bool FileManager::makeSymbolicLinkWithPath (const String & inPath, + const String & inLinkPath) { + const int r = symlink (inPath.cString (), inLinkPath.cString ()) ; 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 C_FileManager::isSymbolicLink (const C_String & /* inLinkPath */) { + bool FileManager::isSymbolicLink (const String & /* inLinkPath */) { return false ; // Symbolic links are not supported on Windows } #else - bool C_FileManager::isSymbolicLink (const C_String & inLinkPath) { + bool FileManager::isSymbolicLink (const String & inLinkPath) { char buffer [8] ; // Any value - return readlink (inLinkPath.cString (HERE), buffer, 8) >= 0 ; + return readlink (inLinkPath.cString (), buffer, 8) >= 0 ; } #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #if (COMPILE_FOR_WINDOWS == 1) || defined (__CYGWIN__) - C_String C_FileManager::stringWithSymbolicLinkContents (const C_String & /* inLinkPath */, + String FileManager::stringWithSymbolicLinkContents (const String & /* inLinkPath */, bool & outOk) { outOk = false ; // Symbolic links are not supported on Windows - return C_String () ; + return String () ; } #else - C_String C_FileManager::stringWithSymbolicLinkContents (const C_String & inLinkPath, + String FileManager::stringWithSymbolicLinkContents (const String & inLinkPath, bool & outOk) { - C_String result ; + 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 (HERE), buffer, bufferSize) ; + const int64_t r = readlink (inLinkPath.cString (), buffer, bufferSize) ; if (r < 0) { // Error outOk = false ; loop = false ; }else if (r < (int64_t) bufferSize) { // ok buffer [r] = '\0' ; - result << buffer ; + result.appendString (buffer) ; loop = false ; }else{ // Buffer too small bufferSize *= 2 ; @@ -954,59 +954,60 @@ C_String C_FileManager::relativePathFromPath (const C_String & inPath, } #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Delete File #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Delete file // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +String FileManager::deleteFile (const String & inFilePath) { + String returnValue ; + const String nativePath = nativePathWithUnixPath (inFilePath) ; + const int result = unlink (nativePath.cString ()) ; if (result < 0) { - returnValue << ::strerror (errno) ; + returnValue.appendString (::strerror (errno)) ; } return returnValue ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Search a file in a directory #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static C_String recursiveSearchInDirectory (const C_String & inStartSearchPath, - const C_String & inFileName, +static String recursiveSearchInDirectory (const String & inStartSearchPath, + const String & inFileName, const int32_t inDirectoriesToExcludeCount, - const TC_UniqueArray & inDirectoriesToExclude) { - C_String result ; - const C_String nativeStartSearchPath = C_FileManager::nativePathWithUnixPath (inStartSearchPath) ; - DIR * dir = ::opendir (nativeStartSearchPath.cString (HERE)) ; + const TC_UniqueArray & inDirectoriesToExclude) { + String result ; + const String nativeStartSearchPath = FileManager::nativePathWithUnixPath (inStartSearchPath) ; + DIR * dir = ::opendir (nativeStartSearchPath.cString ()) ; if (dir != nullptr) { - C_String fileName = inStartSearchPath ; - fileName << "/" << inFileName ; - if (C_FileManager::fileExistsAtPath (fileName)) { + String fileName = inStartSearchPath ; + fileName.appendCString ("/") ; + fileName.appendString (inFileName) ; + if (FileManager::fileExistsAtPath (fileName)) { result = fileName ; }else{ struct dirent * current = readdir (dir) ; while ((current != nullptr) && (result.length () == 0)) { if (current->d_name [0] != '.') { - C_String name = inStartSearchPath ; + String name = inStartSearchPath ; name.appendCString ("/") ; - name.appendCString (current->d_name) ; - if (C_FileManager::directoryExistsWithNativePath (name)) { + name.appendString (current->d_name) ; + if (FileManager::directoryExistsWithNativePath (name)) { bool dirOk = true ; for (int32_t i=0 ; (id_name, '.') ; dirOk = (dotPtr == nullptr) || (inDirectoriesToExclude (i COMMA_HERE).compare (dotPtr) != 0) ; }else{ @@ -1026,39 +1027,39 @@ static C_String recursiveSearchInDirectory (const C_String & inStartSearchPath, return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_String C_FileManager::findFileInDirectory (const C_String & inDirectoryPath, - const C_String & inFileName, - const TC_UniqueArray & inDirectoriesToExclude) { +String FileManager::findFileInDirectory (const String & inDirectoryPath, + const 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 C_String & inStartSearchPath, - const C_String & inExtension, - TC_UniqueArray & outFoundFilePathes) { +static void recursiveFindAllFilesInDirectory (const String & inStartSearchPath, + const String & inExtension, + TC_UniqueArray & outFoundFilePathes) { //--- Iterate throught directory - const C_String nativeStartSearchPath = C_FileManager::nativePathWithUnixPath (inStartSearchPath) ; - DIR * dir = ::opendir (nativeStartSearchPath.cString (HERE)) ; + const String nativeStartSearchPath = FileManager::nativePathWithUnixPath (inStartSearchPath) ; + DIR * dir = ::opendir (nativeStartSearchPath.cString ()) ; if (dir != nullptr) { struct dirent * current = readdir (dir) ; while (current != nullptr) { if (current->d_name [0] != '.') { - C_String name = inStartSearchPath ; + String name = inStartSearchPath ; name.appendCString ("/") ; - name.appendCString (current->d_name) ; - if (C_FileManager::directoryExistsWithNativePath (name)) { + name.appendString (current->d_name) ; + if (FileManager::directoryExistsWithNativePath (name)) { recursiveFindAllFilesInDirectory (name, inExtension, outFoundFilePathes) ; - }else if (C_FileManager::fileExistsAtPath (name) && (name.pathExtension () == inExtension)) { + }else if (FileManager::fileExistsAtPath (name) && (name.pathExtension () == inExtension)) { outFoundFilePathes.appendObject (name) ; } } @@ -1068,54 +1069,54 @@ static void recursiveFindAllFilesInDirectory (const C_String & inStartSearchPath } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void C_FileManager::findAllFilesInDirectoryFromExtension (const C_String & inDirectoryPath, - const C_String & inExtension, - TC_UniqueArray & outFoundFilePathes) { +void FileManager::findAllFilesInDirectoryFromExtension (const String & inDirectoryPath, + const String & inExtension, + TC_UniqueArray & outFoundFilePathes) { if (directoryExists (inDirectoryPath)) { recursiveFindAllFilesInDirectory (inDirectoryPath, inExtension, outFoundFilePathes) ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Files Modification Time #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_DateTime C_FileManager::fileModificationTime (const C_String & inFilePath) { - const C_String nativePath = nativePathWithUnixPath (inFilePath) ; +DateTime FileManager::fileModificationTime (const String & inFilePath) { + const String nativePath = nativePathWithUnixPath (inFilePath) ; //--- Get file properties time_t modificationTime = 0 ; if (nativePath.length () > 0) { struct stat fileProperties ; - const int err = ::stat (nativePath.cString (HERE), & fileProperties) ; + const int err = ::stat (nativePath.cString (), & fileProperties) ; if ((err == 0) && ((fileProperties.st_mode & S_IFREG) != 0)) { modificationTime = fileProperties.st_mtime ; } } //--- Return modification date - return C_DateTime (modificationTime) ; + return DateTime (modificationTime) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Files Modification Time #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -uint64_t C_FileManager::fileSize (const C_String & inFilePath) { +uint64_t FileManager::fileSize (const String & inFilePath) { uint64_t result = 0 ; - const C_String nativePath = nativePathWithUnixPath (inFilePath) ; + const String nativePath = nativePathWithUnixPath (inFilePath) ; if (nativePath.length () > 0) { struct stat fileProperties ; - const int err = ::stat (nativePath.cString (HERE), & fileProperties) ; + const int err = ::stat (nativePath.cString (), & fileProperties) ; if ((err == 0) && ((fileProperties.st_mode & S_IFREG) != 0)) { result = (uint64_t) fileProperties.st_size ; } @@ -1123,20 +1124,20 @@ uint64_t C_FileManager::fileSize (const C_String & inFilePath) { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Files permissions #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -int32_t C_FileManager::filePosixPermissions (const C_String & inFilePath) { - const C_String nativePath = nativePathWithUnixPath (inFilePath) ; +int32_t FileManager::filePosixPermissions (const String & inFilePath) { + const String nativePath = nativePathWithUnixPath (inFilePath) ; //--- Get file properties int32_t permissions = -1 ; struct stat fileProperties ; - const int err = ::stat (nativePath.cString (HERE), & fileProperties) ; + const int err = ::stat (nativePath.cString (), & fileProperties) ; if (err == 0) { permissions = ((int32_t) fileProperties.st_mode) & 0xFFF ; } @@ -1144,39 +1145,39 @@ int32_t C_FileManager::filePosixPermissions (const C_String & inFilePath) { return permissions ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -int32_t C_FileManager::setFilePosixPermissions (const C_String & inFilePath, +int32_t FileManager::setFilePosixPermissions (const String & inFilePath, const int32_t inNewFilePosixPermissions) { int32_t newMode = -1 ; // Error Code const int32_t v = inNewFilePosixPermissions & (int32_t) 0xFFFFF000 ; if (v == 0) { - const C_String nativePath = nativePathWithUnixPath (inFilePath) ; - newMode = ::chmod (nativePath.cString (HERE), (uint16_t) (inNewFilePosixPermissions & UINT16_MAX)) ; + const String nativePath = nativePathWithUnixPath (inFilePath) ; + newMode = ::chmod (nativePath.cString (), (uint16_t) (inNewFilePosixPermissions & UINT16_MAX)) ; } return newMode ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Files exists at path #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -bool C_FileManager::fileExistsAtPath (const C_String & inFilePath) { - const C_String nativePath = nativePathWithUnixPath (inFilePath) ; +bool FileManager::fileExistsAtPath (const String & inFilePath) { + const String nativePath = nativePathWithUnixPath (inFilePath) ; //--- Get file properties bool exists = nativePath.length () > 0 ; if (exists) { struct stat fileProperties ; - const int err = ::stat (nativePath.cString (HERE), & fileProperties) ; + const int err = ::stat (nativePath.cString (), & fileProperties) ; exists = (err == 0) && ((fileProperties.st_mode & S_IFREG) != 0) ; } //--- Return result return exists ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/files/FileManager.h b/goil/build/libpm/files/FileManager.h new file mode 100644 index 000000000..ce93d4176 --- /dev/null +++ b/goil/build/libpm/files/FileManager.h @@ -0,0 +1,123 @@ +//-------------------------------------------------------------------------------------------------- +// +// '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 new file mode 100644 index 000000000..d0d9fe881 --- /dev/null +++ b/goil/build/libpm/files/HTMLFileWrite.cpp @@ -0,0 +1,146 @@ +//-------------------------------------------------------------------------------------------------- +// +// '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/C_HTML_FileWrite.h b/goil/build/libpm/files/HTMLFileWrite.h similarity index 51% rename from goil/build/libpm/files/C_HTML_FileWrite.h rename to goil/build/libpm/files/HTMLFileWrite.h index d8e4ee2ff..85321beba 100644 --- a/goil/build/libpm/files/C_HTML_FileWrite.h +++ b/goil/build/libpm/files/HTMLFileWrite.h @@ -1,6 +1,6 @@ -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -// 'C_HTML_FileWrite' : a class for stream writing html text files +// 'HTMLFileWrite' : a class for stream writing html text files // (with facility for outputing C++ code) // // This file is part of libpm library @@ -17,55 +17,54 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #pragma once -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -#include "files/C_TextFileWrite.h" +#include "TextFileWrite.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -class C_String ; +class 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: C_HTML_FileWrite (const C_String & inFileName, - const C_String & inWindowTitle, - const C_String & inCSSFileName, - const C_String & inCSSContents) ; + public: HTMLFileWrite (const String & inFileName, + const String & inWindowTitle, + const String & inCSSFileName, + const String & inCSSContents) ; //--- Destructor - public: virtual ~C_HTML_FileWrite (void) ; + public: virtual ~ HTMLFileWrite (void) ; //--- No copy - private: C_HTML_FileWrite & operator = (C_HTML_FileWrite &) ; - private: C_HTML_FileWrite (C_HTML_FileWrite &) ; + private: HTMLFileWrite & operator = (HTMLFileWrite &) = delete ; + private: HTMLFileWrite (HTMLFileWrite &) = delete ; //--- Output data, without HTML formatting - public: void outputRawData (const char * in_Cstring) ; + public: void appendRawData (const char * inCString) ; //--- General stream methods - protected: virtual void performActualCharArrayOutput (const char * inCharArray, - const int32_t inArrayCount) ; + protected: virtual void handleAppendUTF8Array (const char * inCharArray, + const int32_t inArrayCount) ; - protected: virtual void performActualUnicodeArrayOutput (const utf32 * inCharArray, - const int32_t inArrayCount) ; + protected: virtual void handleAppendCharacter (const utf32 inCharacter) ; //--- Method for writing a HTML table - public: void appendCppTitleComment (const C_String & inCommentString, - const C_String & inTableStyleClass) ; + public: void appendCppTitleComment (const String & inCommentString, + const 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/TextFileWrite.cpp b/goil/build/libpm/files/TextFileWrite.cpp new file mode 100644 index 000000000..65db39e6b --- /dev/null +++ b/goil/build/libpm/files/TextFileWrite.cpp @@ -0,0 +1,57 @@ +//-------------------------------------------------------------------------------------------------- +// +// '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 new file mode 100644 index 000000000..543c0cdfb --- /dev/null +++ b/goil/build/libpm/files/TextFileWrite.h @@ -0,0 +1,52 @@ +//-------------------------------------------------------------------------------------------------- +// +// '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 9e6430c0e..a6e00d135 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 "galgas2/AC_GALGAS_enumAssociatedValues.h" +#include "AC_GALGAS_enumAssociatedValues.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cEnumAssociatedValues::cEnumAssociatedValues (LOCATION_ARGS) : -C_SharedObject (THERE) { +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 (C_String & ioString, +void AC_GALGAS_enumAssociatedValues::description (String & ioString, const int32_t inIndentation) const { if (nullptr != mSharedPtr) { macroValidSharedObject (mSharedPtr, cEnumAssociatedValues) ; @@ -70,7 +70,7 @@ void AC_GALGAS_enumAssociatedValues::description (C_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 669618127..aecabc92e 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 "utilities/C_SharedObject.h" -#include "galgas2/AC_GALGAS_root.h" -#include "galgas2/typeComparisonResult.h" +#include "SharedObject.h" +#include "AC_GALGAS_root.h" +#include "typeComparisonResult.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -class cEnumAssociatedValues : public C_SharedObject { +class cEnumAssociatedValues : public SharedObject { public: cEnumAssociatedValues (LOCATION_ARGS) ; - public: virtual void description (class C_String & ioString, + public: virtual void description (class 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 (C_String & ioString, const int32_t inIndentation) const ; + public: VIRTUAL_IN_DEBUG void description (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 89b4d99e9..ac3f27db6 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, ..., 2023 Pierre Molinaro. +// Copyright (C) 2008, ..., 2024 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 "utilities/MF_MemoryControl.h" -#include "galgas2/C_Compiler.h" -#include "utilities/C_DirectedGraph.h" +#include "MF_MemoryControl.h" +#include "Compiler.h" +#include "DirectedGraph.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class cGraphNode { public: cGraphNode * mInfPtr ; public: cGraphNode * mSupPtr ; public: int32_t mBalance ; - public: const C_String mKey ; + public: const 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 C_String & inKey, + public: cGraphNode (const 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 C_SharedObject { +class cSharedGraph : public SharedObject { //--------------------------------- Attributes private: cGraphNode * mRoot ; public: inline const cGraphNode * root (void) const { return mRoot ; } - private: C_DirectedGraph mDirectedGraph ; + private: DirectedGraph mDirectedGraph ; private: TC_UniqueArray mNodeArray ; //--- Constructor @@ -78,16 +78,16 @@ class cSharedGraph : public C_SharedObject { public: inline uint32_t allNodeCount (void) const { return (uint32_t) mNodeArray.count () ; } //--- isNodeDefined - public: bool isNodeDefined (const C_String & inKey) const ; + public: bool isNodeDefined (const String & inKey) const ; //--- locationForKey - public: GALGAS_location locationForKey (const C_String & inKey, - C_Compiler * inCompiler - COMMA_LOCATION_ARGS) const ; + public: GALGAS_location locationForKey (const String & inKey, + Compiler * inCompiler + COMMA_LOCATION_ARGS) const ; //--- Internal methods - public: void description (C_String & ioString, - const int32_t inIndentation) const ; + public: void description (String & ioString, + const int32_t inIndentation) const ; public: void copyFrom (const cSharedGraph * inSource) ; @@ -95,54 +95,54 @@ class cSharedGraph : public C_SharedObject { public: int32_t graphCompare (const cSharedGraph * inOperand) const ; - public: cGraphNode * findOrAddNodeForKey (const C_String & inKey) ; + public: cGraphNode * findOrAddNodeForKey (const String & inKey) ; protected: cGraphNode * internalInsert (cGraphNode * & ioRootPtr, - const C_String & inKey, - bool & ioExtension) ; + const String & inKey, + bool & ioExtension) ; public: void internalAddNode (const GALGAS_lstring & inKey, - const char * inErrorMessage, - const capCollectionElement & inAttributes, - C_Compiler * inCompiler - COMMA_LOCATION_ARGS) ; + const char * inErrorMessage, + const capCollectionElement & inAttributes, + Compiler * inCompiler + COMMA_LOCATION_ARGS) ; - public: void addEdge (const C_String & inSourceNodeKey, - const GALGAS_location & inSourceNodeLocation, - const C_String & inTargetNodeKey, - const GALGAS_location & inTargetNodeLocation) ; + public: void addEdge (const String & inSourceNodeKey, + const GALGAS_location & inSourceNodeLocation, + const String & inTargetNodeKey, + const GALGAS_location & inTargetNodeLocation) ; public: void removeEdgesToDominators (LOCATION_ARGS) ; - public: void removeEdgesToNode (const C_String & inNodeName, - C_Compiler * inCompiler - COMMA_LOCATION_ARGS) ; + public: void removeEdgesToNode (const String & inNodeName, + 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, - C_Compiler * inCompiler - COMMA_LOCATION_ARGS) const ; + const GALGAS_lstringlist & inStartNodes, + const GALGAS_stringset & inNodesToExclude, + Compiler * inCompiler + COMMA_LOCATION_ARGS) const ; public: void graph (capCollectionElementArray & outNodeList) const ; @@ -150,7 +150,7 @@ class cSharedGraph : public C_SharedObject { public: GALGAS_lstringlist lkeyList (void) const ; - public: C_String getter_graphviz (void) const ; + public: String getter_graphviz (void) const ; public: void edges (GALGAS__32_stringlist & ioList) const ; @@ -159,32 +159,32 @@ class cSharedGraph : public C_SharedObject { #endif //--- No copy - private: cSharedGraph (const cSharedGraph &) ; - private: cSharedGraph & operator = (const cSharedGraph &) ; + private: cSharedGraph (const cSharedGraph &) = delete ; + private: cSharedGraph & operator = (const cSharedGraph &) = delete ; } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cSharedGraph::cSharedGraph (LOCATION_ARGS) : -C_SharedObject (THERE), +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) { - MF_Assert (ioNodeArray ((int32_t) inNode->mNodeID COMMA_HERE) == nullptr, "ioNodeArray (%lld COMMA_HERE) != nullptr", inNode->mNodeID, 0) ; + macroAssert (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,49 +234,52 @@ void cSharedGraph::copyFrom (const cSharedGraph * inSource) { checkGraph (HERE) ; #endif } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void cSharedGraph::description (C_String & ioString, +void cSharedGraph::description (String & ioString, const int32_t /* inIndentation */) const { - ioString << " (" - << cStringWithUnsigned (mDirectedGraph.nodeCount ()) - << " node" << ((mDirectedGraph.nodeCount () > 1) ? "s" : "") - << ", " << cStringWithUnsigned (mDirectedGraph.edgeCount ()) - << " edge" << ((mDirectedGraph.edgeCount () > 1) ? "s" : "") - << ")" ; + 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 (")") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #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) ; - MF_AssertThere (nodeArray.count() == mNodeArray.count (), "nodeArray.count() == %lld != mNodeArray.count () %lld", nodeArray.count(), mNodeArray.count ()) ; + macroAssertThere (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 (String & ioString, + const int32_t inIndentation) const { + ioString.appendCString ("mGalgasTypeName) ; if (isValid ()) { mSharedGraph->description (ioString, inIndentation) ; }else{ - ioString << " not built" ; + ioString.appendCString (" not built") ; } - ioString << ">" ; + ioString.appendCString (">") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- uint32_t AC_GALGAS_graph::count () const { uint32_t result = 0 ; @@ -321,19 +324,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 ()) { @@ -348,13 +351,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 { @@ -365,9 +368,9 @@ GALGAS_bool AC_GALGAS_graph::getter_isNodeDefined (const GALGAS_string & inKey return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -bool cSharedGraph::isNodeDefined (const C_String & inKey) const { +bool cSharedGraph::isNodeDefined (const String & inKey) const { bool result = false ; for (int32_t i=0 ; (iemitSemanticError (GALGAS_location (), - C_String ("graph locationForKey: node '") + inKey + "' is undefined", + String ("graph locationForKey: node '") + inKey + String ("' 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::constructor_emptyList (HERE) ; + GALGAS_stringlist result = GALGAS_stringlist::class_func_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 ; @@ -445,28 +448,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::constructor_emptyList (HERE) ; + GALGAS_lstringlist result = GALGAS_lstringlist::class_func_emptyList (HERE) ; for (int32_t i=0 ; imDefinitionLocation ; if (! loc.isValid ()) { - loc = GALGAS_location::constructor_nowhere (HERE) ; + loc = GALGAS_location::class_func_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 ; @@ -476,15 +479,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 C_String & inKey, +static const cGraphNode * findNode (const String & inKey, const cGraphNode * inNode) { const cGraphNode * result = nullptr ; while ((nullptr != inNode) && (result == nullptr)) { @@ -500,13 +503,13 @@ static const cGraphNode * findNode (const C_String & inKey, return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark graph #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void cGraphNode::accumulateNodes (capCollectionElementArray & outNodeList) const { outNodeList.appendObject (mAttributes) ; @@ -518,7 +521,7 @@ void cGraphNode::accumulateNodes (capCollectionElementArray & outNodeList) const } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void cSharedGraph::graph (capCollectionElementArray & outNodeList) const { if (mRoot != nullptr) { @@ -526,7 +529,7 @@ void cSharedGraph::graph (capCollectionElementArray & outNodeList) const { } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- capCollectionElementArray AC_GALGAS_graph::graph (void) const { capCollectionElementArray result ; @@ -536,28 +539,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { //--- Build start node set - C_UIntSet startNodeSet ; + UInt32Set 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) { - C_String message = "subgraphFromNodes: '" ; - message << enumerator1.current_mValue (THERE).mProperty_string.stringValue() ; - message << "' is not a declared node, cannot start from it" ; + String message ("subgraphFromNodes: '") ; + message.appendString (enumerator1.current_mValue (THERE).mProperty_string.stringValue()) ; + message.appendCString ("' is not a declared node, cannot start from it") ; inCompiler->emitSemanticError (enumerator1.current_mValue (THERE).mProperty_location, message, TC_Array () @@ -568,14 +571,14 @@ void cSharedGraph::subGraph (AC_GALGAS_graph & outResultingGraph, enumerator1.gotoNextObject () ; } //--- Build node to exclude set - C_UIntSet nodesToExcludeSet ; + UInt32Set nodesToExcludeSet ; cEnumerator_stringset enumerator2 (inNodesToExclude, kENUMERATION_UP) ; while (enumerator2.hasCurrentObject ()) { const cGraphNode * nodePtr = findNode (enumerator2.current_key (THERE).stringValue(), root()) ; if (nullptr == nodePtr) { - C_String message = "subgraphFromNodes: '" ; - message << enumerator2.current_key (THERE).stringValue() ; - message << "' is not a declared node, cannot be excluded" ; + String message ("subgraphFromNodes: '") ; + message.appendString (enumerator2.current_key (THERE).stringValue()) ; + message.appendCString ("' is not a declared node, cannot be excluded") ; inCompiler->onTheFlySemanticError (message COMMA_THERE) ; }else{ nodesToExcludeSet.add (nodePtr->mNodeID) ; @@ -583,7 +586,7 @@ void cSharedGraph::subGraph (AC_GALGAS_graph & outResultingGraph, enumerator2.gotoNextObject () ; } //--- Build sub graph - const C_DirectedGraph theSubGraph = mDirectedGraph.subGraphFromNodes ( + const DirectedGraph theSubGraph = mDirectedGraph.subGraphFromNodes ( startNodeSet, nodesToExcludeSet ) ; @@ -618,12 +621,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { if (isValid () && inStartNodes.isValid () && inNodesToExclude.isValid ()) { outResultingGraph.makeNewEmptyGraph (THERE) ; @@ -635,13 +638,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) ; @@ -656,7 +659,7 @@ void cSharedGraph::copyReversedGraphFrom (const cSharedGraph * inSource) { #endif } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void AC_GALGAS_graph::reversedGraphFromGraph (const AC_GALGAS_graph & inGraph COMMA_LOCATION_ARGS) { @@ -667,23 +670,20 @@ 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 { - int32_t r = ((int32_t) allNodeCount ()) - ((int32_t) inOperand->allNodeCount ()) ; - if (r == 0) { - // TODO - } + const int32_t r = int32_t (allNodeCount ()) - int32_t (inOperand->allNodeCount ()) ; 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 C_String & inKey, +cGraphNode::cGraphNode (const String & inKey, const uint32_t inNodeID) : mInfPtr (nullptr), mSupPtr (nullptr), @@ -762,10 +762,10 @@ mReferenceLocationArray (), mIsDefined (false) { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cGraphNode * cSharedGraph::internalInsert (cGraphNode * & ioRootPtr, - const C_String & inKey, + const 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 C_String & inKey) { +cGraphNode * cSharedGraph::findOrAddNodeForKey (const 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, - C_Compiler * inCompiler + 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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid () && inKey.isValid () && inAttributes.isValid ()) { insulateGraph (THERE) ; - MF_Assert (nullptr != mSharedGraph, "mSharedGraph == nullptr", 0, 0) ; + macroAssert (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) ; - MF_Assert (nullptr != mSharedGraph, "mSharedGraph == nullptr", 0, 0) ; + macroAssert (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 C_String & inSourceNodeKey, +void cSharedGraph::addEdge (const String & inSourceNodeKey, const GALGAS_location & inSourceNodeLocation, - const C_String & inTargetNodeKey, + const String & inTargetNodeKey, const GALGAS_location & inTargetNodeLocation) { cGraphNode * sourceNode = findOrAddNodeForKey (inSourceNodeKey) ; macroValidPointer (sourceNode) ; @@ -913,14 +913,14 @@ void cSharedGraph::addEdge (const C_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) ; - MF_Assert (nullptr != mSharedGraph, "mSharedGraph == nullptr", 0, 0) ; + macroAssert (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 -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_String cSharedGraph::getter_graphviz (void) const { - TC_UniqueArray nodeNameArray ; +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::constructor_emptyList (THERE) ; + result = GALGAS__32_stringlist::class_func_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::constructor_emptyList (THERE) ; + result = GALGAS_stringlist::class_func_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::constructor_emptyList (HERE) ; + outNodeKeyList = GALGAS_lstringlist::class_func_emptyList (HERE) ; for (int32_t i=0 ; i nodeArray ; mDirectedGraph.getNodesWithNoPredecessor (nodeArray) ; //--- Add nodes outInfoList.removeAllObjects() ; - outNodeKeyList = GALGAS_lstringlist::constructor_emptyList (HERE) ; + outNodeKeyList = GALGAS_lstringlist::class_func_emptyList (HERE) ; for (int32_t i=0 ; i nodeArray ; mDirectedGraph.getNodesWithNoSuccessor (nodeArray) ; //--- Add nodes outInfoList.removeAllObjects() ; - outNodeKeyList = GALGAS_lstringlist::constructor_emptyList (HERE) ; + outNodeKeyList = GALGAS_lstringlist::class_func_emptyList (HERE) ; for (int32_t i=0 ; iroot (), undefinedNodeCount) ; if (0 != undefinedNodeCount) { - C_String s ; - s << "Cannot apply graph topologicalSort: there " ; + String s ("Cannot apply graph topologicalSort: there ") ; if (undefinedNodeCount > 1) { - s << "are " << cStringWithUnsigned (undefinedNodeCount) << " undefined nodes" ; + s.appendCString ("are ") ; + s.appendUnsigned (undefinedNodeCount) ; + s.appendCString (" undefined nodes") ; }else{ - s << "is 1 undefined node" ; + s.appendCString ("is 1 undefined node") ; } inCompiler->onTheFlyRunTimeError (s COMMA_THERE) ; }else{ @@ -1225,13 +1226,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, @@ -1242,7 +1243,7 @@ void cSharedGraph::internalDepthFirstTopologicalSort (capCollectionElementArray mDirectedGraph.depthFirstTopologicalSort (sortedNodes, unsortedNodes) ; //--- Add sorted nodes outSortedList.removeAllObjects() ; - outSortedNodeKeyList = GALGAS_lstringlist::constructor_emptyList (HERE) ; + outSortedNodeKeyList = GALGAS_lstringlist::class_func_emptyList (HERE) ; for (int32_t i=0 ; iroot (), undefinedNodeCount) ; if (0 != undefinedNodeCount) { - C_String s ; - s << "Cannot apply graph topologicalSort: there " ; + String s ("Cannot apply graph topologicalSort: there ") ; if (undefinedNodeCount > 1) { - s << "are " << cStringWithUnsigned (undefinedNodeCount) << " undefined nodes" ; + s.appendCString ("are ") ; + s.appendUnsigned (undefinedNodeCount) ; + s.appendCString (" undefined nodes") ; }else{ - s << "is 1 undefined node" ; + s.appendCString ("is 1 undefined node") ; } inCompiler->onTheFlyRunTimeError (s COMMA_THERE) ; }else{ @@ -1294,13 +1296,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) { @@ -1318,47 +1320,48 @@ static void buildUndefinedNodeReferenceList (const cGraphNode * inNode, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_lstringlist AC_GALGAS_graph::getter_undefinedNodeReferenceList (LOCATION_ARGS) const { GALGAS_lstringlist result ; if (isValid ()) { - result = GALGAS_lstringlist::constructor_emptyList (THERE) ; + result = GALGAS_lstringlist::class_func_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, - C_Compiler * inCompiler - COMMA_LOCATION_ARGS) { + Compiler * inCompiler + COMMA_LOCATION_ARGS) { if (isValid () && inNodeName.isValid ()) { insulateGraph (HERE) ; - MF_Assert (nullptr != mSharedGraph, "mSharedGraph == nullptr", 0, 0) ; + macroAssert (nullptr != mSharedGraph, "mSharedGraph == nullptr", 0, 0) ; if (nullptr != mSharedGraph) { mSharedGraph->removeEdgesToNode (inNodeName.stringValue (), inCompiler COMMA_THERE) ; } } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void cSharedGraph::removeEdgesToNode (const C_String & inNodeName, - C_Compiler * inCompiler +void cSharedGraph::removeEdgesToNode (const String & inNodeName, + Compiler * inCompiler COMMA_LOCATION_ARGS) { //--- Find node const cGraphNode * node = findNode (inNodeName, mRoot) ; if (nullptr == node) { - C_String s = "graph removeEdgesToNode: node '" ; - s << inNodeName << "' does not exist" ; + String s ("graph removeEdgesToNode: node '") ; + s.appendString (inNodeName) ; + s.appendCString ("' does not exist") ; inCompiler->onTheFlyRunTimeError (s COMMA_THERE) ; }else{ const uint32_t nodeIndex = node->mNodeID ; @@ -1366,25 +1369,25 @@ void cSharedGraph::removeEdgesToNode (const C_String & inNodeName, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Modifier removeEdgesToDominators #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void AC_GALGAS_graph::setter_removeEdgesToDominators (LOCATION_ARGS) { if (isValid ()) { insulateGraph (HERE) ; - MF_Assert (nullptr != mSharedGraph, "mSharedGraph == nullptr", 0, 0) ; + macroAssert (nullptr != mSharedGraph, "mSharedGraph == nullptr", 0, 0) ; if (nullptr != mSharedGraph) { mSharedGraph->removeEdgesToDominators (THERE) ; } } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void cSharedGraph::removeEdgesToDominators (LOCATION_ARGS) { //--- Find start nodes @@ -1401,4 +1404,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 bddd1311d..a2b260f68 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 "galgas2/AC_GALGAS_root.h" -#include "galgas2/typeComparisonResult.h" -#include "galgas2/cCollectionElement.h" +#include "AC_GALGAS_root.h" +#include "typeComparisonResult.h" +#include "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, - C_Compiler * inCompiler + 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, - C_Compiler * inCompiler + 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 (C_String & ioString, const int32_t inIndentation) const override ; + public: VIRTUAL_IN_DEBUG void description (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, - C_Compiler * inCompiler + 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, - C_Compiler * inCompiler + 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, - C_Compiler * inCompiler + 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, - C_Compiler * inCompiler + 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 93d8ddc71..6a3274587 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, ..., 2016 Pierre Molinaro. +// Copyright (C) 2008, ..., 2023 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 "utilities/MF_MemoryControl.h" -#include "galgas2/C_Compiler.h" +#include "MF_MemoryControl.h" +#include "Compiler.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark removeObjectAtIndex #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void AC_GALGAS_list::removeObjectAtIndex (capCollectionElement & outAttributes, const uint32_t inRemoveIndex, - C_Compiler * inCompiler + 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, - C_Compiler * inCompiler + 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, - C_Compiler * inCompiler + 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,27 +83,31 @@ mSharedArray (inSharedArray), mIsValid (true) { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- AC_GALGAS_list::~ AC_GALGAS_list (void) { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void AC_GALGAS_list::description (C_String & ioString, +void AC_GALGAS_list::description (String & ioString, const int32_t inIndentation) const { - ioString << "mGalgasTypeName - << " (" << cStringWithUnsigned (count()) << " object" - << ((count() > 1) ? "s" : "") << "):" ; + ioString.appendCString ("mGalgasTypeName) ; + ioString.appendCString (" (") ; + ioString.appendUnsigned (count()) ; + ioString.appendCString (" object") ; + ioString.appendString ((count() > 1) ? "s" : "") ; + ioString.appendCString ("):") ; if (isValid ()) { mSharedArray.description (ioString, inIndentation) ; }else{ - ioString << " not built" ; + ioString.appendCString (" not built") ; } - ioString << ">" ; + ioString.appendCString (">") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void AC_GALGAS_list::populateEnumerationArray (capCollectionElementArray & outEnumerationArray) const { if (isValid ()) { @@ -111,7 +115,7 @@ void AC_GALGAS_list::populateEnumerationArray (capCollectionElementArray & outEn } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- uint32_t AC_GALGAS_list::count () const { uint32_t result = 0 ; @@ -121,7 +125,7 @@ uint32_t AC_GALGAS_list::count () const { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_uint AC_GALGAS_list::getter_count (UNUSED_LOCATION_ARGS) const { GALGAS_uint result ; @@ -131,7 +135,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 ; @@ -141,49 +145,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { mSharedArray.insertObjectAtIndex (inElementToAdd, inInsertionIndex, inCompiler COMMA_THERE) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void AC_GALGAS_list::readFirst (capCollectionElement & outAttributes, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { mSharedArray.readFirstObject (outAttributes, inCompiler COMMA_THERE) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void AC_GALGAS_list::readLast (capCollectionElement & outAttributes, - C_Compiler * inCompiler + 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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { if (isValid () && inRange.isValid ()) { bool ok = false ; @@ -198,11 +202,11 @@ void AC_GALGAS_list::subListWithRange (AC_GALGAS_list & outList, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void AC_GALGAS_list::subListFromIndex (AC_GALGAS_list & outList, const GALGAS_uint & inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { if (isValid () && inIndex.isValid ()) { bool ok = false ; @@ -213,11 +217,11 @@ void AC_GALGAS_list::subListFromIndex (AC_GALGAS_list & outList, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void AC_GALGAS_list::subListToIndex (AC_GALGAS_list & outList, const GALGAS_uint & inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { if (isValid () && inIndex.isValid ()) { bool ok = false ; @@ -228,7 +232,7 @@ void AC_GALGAS_list::subListToIndex (AC_GALGAS_list & outList, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void AC_GALGAS_list::appendList (const AC_GALGAS_list & inList) { if (isValid () && inList.isValid ()) { @@ -236,10 +240,10 @@ void AC_GALGAS_list::appendList (const AC_GALGAS_list & inList) { } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- capCollectionElement AC_GALGAS_list::readObjectAtIndex (const GALGAS_uint & inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement result ; if (isValid () && inIndex.isValid ()) { @@ -247,18 +251,21 @@ capCollectionElement AC_GALGAS_list::readObjectAtIndex (const GALGAS_uint & inIn if (index < mSharedArray.count ()) { result = mSharedArray.objectAtIndex (index COMMA_THERE) ; }else{ - C_String s = "objectAtIndex: index (" ; - s << cStringWithUnsigned (index) << ") >= length (" << cStringWithUnsigned (count ()) << ")" ; + String s = "objectAtIndex: index (" ; + s.appendUnsigned (index) ; + s.appendCString (") >= length (") ; + s.appendUnsigned (count ()) ; + s.appendCString (")") ; inCompiler->onTheFlyRunTimeError (s COMMA_THERE) ; } } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cCollectionElement * AC_GALGAS_list::uniquelyReferencedPointerAtIndex (const GALGAS_uint & inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement * result = nullptr ; if (isValid ()) { @@ -268,8 +275,11 @@ cCollectionElement * AC_GALGAS_list::uniquelyReferencedPointerAtIndex (const GAL result = mSharedArray.uniquelyReferencedPointerAtIndex (index COMMA_THERE) ; macroUniqueSharedObject (result) ; }else{ - C_String s = "objectAtIndex: index (" ; - s << cStringWithUnsigned (index) << ") >= length (" << cStringWithUnsigned (count ()) << ")" ; + String s = "objectAtIndex: index (" ; + s.appendUnsigned (index) ; + s.appendCString (") >= length (") ; + s.appendUnsigned (count ()) ; + s.appendCString (")") ; inCompiler->onTheFlyRunTimeError (s COMMA_THERE) ; } }else{ @@ -279,13 +289,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 ; @@ -295,21 +305,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: C_String mKey ; + public: String mKey ; public: capCollectionElementArray myList ; //--- Constructors - public: cListMapNode (const C_String & inKey) ; + public: cListMapNode (const String & inKey) ; public: cListMapNode (const cListMapNode * inNode) ; //--- Destructor @@ -320,9 +330,9 @@ class cListMapNode { private: cListMapNode & operator = (const cListMapNode &) ; } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -cListMapNode::cListMapNode (const C_String & inKey) : +cListMapNode::cListMapNode (const String & inKey) : mInfPtr (nullptr), mSupPtr (nullptr), mBalance (0), @@ -330,20 +340,20 @@ mKey (inKey), myList () { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cListMapNode::~ cListMapNode (void) { macroMyDelete (mInfPtr) ; macroMyDelete (mSupPtr) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // cSharedListMapRoot // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -class cSharedListMapRoot : public C_SharedObject { +class cSharedListMapRoot : public SharedObject { //--- Attributes private: cListMapNode * mRoot ; public: const cListMapNode * root (void) const { return mRoot ; } @@ -366,23 +376,23 @@ class cSharedListMapRoot : public C_SharedObject { public: VIRTUAL_IN_DEBUG uint32_t count (void) const { return mCount ; } //--- Description - public: VIRTUAL_IN_DEBUG void description (C_String & ioString, const int32_t inIndentation) const ; + public: VIRTUAL_IN_DEBUG void description (String & ioString, const int32_t inIndentation) const ; public: static void internalDescription (cListMapNode * inNode, - C_String & ioString, + String & ioString, const int32_t inIndentation, uint32_t & ioIdx) ; //--- Find or add entry public: VIRTUAL_IN_DEBUG void findOrAddEntry (cListMapNode * & ioRootPtr, - const C_String & inKey, + const String & inKey, cListMapNode * & outEntry, bool & ioExtension) ; - public: VIRTUAL_IN_DEBUG void addObjectInListMap (const C_String & inKey, + public: VIRTUAL_IN_DEBUG void addObjectInListMap (const String & inKey, capCollectionElement & inAttributeArray) ; //--------------------------------- Support for 'listForKey' reader - public: VIRTUAL_IN_DEBUG capCollectionElementArray listForKey (const C_String & inKey) const ; + public: VIRTUAL_IN_DEBUG capCollectionElementArray listForKey (const String & inKey) const ; //--------------------------------- Support for enumeration public: VIRTUAL_IN_DEBUG void populateEnumerationArray (capCollectionElementArray & ioEnumerationArray) const ; @@ -390,46 +400,46 @@ class cSharedListMapRoot : public C_SharedObject { public: typeComparisonResult listmapCompare (const cSharedListMapRoot * inOperand) const ; } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cSharedListMapRoot::cSharedListMapRoot (LOCATION_ARGS) : -C_SharedObject (THERE), +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 (), @@ -437,14 +447,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 ; @@ -454,19 +464,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) { @@ -476,18 +486,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::constructor_emptySet (THERE) ; + result = GALGAS_stringset::class_func_emptySet (THERE) ; enterAllKeys (mSharedListMap->root (), result) ; } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- static void enterKeyList (const cListMapNode * inNode, GALGAS_stringlist & ioResult) { if (inNode != nullptr) { @@ -497,24 +507,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::constructor_emptyList (THERE) ; + result = GALGAS_stringlist::class_func_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 ; @@ -532,7 +542,7 @@ typeComparisonResult cSharedListMapRoot::listmapCompare (const cSharedListMapRoo return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult AC_GALGAS_listmap::objectCompare (const AC_GALGAS_listmap & inOperand) const { typeComparisonResult result = kOperandNotValid ; @@ -542,65 +552,72 @@ typeComparisonResult AC_GALGAS_listmap::objectCompare (const AC_GALGAS_listmap & return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Description #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void cSharedListMapRoot::internalDescription (cListMapNode * inNode, - C_String & ioString, + String & ioString, const int32_t inIndentation, uint32_t & ioIdx) { if (nullptr != inNode) { internalDescription (inNode->mInfPtr, ioString, inIndentation, ioIdx) ; - ioString << "\n" ; - ioString.writeStringMultiple ("| ", inIndentation) ; - ioString << "|-at " << cStringWithUnsigned (ioIdx) - << ": key '" << inNode->mKey << "' " ; + ioString.appendCString ("\n") ; + ioString.appendStringMultiple ("| ", inIndentation) ; + ioString.appendCString ("|-at ") ; + ioString.appendUnsigned (ioIdx) ; + ioString.appendCString (": key '") ; + ioString.appendString (inNode->mKey) ; + ioString.appendCString ("' ") ; inNode->myList.description (ioString, inIndentation + 1) ; ioIdx ++ ; internalDescription (inNode->mSupPtr, ioString, inIndentation, ioIdx) ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void cSharedListMapRoot::description (C_String & ioString, +void cSharedListMapRoot::description (String & ioString, const int32_t inIndentation) const { - ioString << " (" - << cStringWithUnsigned (count ()) - << " object" << ((count () > 1) ? "s" : "") - << "): " ; + ioString.appendCString (" (") ; + ioString.appendUnsigned (count ()) ; + ioString.appendCString (" object") ; + ioString.appendString ((count () > 1) ? "s" : "") ; + ioString.appendCString ("): ") ; uint32_t idx = 0 ; internalDescription (mRoot, ioString, inIndentation, idx) ; - ioString << ">" ; + ioString.appendCString (">") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void AC_GALGAS_listmap::description (C_String & ioString, +void AC_GALGAS_listmap::description (String & ioString, const int32_t inIndentation) const { - ioString << "<@" << staticTypeDescriptor ()->mGalgasTypeName ; + ioString.appendCString ("<@") ; + ioString.appendString (staticTypeDescriptor ()->mGalgasTypeName) ; if (isValid ()) { - ioString << ": " << cStringWithUnsigned (count()) << " object" - << ((count() > 1) ? "s" : "") ; + ioString.appendCString (": ") ; + ioString.appendUnsigned (count()) ; + ioString.appendCString (" object") ; + ioString.appendString ((count() > 1) ? "s" : "") ; mSharedListMap->description (ioString, inIndentation) ; }else{ - ioString << ": not built" ; + ioString.appendCString (": not built") ; } - ioString << ">" ; + ioString.appendCString (">") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark List map Node #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cListMapNode::cListMapNode (const cListMapNode * inNode) : mInfPtr (nullptr), @@ -620,7 +637,7 @@ myList () { myList = inNode->myList ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void cSharedListMapRoot::copyFrom (const cSharedListMapRoot * inSource) { macroValidSharedObject (inSource, cSharedListMapRoot) ; @@ -630,7 +647,7 @@ void cSharedListMapRoot::copyFrom (const cSharedListMapRoot * inSource) { } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void AC_GALGAS_listmap::insulateListMap (LOCATION_ARGS) { if ((mSharedListMap != nullptr) && !mSharedListMap->isUniquelyReferenced ()) { @@ -642,25 +659,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 ; @@ -701,10 +718,10 @@ static void rotateRight (cListMapNode * & ioRootPtr) { ioRootPtr = b ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void cSharedListMapRoot::findOrAddEntry (cListMapNode * & ioRootPtr, - const C_String & inKey, + const String & inKey, cListMapNode * & outEntry, bool & ioExtension) { if (ioRootPtr == nullptr) { @@ -750,9 +767,9 @@ void cSharedListMapRoot::findOrAddEntry (cListMapNode * & ioRootPtr, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void cSharedListMapRoot::addObjectInListMap (const C_String & inKey, +void cSharedListMapRoot::addObjectInListMap (const String & inKey, capCollectionElement & inAttributeArray) { macroUniqueSharedObject (this) ; cListMapNode * entry = nullptr ; @@ -762,7 +779,7 @@ void cSharedListMapRoot::addObjectInListMap (const C_String & inKey, entry->myList.appendObject (inAttributeArray) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void AC_GALGAS_listmap::addObjectInListMap (const GALGAS_string & inKey, capCollectionElement & inAttributeArray) { @@ -774,15 +791,15 @@ void AC_GALGAS_listmap::addObjectInListMap (const GALGAS_string & inKey, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark listForKey support #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -capCollectionElementArray cSharedListMapRoot::listForKey (const C_String & inKey) const { +capCollectionElementArray cSharedListMapRoot::listForKey (const String & inKey) const { capCollectionElementArray result ; bool found = false ; const cListMapNode * p = mRoot ; @@ -800,7 +817,7 @@ capCollectionElementArray cSharedListMapRoot::listForKey (const C_String & inKey return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- capCollectionElementArray AC_GALGAS_listmap::listForKey (const GALGAS_string & inKey) const { capCollectionElementArray result ; @@ -810,15 +827,15 @@ capCollectionElementArray AC_GALGAS_listmap::listForKey (const GALGAS_string & i return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark cListMapElement #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -cListMapElement::cListMapElement (const C_String & inKey, +cListMapElement::cListMapElement (const String & inKey, const capCollectionElementArray & inSharedList COMMA_LOCATION_ARGS) : cCollectionElement (THERE), @@ -826,47 +843,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 (C_String & /* ioString */, +void cListMapElement::description (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) { @@ -882,15 +899,15 @@ static void enterAscendingEnumeration (const cListMapNode * inNode, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void cSharedListMapRoot::populateEnumerationArray (capCollectionElementArray & ioEnumerationArray) const { ioEnumerationArray.setCapacity (mCount) ; enterAscendingEnumeration (mRoot, ioEnumerationArray) ; - MF_Assert (mCount == ioEnumerationArray.count (), "mCount (%lld) != ioEnumerationArray.count () (%lld)", mCount, ioEnumerationArray.count ()) ; + macroAssert (mCount == ioEnumerationArray.count (), "mCount (%lld) != ioEnumerationArray.count () (%lld)", mCount, ioEnumerationArray.count ()) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void AC_GALGAS_listmap::populateEnumerationArray (capCollectionElementArray & ioEnumerationArray) const { if (isValid ()) { @@ -898,4 +915,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 23b3c61a4..26ddcf90b 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 "galgas2/AC_GALGAS_root.h" -#include "galgas2/typeComparisonResult.h" -#include "galgas2/cCollectionElement.h" +#include "AC_GALGAS_root.h" +#include "typeComparisonResult.h" +#include "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 (C_String & ioString, const int32_t inIndentation) const override ; + public: VIRTUAL_IN_DEBUG void description (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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; protected: VIRTUAL_IN_DEBUG void removeObjectAtIndex (capCollectionElement & outAttributes, const uint32_t inRemoveIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; protected: VIRTUAL_IN_DEBUG void removeFirstObject (capCollectionElement & outAttributes, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; protected: VIRTUAL_IN_DEBUG void removeLastObject (capCollectionElement & outAttributes, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; protected: VIRTUAL_IN_DEBUG void readFirst (capCollectionElement & outAttributes, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; protected: VIRTUAL_IN_DEBUG void readLast (capCollectionElement & outAttributes, - C_Compiler * inCompiler + 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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; protected: VIRTUAL_IN_DEBUG void subListFromIndex (AC_GALGAS_list & outList, const GALGAS_uint & inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; protected: VIRTUAL_IN_DEBUG void subListToIndex (AC_GALGAS_list & outList, const GALGAS_uint & inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; protected: VIRTUAL_IN_DEBUG capCollectionElement readObjectAtIndex (const GALGAS_uint & inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; protected: VIRTUAL_IN_DEBUG cCollectionElement * uniquelyReferencedPointerAtIndex (const GALGAS_uint & inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // cListMapElement // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class cListMapElement : public cCollectionElement { //--- Attributes - public: C_String mKey ; + public: String mKey ; public: capCollectionElementArray mSharedListMapList ; //--- Default constructor - public: cListMapElement (const C_String & inKey, + public: cListMapElement (const 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 (C_String & ioString, const int32_t inIndentation) const ; + public: virtual void description (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 (C_String & ioString, + public: virtual void description (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 b1ef2788f..bc7edf847 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,47 +16,44 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #include "all-predefined-types.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" +#include "capCollectionElement.h" +#include "C_galgas_type_descriptor.h" +#include "MF_MemoryControl.h" +#include "Compiler.h" +#include "C_galgas_CLI_Options.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class cMapNode ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // c S h a r e d M a p R o o t // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -class cSharedMapRoot : public C_SharedObject { +class cSharedMapRoot : public 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 (const bool inActivateReplacementSuggestions COMMA_LOCATION_ARGS) ; + protected: cSharedMapRoot (LOCATION_ARGS) ; //--------------------------------- Virtual destructor public: virtual ~ cSharedMapRoot (void) ; //--------------------------------- No copy - private: cSharedMapRoot (const cSharedMapRoot &) ; - private: cSharedMapRoot & operator = (const cSharedMapRoot &) ; + private: cSharedMapRoot (const cSharedMapRoot &) = delete ; + private: cSharedMapRoot & operator = (const cSharedMapRoot &) = delete ; //--------------------------------- Copy a map protected: VIRTUAL_IN_DEBUG void copyFrom (const cSharedMapRoot * inSource) ; @@ -64,7 +61,7 @@ class cSharedMapRoot : public C_SharedObject { //--------------------------------- Attribute read access private: VIRTUAL_IN_DEBUG const cMapNode * findNodeForKeyInMapOrInOverridenMaps (const GALGAS_string & inKey, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Insert or Replace @@ -72,47 +69,47 @@ class cSharedMapRoot : public C_SharedObject { //--------------------------------- Insert protected: VIRTUAL_IN_DEBUG cMapNode * performInsert (const capCollectionElement & inAttributes, - C_Compiler * inCompiler, + Compiler * inCompiler, const char * inInsertErrorMessage, const char * inShadowErrorMessage COMMA_LOCATION_ARGS) ; //--------------------------------- Search - private: VIRTUAL_IN_DEBUG cMapNode * findEntryInMap (const C_String & inKey, + private: VIRTUAL_IN_DEBUG cMapNode * findEntryInMap (const String & inKey, const cSharedMapRoot * inFirstMap) const ; - private: VIRTUAL_IN_DEBUG cMapNode * findEntryInMapAtLevel (const C_String & inKey, + private: VIRTUAL_IN_DEBUG cMapNode * findEntryInMapAtLevel (const String & inKey, const uint32_t inLevel, const cSharedMapRoot * inFirstMap) const ; - public: VIRTUAL_IN_DEBUG void findNearestKey (const C_String & inKey, - TC_UniqueArray & ioNearestKeyArray) const ; + public: VIRTUAL_IN_DEBUG void findNearestKey (const String & inKey, + TC_UniqueArray & ioNearestKeyArray) const ; protected: VIRTUAL_IN_DEBUG cMapNode * performSearch (const GALGAS_lstring & inKey, - C_Compiler * inCompiler, + 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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; protected: VIRTUAL_IN_DEBUG cMapElement * searchForReadWriteAttribute (const GALGAS_string & inKey, const bool inErrorOnUnknownKey, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; protected: VIRTUAL_IN_DEBUG cMapElement * searchForReadWriteAttribute (const GALGAS_lstring & inKey, - C_Compiler * inCompiler, + Compiler * inCompiler, const char * inSearchErrorMessage COMMA_LOCATION_ARGS) ; //--------------------------------- Remove protected: VIRTUAL_IN_DEBUG void performRemove (GALGAS_lstring & inKey, capCollectionElement & outResult, - C_Compiler * inCompiler, + Compiler * inCompiler, const char * inRemoveErrorMessage COMMA_LOCATION_ARGS) ; @@ -127,7 +124,7 @@ class cSharedMapRoot : public C_SharedObject { COMMA_LOCATION_ARGS) const ; protected: VIRTUAL_IN_DEBUG GALGAS_location locationForKey (const GALGAS_string & inKey, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; protected: VIRTUAL_IN_DEBUG GALGAS_stringset keySet (LOCATION_ARGS) const ; @@ -135,7 +132,7 @@ class cSharedMapRoot : public C_SharedObject { protected: VIRTUAL_IN_DEBUG GALGAS_lstringlist keyList (LOCATION_ARGS) const ; //--------------------------------- Implementation of reader 'description' - public: VIRTUAL_IN_DEBUG void description (C_String & ioString, + public: VIRTUAL_IN_DEBUG void description (String & ioString, const int32_t inIndentation, const uint32_t inLevel) const ; @@ -155,21 +152,21 @@ class cSharedMapRoot : public C_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 C_String mKey ; + public: const String mKey ; public: capCollectionElement mAttributes ; //--- Constructors - public: cMapNode (const C_String & inKey, + public: cMapNode (const String & inKey, const capCollectionElement & inAttributes) ; public: cMapNode (cMapNode * inNode) ; @@ -182,26 +179,25 @@ class cMapNode { private: cMapNode & operator = (const cMapNode &) ; } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -cSharedMapRoot::cSharedMapRoot (const bool inActivateReplacementSuggestions COMMA_LOCATION_ARGS) : -C_SharedObject (THERE), +cSharedMapRoot::cSharedMapRoot (LOCATION_ARGS) : +SharedObject (THERE), mRoot (nullptr), mCount (0), -mOverridenMap (nullptr), -mActivateReplacementSuggestions (inActivateReplacementSuggestions) { +mOverridenMap (nullptr) { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cSharedMapRoot::~ cSharedMapRoot (void) { macroMyDelete (mRoot) ; macroDetachSharedObject (mOverridenMap) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -cMapNode::cMapNode (const C_String & inKey, +cMapNode::cMapNode (const String & inKey, const capCollectionElement & inAttributes) : mInfPtr (nullptr), mSupPtr (nullptr), @@ -210,20 +206,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, @@ -238,122 +234,125 @@ cMapNode::~cMapNode (void) { } #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS void cSharedMapRoot::checkMap (LOCATION_ARGS) const { uint32_t n = 0 ; checkNode (mRoot, n) ; - MF_AssertThere (n == mCount, "n (%lld) != mCount (%lld)", n, mCount) ; + macroAssertThere (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 (const bool inActivateReplacementSuggestions) : +AC_GALGAS_map::AC_GALGAS_map (void) : AC_GALGAS_root (), -mSharedMap (nullptr), -mActivateReplacementSuggestions (inActivateReplacementSuggestions) { +mSharedMap (nullptr) { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- AC_GALGAS_map::AC_GALGAS_map (const AC_GALGAS_map & inSource) : AC_GALGAS_root (), -mSharedMap (nullptr), -mActivateReplacementSuggestions (inSource.mActivateReplacementSuggestions) { +mSharedMap (nullptr) { 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 (mActivateReplacementSuggestions COMMA_THERE)) ; + macroMyNew (mSharedMap, cSharedMapRoot (THERE)) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void AC_GALGAS_map::makeNewEmptyMapWithMapToOverride (const AC_GALGAS_map & inMapToOverride COMMA_LOCATION_ARGS) { if (inMapToOverride.isValid ()) { - macroMyNew (mSharedMap, cSharedMapRoot (mActivateReplacementSuggestions COMMA_THERE)) ; + macroMyNew (mSharedMap, cSharedMapRoot (THERE)) ; macroAssignSharedObject (mSharedMap->mOverridenMap, inMapToOverride.mSharedMap) ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Description, log #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- static void internalDescription (cMapNode * inNode, - C_String & ioString, + String & ioString, const int32_t inIndentation, uint32_t & ioIdx) { if (nullptr != inNode) { internalDescription (inNode->mInfPtr, ioString, inIndentation, ioIdx) ; - ioString << "\n" ; - ioString.writeStringMultiple ("| ", inIndentation) ; - ioString << "|-at " << cStringWithUnsigned (ioIdx) - << ": key '" << inNode->mKey << "' " ; + ioString.appendCString ("\n") ; + ioString.appendStringMultiple ("| ", inIndentation) ; + ioString.appendCString ("|-at ") ; + ioString.appendUnsigned (ioIdx) ; + ioString.appendCString (": key '") ; + ioString.appendString (inNode->mKey) ; + ioString.appendCString ("' ") ; inNode->mAttributes.description (ioString, inIndentation + 2) ; ioIdx ++ ; internalDescription (inNode->mSupPtr, ioString, inIndentation, ioIdx) ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void cSharedMapRoot::description (C_String & ioString, +void cSharedMapRoot::description (String & ioString, const int32_t inIndentation, const uint32_t inLevel) const { if (inLevel > 0) { - ioString << "\n" ; - ioString.writeStringMultiple ("| ", inIndentation + 1) ; - ioString << "override #" << cStringWithUnsigned (inLevel) ; - } - ioString << " (" - << cStringWithUnsigned (count ()) - << " object" << ((count () > 1) ? "s" : "") - << "): " ; + 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 ("): ") ; uint32_t idx = 0 ; internalDescription (mRoot, ioString, inIndentation, idx) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void AC_GALGAS_map::description (C_String & ioString, +void AC_GALGAS_map::description (String & ioString, const int32_t inIndentation) const { - ioString << "mGalgasTypeName ; + ioString.appendCString ("mGalgasTypeName) ; if (isValid ()) { const cSharedMapRoot * currentMap = mSharedMap ; uint32_t level = 0 ; @@ -363,20 +362,20 @@ void AC_GALGAS_map::description (C_String & ioString, currentMap = currentMap->mOverridenMap ; } }else{ - ioString << " not built" ; + ioString.appendCString (" not built") ; } - ioString << ">" ; + ioString.appendCString (">") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Search in map and overridden maps #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -cMapNode * cSharedMapRoot::findEntryInMapAtLevel (const C_String & inKey, +cMapNode * cSharedMapRoot::findEntryInMapAtLevel (const String & inKey, const uint32_t inLevel, const cSharedMapRoot * inFirstMap) const { cMapNode * result = nullptr ; @@ -403,9 +402,9 @@ cMapNode * cSharedMapRoot::findEntryInMapAtLevel (const C_String & inKey, return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -cMapNode * cSharedMapRoot::findEntryInMap (const C_String & inKey, +cMapNode * cSharedMapRoot::findEntryInMap (const String & inKey, const cSharedMapRoot * inFirstMap) const { cMapNode * result = nullptr ; const cSharedMapRoot * currentMap = inFirstMap ; @@ -427,27 +426,29 @@ cMapNode * cSharedMapRoot::findEntryInMap (const C_String & inKey, return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- const cMapNode * cSharedMapRoot::findNodeForKeyInMapOrInOverridenMaps (const GALGAS_string & inKey, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { const cMapNode * result = nullptr ; if (inKey.isValid ()) { - const C_String key = inKey.stringValue () ; + const String key = inKey.stringValue () ; result = findEntryInMap (key, this) ; if (nullptr == result) { - C_String errorMessage ; - errorMessage << "the '" << key << "' key is not defined in map" ; + String errorMessage ; + errorMessage.appendCString ("the '") ; + errorMessage.appendString (key) ; + errorMessage.appendCString ("' key is not defined in map") ; inCompiler->onTheFlyRunTimeError (errorMessage COMMA_THERE) ; } } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -cMapNode * AC_GALGAS_map::searchEntryInMap (const C_String & inKey) const { +cMapNode * AC_GALGAS_map::searchEntryInMap (const String & inKey) const { cMapNode * result = nullptr ; if (isValid ()) { result = mSharedMap->findEntryInMap (inKey, mSharedMap) ; @@ -455,13 +456,13 @@ cMapNode * AC_GALGAS_map::searchEntryInMap (const C_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 ; @@ -474,22 +475,20 @@ const cCollectionElement * AC_GALGAS_map::readAccessForWithInstruction (const GA return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -cCollectionElement * AC_GALGAS_map::readWriteAccessForWithInstructionWithErrorMessage (C_Compiler * inCompiler, +cCollectionElement * AC_GALGAS_map::readWriteAccessForWithInstructionWithErrorMessage (Compiler * inCompiler, const GALGAS_lstring & inKey, const char * inSearchErrorMessage COMMA_LOCATION_ARGS) { cCollectionElement * result = nullptr ; if (isValid () && inKey.isValid ()) { insulate (HERE) ; - const C_String key = inKey.mProperty_string.stringValue () ; + const String key = inKey.mProperty_string.stringValue () ; cMapNode * node = mSharedMap->findEntryInMap (key, mSharedMap) ; if (nullptr == node) { - TC_UniqueArray nearestKeyArray ; - if (mActivateReplacementSuggestions) { - mSharedMap->findNearestKey (key, nearestKeyArray) ; - } + TC_UniqueArray nearestKeyArray ; + mSharedMap->findNearestKey (key, nearestKeyArray) ; inCompiler->semanticErrorWith_K_message (inKey, nearestKeyArray, inSearchErrorMessage COMMA_THERE) ; }else{ result = node->mAttributes.ptr () ; @@ -498,13 +497,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 ; @@ -525,7 +524,7 @@ static void rotateLeft (cMapNode * & ioRootPtr) { ioRootPtr = b ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- static void rotateRight (cMapNode * & ioRootPtr) { cMapNode * b = ioRootPtr->mInfPtr ; @@ -545,10 +544,10 @@ static void rotateRight (cMapNode * & ioRootPtr) { ioRootPtr = b ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- static bool internalInsertOrReplace (cMapNode * & ioRootPtr, - const C_String & inKey, + const String & inKey, const capCollectionElement & ioAttributeArray, bool & ioExtension) { bool anObjectHasBeenAdded = false ; @@ -595,7 +594,7 @@ static bool internalInsertOrReplace (cMapNode * & ioRootPtr, return anObjectHasBeenAdded ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void cSharedMapRoot::performInsertOrReplace (const capCollectionElement & inAttributes) { macroUniqueSharedObject (this) ; @@ -604,7 +603,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 C_String key = string_key.stringValue () ; + const String key = string_key.stringValue () ; //--- Insert or replace bool extension ; // Unused here const bool anObjectHasBeenAdded = internalInsertOrReplace (mRoot, key, inAttributes, extension) ; @@ -617,7 +616,7 @@ void cSharedMapRoot::performInsertOrReplace (const capCollectionElement & inAttr #endif } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void AC_GALGAS_map::performInsertOrReplace (const capCollectionElement & inAttributes) { if (isValid ()) { @@ -628,13 +627,13 @@ void AC_GALGAS_map::performInsertOrReplace (const capCollectionElement & inAttri } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Insulate #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cMapNode::cMapNode (cMapNode * inNode) : mInfPtr (nullptr), @@ -650,7 +649,7 @@ mAttributes (inNode->mAttributes) { } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void cSharedMapRoot::copyFrom (const cSharedMapRoot * inSource) { macroUniqueSharedObject (this) ; @@ -668,19 +667,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 (mActivateReplacementSuggestions COMMA_THERE)) ; + macroMyNew (p, cSharedMapRoot (THERE)) ; p->copyFrom (mSharedMap) ; macroAssignSharedObject (mSharedMap, p) ; macroDetachSharedObject (p) ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void cSharedMapRoot::copyCurrentAndOverridenMapsFrom (const cSharedMapRoot * inSource) { macroUniqueSharedObject (this) ; @@ -693,7 +692,7 @@ void cSharedMapRoot::copyCurrentAndOverridenMapsFrom (const cSharedMapRoot * inS macroMyNew (mRoot, cMapNode (inSource->mRoot)) ; } if (nullptr != inSource->mOverridenMap) { - macroMyNew (mOverridenMap, cSharedMapRoot (mActivateReplacementSuggestions COMMA_HERE)) ; + macroMyNew (mOverridenMap, cSharedMapRoot (HERE)) ; mOverridenMap->copyCurrentAndOverridenMapsFrom (inSource->mOverridenMap) ; } #ifndef DO_NOT_GENERATE_CHECKINGS @@ -701,7 +700,7 @@ void cSharedMapRoot::copyCurrentAndOverridenMapsFrom (const cSharedMapRoot * inS #endif } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void AC_GALGAS_map::insulateCurrentAndOverridenMaps (LOCATION_ARGS) { if (nullptr != mSharedMap) { @@ -714,7 +713,7 @@ void AC_GALGAS_map::insulateCurrentAndOverridenMaps (LOCATION_ARGS) { } if (performDeepCopy) { cSharedMapRoot * p = nullptr ; - macroMyNew (p, cSharedMapRoot (mActivateReplacementSuggestions COMMA_THERE)) ; + macroMyNew (p, cSharedMapRoot (THERE)) ; p->copyCurrentAndOverridenMapsFrom (mSharedMap) ; macroAssignSharedObject (mSharedMap, p) ; macroDetachSharedObject (p) ; @@ -722,16 +721,16 @@ void AC_GALGAS_map::insulateCurrentAndOverridenMaps (LOCATION_ARGS) { } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Insert #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- static cMapNode * internalInsert (cMapNode * & ioRootPtr, - const C_String & inKey, + const String & inKey, const capCollectionElement & inAttributes, bool & outEntryAlreadyExists, bool & ioExtension) { @@ -783,10 +782,10 @@ static cMapNode * internalInsert (cMapNode * & ioRootPtr, return matchingEntry ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cMapNode * cSharedMapRoot::performInsert (const capCollectionElement & inAttributes, - C_Compiler * inCompiler, + Compiler * inCompiler, const char * inInsertErrorMessage, const char * inShadowErrorMessage COMMA_LOCATION_ARGS) { @@ -796,7 +795,7 @@ cMapNode * cSharedMapRoot::performInsert (const capCollectionElement & inAttribu if (inAttributes.isValid ()) { cMapElement * p = (cMapElement *) inAttributes.ptr () ; macroValidSharedObject (p, cMapElement) ; - const C_String key = p->mProperty_lkey.mProperty_string.stringValue () ; + const String key = p->mProperty_lkey.mProperty_string.stringValue () ; //--- Insert or replace bool extension = false ; // Unused here bool entryAlreadyExists = false ; @@ -804,7 +803,7 @@ cMapNode * cSharedMapRoot::performInsert (const capCollectionElement & inAttribu if (! entryAlreadyExists) { result = matchingEntry ; mCount ++ ; - const C_String shadowErrorMessage (inShadowErrorMessage) ; + const String shadowErrorMessage (inShadowErrorMessage) ; const int32_t shadowErrorMessageLength = shadowErrorMessage.length () ; if (shadowErrorMessageLength > 0) { matchingEntry = findEntryInMap (key, mOverridenMap) ; @@ -848,10 +847,10 @@ cMapNode * cSharedMapRoot::performInsert (const capCollectionElement & inAttribu return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void AC_GALGAS_map::performInsert (const capCollectionElement & inAttributes, - C_Compiler * inCompiler, + Compiler * inCompiler, const char * inInsertErrorMessage, const char * inShadowErrorMessage COMMA_LOCATION_ARGS) { @@ -864,13 +863,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 ; @@ -880,7 +879,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 ; @@ -890,13 +889,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) { @@ -908,15 +907,15 @@ static void enterKeyInStringSet (const cMapNode * inNode, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_stringset cSharedMapRoot::keySet (LOCATION_ARGS) const { - GALGAS_stringset result = GALGAS_stringset::constructor_emptySet (THERE) ; + GALGAS_stringset result = GALGAS_stringset::class_func_emptySet (THERE) ; enterKeyInStringSet (mRoot, result) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_stringset AC_GALGAS_map::getter_keySet (LOCATION_ARGS) const { GALGAS_stringset result ; @@ -926,13 +925,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) { @@ -947,15 +946,15 @@ static void enterKeyInLStringList (cMapNode * inNode, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_lstringlist cSharedMapRoot::keyList (LOCATION_ARGS) const { - GALGAS_lstringlist result = GALGAS_lstringlist::constructor_emptyList (THERE) ; + GALGAS_lstringlist result = GALGAS_lstringlist::class_func_emptyList (THERE) ; enterKeyInLStringList (mRoot, result) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_lstringlist AC_GALGAS_map::getter_keyList (LOCATION_ARGS) const { GALGAS_lstringlist result ; @@ -965,24 +964,25 @@ 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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_location result ; if (inKey.isValid ()) { - const C_String key = inKey.stringValue () ; + const String key = inKey.stringValue () ; cMapNode * node = findEntryInMap (key, this) ; if (nullptr == node) { - C_String message ; - message << "'locationForKey' map reader run-time error: the '" << key << "' does not exist in map" ; + String message = "'locationForKey' map reader run-time error: the '" ; + message.appendString (key) ; + message.appendCString ("' 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, - C_Compiler * inCompiler + 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 C_String key = inKey.stringValue () ; + const 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 C_String key = inKey.stringValue () ; + const 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 C_String & inKey, +static void findNearestKeyForNode (const 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 C_String & inKey, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void cSharedMapRoot::findNearestKey (const C_String & inKey, - TC_UniqueArray & ioNearestKeyArray) const { +void cSharedMapRoot::findNearestKey (const String & inKey, + TC_UniqueArray & ioNearestKeyArray) const { ioNearestKeyArray.removeAllKeepingCapacity () ; uint32_t bestDistance = UINT32_MAX ; const cSharedMapRoot * currentMap = this ; @@ -1140,31 +1140,29 @@ void cSharedMapRoot::findNearestKey (const C_String & inKey, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cMapNode * cSharedMapRoot::performSearch (const GALGAS_lstring & inKey, - C_Compiler * inCompiler, + Compiler * inCompiler, const char * inSearchErrorMessage COMMA_LOCATION_ARGS) const { cMapNode * result = nullptr ; if (inKey.isValid ()) { - const C_String key = inKey.mProperty_string.stringValue () ; + const String key = inKey.mProperty_string.stringValue () ; result = findEntryInMap (key, this) ; if (nullptr == result) { - TC_UniqueArray nearestKeyArray ; - if (mActivateReplacementSuggestions) { - findNearestKey (key, nearestKeyArray) ; - } + TC_UniqueArray nearestKeyArray ; + findNearestKey (key, nearestKeyArray) ; inCompiler->semanticErrorWith_K_message (inKey, nearestKeyArray, inSearchErrorMessage COMMA_THERE) ; } } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- const cCollectionElement * AC_GALGAS_map::performSearch (const GALGAS_lstring & inKey, - C_Compiler * inCompiler, + Compiler * inCompiler, const char * inSearchErrorMessage COMMA_LOCATION_ARGS) const { const cCollectionElement * result = nullptr ; @@ -1177,18 +1175,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 C_String key = inKey.stringValue () ; + const String key = inKey.stringValue () ; cMapNode * node = findEntryInMap (key, this) ; if (nullptr != node) { result = (const cMapElement *) node->mAttributes.ptr () ; @@ -1198,7 +1196,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 ; @@ -1208,28 +1206,29 @@ 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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { const cMapElement * result = nullptr ; if (inKey.isValid ()) { - const C_String key = inKey.stringValue () ; + const 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 - C_String message ; - message << "cannot read attribute in map: the '" << key << "' key does not exist" ; + String message = "cannot read attribute in map: the '" ; + message.appendString (key) ; + message.appendCString ("' key does not exist") ; //--- Emit error message inCompiler->onTheFlySemanticError (message COMMA_THERE) ; } @@ -1237,10 +1236,10 @@ const cMapElement * cSharedMapRoot::searchForReadingAttribute (const GALGAS_stri return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- const cMapElement * AC_GALGAS_map::searchForReadingAttribute (const GALGAS_string & inKey, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { const cMapElement * result = nullptr ; if (isValid ()) { @@ -1249,22 +1248,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { macroUniqueSharedObject (this) ; cMapElement * result = nullptr ; if (inKey.isValid ()) { - const C_String key = inKey.stringValue () ; + const String key = inKey.stringValue () ; cMapNode * node = findEntryInMap (key, this) ; if (nullptr != node) { node->mAttributes.insulate () ; @@ -1273,8 +1272,9 @@ cMapElement * cSharedMapRoot::searchForReadWriteAttribute (const GALGAS_string & macroUniqueSharedObject (result) ; }else if (inErrorOnUnknownKey) { //--- Build error message - C_String message ; - message << "cannot read attribute in map: the '" << key << "' key does not exist" ; + String message = "cannot read attribute in map: the '" ; + message.appendString (key) ; + message.appendCString ("' 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, - C_Compiler * inCompiler + 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, - C_Compiler * inCompiler, + Compiler * inCompiler, const char * inSearchErrorMessage COMMA_LOCATION_ARGS) { macroUniqueSharedObject (this) ; cMapElement * result = nullptr ; if (inKey.isValid ()) { - const C_String key = inKey.mProperty_string.stringValue () ; + const String key = inKey.mProperty_string.stringValue () ; cMapNode * node = findEntryInMap (key, this) ; if (nullptr != node) { node->mAttributes.insulate () ; @@ -1321,20 +1321,18 @@ cMapElement * cSharedMapRoot::searchForReadWriteAttribute (const GALGAS_lstring macroValidSharedObject (result, cMapElement) ; macroUniqueSharedObject (result) ; }else{ - TC_UniqueArray nearestKeyArray ; - if (mActivateReplacementSuggestions) { - findNearestKey (key, nearestKeyArray) ; - } + TC_UniqueArray nearestKeyArray ; + findNearestKey (key, nearestKeyArray) ; inCompiler->semanticErrorWith_K_message (inKey, nearestKeyArray, inSearchErrorMessage COMMA_THERE) ; } } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cMapElement * AC_GALGAS_map::searchForReadWriteAttribute (const GALGAS_lstring & inKey, - C_Compiler * inCompiler, + Compiler * inCompiler, const char * inSearchErrorMessage COMMA_LOCATION_ARGS) { cMapElement * result = nullptr ; @@ -1347,13 +1345,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) { @@ -1382,7 +1380,7 @@ static void supBranchDecreased (cMapNode * & ioRoot, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- static void infBranchDecreased (cMapNode * & ioRoot, bool & ioBranchHasBeenRemoved) { @@ -1411,7 +1409,7 @@ static void infBranchDecreased (cMapNode * & ioRoot, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- static void getPreviousElement (cMapNode * & ioRoot, cMapNode * & ioElement, @@ -1428,9 +1426,9 @@ static void getPreviousElement (cMapNode * & ioRoot, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static cMapNode * internalRemoveEntry (const C_String & inKeyToRemove, +static cMapNode * internalRemoveEntry (const String & inKeyToRemove, cMapNode * & ioRoot, bool & ioBranchHasBeenRemoved) { cMapNode * removedNode = nullptr ; @@ -1474,35 +1472,35 @@ static cMapNode * internalRemoveEntry (const C_String & inKeyToRemove, return removedNode ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void cSharedMapRoot::performRemove (GALGAS_lstring & inKey, capCollectionElement & outResult, - C_Compiler * inCompiler, + Compiler * inCompiler, const char * inRemoveErrorMessage COMMA_LOCATION_ARGS) { macroUniqueSharedObject (this) ; if (inKey.isValid ()) { - const C_String key = inKey.mProperty_string.stringValue () ; + const String key = inKey.mProperty_string.stringValue () ; bool branchHasBeenRemoved = false ; cMapNode * node = internalRemoveEntry (key, mRoot, branchHasBeenRemoved) ; if (nullptr == node) { //--- Build error message - C_String message ; + String message ; bool perCentFound = false ; - const C_String removeErrorMessage (inRemoveErrorMessage) ; + const 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 (C_String & ioString, +void AC_GALGAS_reference_class::description (String & ioString, const int32_t inIndentation) const { - ioString << "<@" - << staticTypeDescriptor ()->mGalgasTypeName - << ":" ; + ioString.appendCString ("<@") ; + ioString.appendString (staticTypeDescriptor ()->mGalgasTypeName) ; + ioString.appendCString (":") ; if (isValid ()) { mObjectPtr->description (ioString, inIndentation) ; }else{ - ioString << "not built" ; + ioString.appendCString ("not built") ; } - ioString << ">" ; + ioString.appendCString (">") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #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 (C_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 c027ac5dd..41a5a32f2 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 "galgas2/AC_GALGAS_root.h" +#include "AC_GALGAS_root.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -class C_String ; +class 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 (C_String & ioString, + public: virtual void description (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 8e6ceaab4..7aad9d12b 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,70 +16,71 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #include "all-predefined-types.h" -#include "galgas2/C_galgas_io.h" +#include "C_galgas_io.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void AC_GALGAS_root::log (const char * inMessage COMMA_LOCATION_ARGS) const { - C_String s ; - s << "LOGGING " << inMessage << ": " ; + String s = "LOGGING " ; + s.appendString (inMessage) ; + s.appendCString (": ") ; description (s, 0) ; - s << "\n" ; + s.appendCString ("\n") ; ggs_printMessage (s COMMA_THERE) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_string AC_GALGAS_root::getter_description (UNUSED_LOCATION_ARGS) const { GALGAS_string result ; if (isValid ()) { - C_String s ; + 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 { - MF_AssertThere (isValid (), "Object not valid", 0, 0) ; + macroAssertThere (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 4bf5c60a1..64178f7e4 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 "utilities/M_SourceLocation.h" +#include "M_SourceLocation.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_object ; class GALGAS_type ; class GALGAS_string ; -class C_String ; +class 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 (C_String & ioString, + public: virtual void description (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 833731579..cc18f00a2 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 "galgas2/AC_GALGAS_sortedlist.h" -#include "galgas2/capSortedListElement.h" -#include "galgas2/cSortedListElement.h" +#include "AC_GALGAS_sortedlist.h" +#include "capSortedListElement.h" +#include "cSortedListElement.h" #include "all-predefined-types.h" -#include "utilities/MF_MemoryControl.h" -#include "galgas2/C_Compiler.h" +#include "MF_MemoryControl.h" +#include "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 C_SharedObject { +class cSharedSortedListRoot : public SharedObject { //--------------------------------- Private data members private: cSortedListNode * mRoot ; // For AVL tree private: cSortedListNode * mFirst ; @@ -123,7 +123,7 @@ class cSharedSortedListRoot : public C_SharedObject { protected: inline uint32_t count (void) const { return mCount ; } //--------------------------------- Implementation of reader 'description' - protected: virtual void description (C_String & ioString, + protected: virtual void description (String & ioString, const int32_t inIndentation) const ; //--- Enumeration handling @@ -145,20 +145,20 @@ class cSharedSortedListRoot : public C_SharedObject { //--------------------------------- Method Implementation protected: void smallestObjectAttributeList (capSortedListElement & outAttributes, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; protected: void greatestObjectAttributeList (capSortedListElement & outAttributes, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Modifier Implementation protected: void removeSmallestObject (capSortedListElement & outAttributes, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; protected: void removeGreatestObject (capSortedListElement & outAttributes, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Copy from a other list @@ -168,29 +168,29 @@ class cSharedSortedListRoot : public C_SharedObject { friend class AC_GALGAS_sortedlist ; } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cSharedSortedListRoot::cSharedSortedListRoot (LOCATION_ARGS) : -C_SharedObject (THERE), +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) ; - MF_AssertThere (idx == inCount, "a: idx (%lld) != inCount (%lld)", idx, inCount) ; + macroAssertThere (idx == inCount, "a: idx (%lld) != inCount (%lld)", idx, inCount) ; const cSortedListNode * p = inFirst ; idx = 0 ; while (p != nullptr) { - MF_AssertThere (p == array [idx], "b: p (%p) != array [idx] (%p)", (int64_t) p, (int64_t) array [idx]) ; + macroAssertThere (p == array [idx], "b: p (%p) != array [idx] (%p)", (int64_t) p, (int64_t) array [idx]) ; idx ++ ; p = p->mNextPtr ; } - MF_AssertThere (idx == inCount, "c: idx (%lld) != inCount (%lld)", idx, inCount) ; + macroAssertThere (idx == inCount, "c: idx (%lld) != inCount (%lld)", idx, inCount) ; p = inLast ; idx = inCount ; while (p != nullptr) { idx -- ; - MF_AssertThere (p == array [idx], "d: p (%p) != array [idx] (%p)", (int64_t) p, (int64_t) array [idx]) ; + macroAssertThere (p == array [idx], "d: p (%p) != array [idx] (%p)", (int64_t) p, (int64_t) array [idx]) ; p = p->mPreviousPtr ; } - MF_AssertThere (idx == 0, "idx (%lld) != 0", idx, 0) ; + macroAssertThere (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 - MF_Assert (mCount == 0, "mCount (%lld) != 0", mCount, 0) ; + macroAssert (mCount == 0, "mCount (%lld) != 0", mCount, 0) ; macroValidSharedObject (inList, cSharedSortedListRoot) ; mCount = inList->mCount ; macroMyNew (mRoot, cSortedListNode (inList->mRoot)) ; - MF_Assert (mFirst == nullptr, "mFirst (%p) != nullptr", (int64_t) mFirst, 0) ; + macroAssert (mFirst == nullptr, "mFirst (%p) != nullptr", (int64_t) mFirst, 0) ; buildDirectLinksOnCopy (mRoot, mFirst) ; - MF_Assert (mLast == nullptr, "mLast (%p) != nullptr", (int64_t) mLast, 0) ; + macroAssert (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, - C_Compiler * inCompiler + 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, - C_Compiler * inCompiler + 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, - C_Compiler * inCompiler + 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, - C_Compiler * inCompiler + 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,78 +716,81 @@ 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 (C_String & ioString, +void cSharedSortedListRoot::description (String & ioString, const int32_t inIndentation) const { - ioString << " (" - << cStringWithUnsigned (mCount) - << " object" << ((mCount > 1) ? "s" : "") - << "): " ; + ioString.appendCString (" (") ; + ioString.appendUnsigned (mCount) ; + ioString.appendCString (" object") ; + ioString.appendString ((mCount > 1) ? "s" : "") ; + ioString.appendCString ("): ") ; const cSortedListNode * p = mFirst ; uint32_t idx = 0 ; while (p != nullptr) { - ioString << "\n" ; - ioString.writeStringMultiple ("| ", inIndentation) ; - ioString << "|-at " << cStringWithUnsigned (idx) ; + ioString.appendCString ("\n") ; + ioString.appendStringMultiple ("| ", inIndentation) ; + ioString.appendCString ("|-at ") ; + ioString.appendUnsigned (idx) ; p->mProperties.description (ioString, inIndentation + 1) ; p = p->mNextPtr ; idx ++ ; } - ioString << ">" ; + ioString.appendCString (">") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void AC_GALGAS_sortedlist::description (C_String & ioString, +void AC_GALGAS_sortedlist::description (String & ioString, const int32_t inIndentation) const { - ioString << "<@"<< staticTypeDescriptor ()->mGalgasTypeName ; + ioString.appendCString ("<@") ; + ioString.appendString (staticTypeDescriptor ()->mGalgasTypeName) ; if (nullptr == mSharedRoot) { - ioString << " not built" ; + ioString.appendCString (" not built") ; }else{ mSharedRoot->description (ioString, inIndentation) ; } - ioString << ">" ; + ioString.appendCString (">") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Readers #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_uint AC_GALGAS_sortedlist::getter_count (UNUSED_LOCATION_ARGS) const { GALGAS_uint result ; @@ -797,7 +800,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 ; @@ -807,16 +810,16 @@ uint32_t AC_GALGAS_sortedlist::count () const { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Methods #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void cSharedSortedListRoot::smallestObjectAttributeList (capSortedListElement & outAttributes, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { if (mFirst == nullptr) { inCompiler->onTheFlyRunTimeError ("'smallest' method invoked on an empty list" COMMA_THERE) ; @@ -825,20 +828,20 @@ void cSharedSortedListRoot::smallestObjectAttributeList (capSortedListElement & } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void AC_GALGAS_sortedlist::smallestObjectAttributeList (capSortedListElement & outAttributes, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { if (mSharedRoot != nullptr) { mSharedRoot->smallestObjectAttributeList (outAttributes, inCompiler COMMA_THERE) ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void cSharedSortedListRoot::greatestObjectAttributeList (capSortedListElement & outAttributes, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { if (mLast == nullptr) { inCompiler->onTheFlyRunTimeError ("'greatest' method invoked on an empty list" COMMA_THERE) ; @@ -847,27 +850,27 @@ void cSharedSortedListRoot::greatestObjectAttributeList (capSortedListElement & } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void AC_GALGAS_sortedlist::greatestObjectAttributeList (capSortedListElement & outAttributes, - C_Compiler * inCompiler + 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) ; @@ -878,13 +881,13 @@ void cSharedSortedListRoot::populateEnumerationArray (capCollectionElementArray inEnumerationArray.appendObject (object) ; p = p->mNextPtr ; } - MF_Assert (mCount == inEnumerationArray.count (), "mCount %lld != inEnumerationArray.count () %lld", mCount, inEnumerationArray.count ()) ; + macroAssert (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) { @@ -892,5 +895,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 b8b5e6541..61e1e0c01 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 "galgas2/AC_GALGAS_root.h" -#include "galgas2/typeComparisonResult.h" +#include "AC_GALGAS_root.h" +#include "typeComparisonResult.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_uint ; -class C_Compiler ; +class Compiler ; class cSharedSortedListRoot ; -class C_String ; +class 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 (C_String & ioString, const int32_t inIndentation) const override ; + public: virtual void description (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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; protected: void greatestObjectAttributeList (capSortedListElement & outAttributeArray, - C_Compiler * inCompiler + 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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; protected: void removeGreatestObject (capSortedListElement & outAttributeArray, - C_Compiler * inCompiler + 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 9c6f7d4d0..93952c816 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 "galgas2/AC_GALGAS_value_class.h" -#include "galgas2/acPtr_class.h" -#include "galgas2/C_galgas_type_descriptor.h" -#include "strings/C_String.h" +#include "AC_GALGAS_value_class.h" +#include "acPtr_class.h" +#include "C_galgas_type_descriptor.h" +#include "String-class.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 (C_String & ioString, +void AC_GALGAS_value_class::description (String & ioString, const int32_t inIndentation) const { - ioString << "<@" - << staticTypeDescriptor ()->mGalgasTypeName - << ":" ; + ioString.appendCString ("<@") ; + ioString.appendString (staticTypeDescriptor ()->mGalgasTypeName) ; + ioString.appendCString (":") ; if (isValid ()) { mObjectPtr->description (ioString, inIndentation) ; }else{ - ioString << "not built" ; + ioString.appendCString ("not built") ; } - ioString << ">" ; + ioString.appendCString (">") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- 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 fb4bbbb09..32442ecf3 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 "galgas2/AC_GALGAS_root.h" +#include "AC_GALGAS_root.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -class C_String ; +class 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 (C_String & ioString, + public: virtual void description (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 7753bdc24..19acc542b 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 "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" +#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" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- 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,26 +99,27 @@ acStrongPtr_class * AC_GALGAS_weak_reference::ptr (void) const { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void AC_GALGAS_weak_reference::description (C_String & ioString, +void AC_GALGAS_weak_reference::description (String & ioString, const int32_t /* inIndentation */) const { - ioString << "<@" - << staticTypeDescriptor ()->mGalgasTypeName - << ":" ; + ioString.appendCString ("<@") ; + ioString.appendString (staticTypeDescriptor ()->mGalgasTypeName) ; + ioString.appendCString (":") ; acStrongPtr_class * ptr = (acStrongPtr_class *) mProxyPtr ; if (ptr == nullptr) { - ioString << "not built" ; + ioString.appendCString ("not built") ; }else{ cPtr_weakReference_proxy * proxy = ptr->getProxy () ; if (proxy == nullptr) { - ioString << "nil" ; + ioString.appendCString ("nil") ; }else{ const C_galgas_type_descriptor * descriptor = proxy->classDescriptor () ; - ioString << "instance of @" << descriptor->mGalgasTypeName ; + ioString.appendCString ("instance of @") ; + ioString.appendString (descriptor->mGalgasTypeName) ; } } - ioString << ">" ; + ioString.appendCString (">") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/AC_GALGAS_weak_reference.h b/goil/build/libpm/galgas2/AC_GALGAS_weak_reference.h index 1023e6b23..baa46f790 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 "galgas2/AC_GALGAS_root.h" +#include "AC_GALGAS_root.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -class C_String ; +class 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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const ; } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/C_IssueWithFixIt.cpp b/goil/build/libpm/galgas2/C_IssueWithFixIt.cpp index 897c2e3b0..4c2a6428d 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 "galgas2/C_IssueWithFixIt.h" +#include "C_IssueWithFixIt.h" #include "all-predefined-types.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- C_FixItDescription::C_FixItDescription (void) : mKind (kFixItRemove), mActionString ("") { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- C_FixItDescription::C_FixItDescription (const EnumFixItKind inKind, - const C_String & inActionString) : + const String & inActionString) : mKind (inKind), mActionString (inActionString) { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- C_IssueWithFixIt::C_IssueWithFixIt (void) : mStartLocation (), @@ -44,62 +44,62 @@ mEndLocation (), mFixItArray () { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_IssueWithFixIt::C_IssueWithFixIt (const C_LocationInSource & inStartLocation, - const C_LocationInSource & inEndLocation, +C_IssueWithFixIt::C_IssueWithFixIt (const LocationInSource & inStartLocation, + const 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 C_String s = enumerator.current_mValue (HERE).stringValue () ; + const 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 C_String s = enumerator.current_mValue (HERE).mProperty_string.stringValue () ; + const 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 C_String s = enumerator.current_key (HERE).stringValue () ; + const 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 C_String s = inString.stringValue () ; + const 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 e11aa29e7..cafc2b758 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 "galgas2/C_LocationInSource.h" -#include "strings/C_String.h" -#include "generic-arraies/TC_Array.h" +#include "LocationInSource.h" +#include "String-class.h" +#include "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 C_String & inActionString) ; + const String & inActionString) ; //--- Accessors public: EnumFixItKind kind (void) const { return mKind ; } - public: C_String actionString (void) const { return mActionString ; } + public: String actionString (void) const { return mActionString ; } //--- Private properties private: EnumFixItKind mKind ; - private: C_String mActionString ; + private: String mActionString ; } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class C_IssueWithFixIt { //--- Default constructor public: C_IssueWithFixIt (void) ; //--- Constructor - public: C_IssueWithFixIt (const C_LocationInSource & inStartLocation, - const C_LocationInSource & inEndLocation, + public: C_IssueWithFixIt (const LocationInSource & inStartLocation, + const LocationInSource & inEndLocation, const TC_Array & inFixItArray) ; //--- Properties - public: const C_LocationInSource mStartLocation ; - public: const C_LocationInSource mEndLocation ; + public: const LocationInSource mStartLocation ; + public: const 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 deleted file mode 100644 index 0f375b11e..000000000 --- a/goil/build/libpm/galgas2/C_Lexique.cpp +++ /dev/null @@ -1,1661 +0,0 @@ -//---------------------------------------------------------------------------------------------------------------------- -// -// '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/C_galgas_CLI_Options.cpp b/goil/build/libpm/galgas2/C_galgas_CLI_Options.cpp index 7ee516982..e2c94241b 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,14 +16,13 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -#include "galgas2/C_galgas_CLI_Options.h" -#include "galgas2/C_galgas_CLI_Options.h" -//#include "streams/C_TCPSocketOut.h" -#include "utilities/C_PrologueEpilogue.h" +#include "C_galgas_CLI_Options.h" +#include "C_galgas_CLI_Options.h" +#include "PrologueEpilogue.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- C_BoolCommandLineOption gOption_galgas_5F_builtin_5F_options_outputConcreteSyntaxTree ("galgas_builtin_options", "outputConcreteSyntaxTree", @@ -31,7 +30,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", @@ -40,7 +39,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", @@ -49,7 +48,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", @@ -58,7 +57,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", @@ -68,7 +67,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", @@ -78,7 +77,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", @@ -87,7 +86,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", @@ -96,21 +95,21 @@ C_StringCommandLineOption gOption_galgas_5F_builtin_5F_options_outputKeywordList "Output a Latex file containing keyword list", "") ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // EXECUTION MODE // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- static EnumExecutionMode gExecutionMode = kExecutionModeNormal ; -static C_String gModeLatexSuffixString ; -static C_String gModeIndexingOutputFilePath ; +static String gModeLatexSuffixString ; +static String gModeIndexingOutputFilePath ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void setExecutionMode (C_String & outErrorMessage) { - const C_String mode = gOption_galgas_5F_builtin_5F_options_mode.mValue ; - TC_UniqueArray modeComponents ; +void setExecutionMode (String & outErrorMessage) { + const String mode = gOption_galgas_5F_builtin_5F_options_mode.mValue ; + TC_UniqueArray modeComponents ; mode.componentsSeparatedByString (":", modeComponents) ; if (mode == "") { gExecutionMode = kExecutionModeNormal ; @@ -126,75 +125,77 @@ void setExecutionMode (C_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 << "** Fatal Error: invalid '--mode=latex:suffix' parameter; suffix should contain only letters\n" ; + outErrorMessage.appendCString ("** 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 << "** Fatal Error: invalid '--mode=" << mode << "' parameter; it should be:\n" + outErrorMessage.appendCString ("** Fatal Error: invalid '--mode=") ; + outErrorMessage.appendString (mode) ; + outErrorMessage.appendCString ("' 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 ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_String latexModeStyleSuffixString (void) { +String latexModeStyleSuffixString (void) { return gModeLatexSuffixString ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_String indexingModeOutputFilePath (void) { +String indexingModeOutputFilePath (void) { return gModeIndexingOutputFilePath ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- static void epilogueAction (void) { - gModeLatexSuffixString.releaseString () ; + gModeLatexSuffixString.removeAll () ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_PrologueEpilogue prologueEpilogue (nullptr, epilogueAction) ; +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 3a79d02b8..a8a9c0a4c 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 "command_line_interface/C_BoolCommandLineOption.h" -#include "command_line_interface/C_UIntCommandLineOption.h" -#include "command_line_interface/C_StringCommandLineOption.h" +#include "C_BoolCommandLineOption.h" +#include "C_UIntCommandLineOption.h" +#include "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 (C_String & outErrorMessage) ; +void setExecutionMode (String & outErrorMessage) ; typedef enum { kExecutionModeNormal, @@ -80,8 +80,8 @@ bool executionModeIsIndexing (void) ; bool executionModeIsLatex (void) ; -C_String latexModeStyleSuffixString (void) ; +String latexModeStyleSuffixString (void) ; -C_String indexingModeOutputFilePath (void) ; +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 7eef3cf44..adebd88b6 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 "galgas2/C_galgas_class_inspector.h" +#include "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 79e277770..46c44fffb 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 410904e26..8cc7f13d8 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 "galgas2/C_galgas_function_descriptor.h" +#include "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 b6aa06b2c..09374d945 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 "utilities/MF_MemoryControl.h" +#include "MF_MemoryControl.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -class C_Compiler ; +class 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) (C_Compiler * inCompiler, +typedef GALGAS_object (*functionPrototypeForIntrospection) (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 519a7f472..124784b1d 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,87 +16,84 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -#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" +#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" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark C_unicode_lexique_table_entry #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_unicode_lexique_table_entry::C_unicode_lexique_table_entry (const utf32 * inEntryString, - const int16_t inEntryStringLength, +C_unicode_lexique_table_entry::C_unicode_lexique_table_entry (const std::initializer_list & inEntryString, 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 ; @@ -104,14 +101,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 ; @@ -119,63 +116,78 @@ int32_t totalWarningCount (void) { return mTotalWarningCount ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Construct error or warning location message // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static C_String errorOrWarningLocationString (const C_IssueWithFixIt & inIssue, - const C_SourceTextInString & inSourceText) { - C_String result ; +static String errorOrWarningLocationString (const C_IssueWithFixIt & inIssue, + const SourceTextInString & inSourceText) { + String result ; if (inSourceText.isValid ()) { - const C_String textLine = inSourceText.getLineForLocation (inIssue.mStartLocation) ; - result << inSourceText.sourceFilePath () - << ":" << cStringWithSigned (inIssue.mStartLocation.lineNumber ()) - << ":" << cStringWithSigned (inIssue.mStartLocation.columnNumber ()) - << ":" << cStringWithSigned (inIssue.mEndLocation.columnNumber ()) << ":\n" ; + 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") ; } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static C_String constructErrorOrWarningLocationMessage (const C_String & inMessage, +static String constructErrorOrWarningLocationMessage (const String & inMessage, const C_IssueWithFixIt & inIssue, - const C_SourceTextInString & inSourceText) { - C_String result ; + const SourceTextInString & inSourceText) { + String result ; if (!inSourceText.isValid ()) { - result << inMessage ; + result.appendString (inMessage) ; }else{ //--- Construct message - result << errorOrWarningLocationString (inIssue, inSourceText) << inMessage ; + result.appendString (errorOrWarningLocationString (inIssue, inSourceText)) ; + result.appendString (inMessage) ; if (verboseOutput ()) { - const C_String textLine = inSourceText.getLineForLocation (inIssue.mStartLocation) ; - result << textLine << "\n" ; + const String textLine = inSourceText.getLineForLocation (inIssue.mStartLocation) ; + result.appendString (textLine) ; + result.appendCString ("\n") ; //--- Underline issue for (int32_t i=1 ; i & inAcceptedTokenNames + const String & inFoundTokenMessage, + const TC_UniqueArray & inAcceptedTokenNames COMMA_LOCATION_ARGS) { //--- Increment error count mErrorTotalCount ++ ; //--- Construct location error message - C_String errorMessage ; + String errorMessage ; //--- Construct parsing error message - errorMessage << (verboseOutput () ? "syntax " : "") - << "error #" << cStringWithSigned (mErrorTotalCount) << ": found " << inFoundTokenMessage <<", expected:\n" ; + errorMessage.appendString (verboseOutput () ? "syntax " : "") ; + errorMessage.appendCString ("error #") ; + errorMessage.appendSigned (mErrorTotalCount) ; + errorMessage.appendCString (": found ") ; + errorMessage.appendString (inFoundTokenMessage) ; + errorMessage.appendCString (", expected:\n") ; for (int32_t i=0 ; i & inExpectedClassesErrorStringsArray, - const C_String & inActualFoundClassErrorString + const TC_UniqueArray & inExpectedClassesErrorStringsArray, + const String & inActualFoundClassErrorString COMMA_LOCATION_ARGS) { //--- Increment error count mErrorTotalCount ++ ; //--- Construct location error message - C_String errorMessage ; + String errorMessage ; //--- Print extract error - errorMessage << (verboseOutput () ? "semantic " : "") - << "error: I have found:\n" ; + errorMessage.appendString (verboseOutput () ? "semantic " : "") ; + errorMessage.appendCString ("error: I have found:\n") ; if (! verboseOutput ()) { - errorMessage << errorOrWarningLocationString (inIssue, inSourceText) - << "error: " ; + errorMessage.appendString (errorOrWarningLocationString (inIssue, inSourceText)) ; + errorMessage.appendCString ("error: ") ; } - errorMessage << " - " << inActualFoundClassErrorString <<";\n" ; + errorMessage.appendCString (" - ") ; + errorMessage.appendString (inActualFoundClassErrorString) ; + errorMessage.appendCString (";\n") ; if (! verboseOutput ()) { - errorMessage << errorOrWarningLocationString (inIssue, inSourceText) - << "error: " ; + errorMessage.appendString (errorOrWarningLocationString (inIssue, inSourceText)) ; + errorMessage.appendCString ("error: ") ; } - errorMessage << "I was expected:\n" ; + errorMessage.appendCString ("I was expected:\n") ; if (! verboseOutput ()) { - errorMessage << errorOrWarningLocationString (inIssue, inSourceText) - << "error: " ; + errorMessage.appendString (errorOrWarningLocationString (inIssue, inSourceText)) ; + errorMessage.appendCString ("error: ") ; } - errorMessage << " - " << inExpectedClassesErrorStringsArray (0 COMMA_HERE) ; + errorMessage.appendCString (" - ") ; + errorMessage.appendString (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) { @@ -368,36 +398,40 @@ void signalCastError (C_Compiler * inCompiler, } } //--- Print extract error - C_String errorMessage ; + String errorMessage ; expectedClassMessageArray.sortArrayUsingCompareMethod () ; - errorMessage << (verboseOutput () ? "semantic " : "") - << "error: I have found:\n" ; + errorMessage.appendString (verboseOutput () ? "semantic " : "") ; + errorMessage.appendCString ("error: I have found:\n") ; if (! verboseOutput ()) { - errorMessage << errorOrWarningLocationString (inIssue, inSourceText) - << "error: " ; + errorMessage.appendString (errorOrWarningLocationString (inIssue, inSourceText)) ; + errorMessage.appendCString ("error: ") ; } - errorMessage << " - " << inActualFoundClassErrorString <<";\n" ; + errorMessage.appendCString (" - ") ; + errorMessage.appendString (inActualFoundClassErrorString) ; + errorMessage.appendCString (";\n") ; if (! verboseOutput ()) { - errorMessage << errorOrWarningLocationString (inIssue, inSourceText) - << "error: " ; + errorMessage.appendString (errorOrWarningLocationString (inIssue, inSourceText)) ; + errorMessage.appendCString ("error: ") ; } - errorMessage << "I was expected:\n" ; + errorMessage.appendCString ("I was expected:\n") ; if (! verboseOutput ()) { - errorMessage << errorOrWarningLocationString (inIssue, inSourceText) - << "error: " ; + errorMessage.appendString (errorOrWarningLocationString (inIssue, inSourceText)) ; + errorMessage.appendCString ("error: ") ; } if (expectedClassMessageArray.count () > 0) { - errorMessage << " - " << expectedClassMessageArray (0 COMMA_HERE) ; + errorMessage.appendCString (" - ") ; + errorMessage.appendString (expectedClassMessageArray (0 COMMA_HERE)) ; for (int32_t i=1 ; i 0) && (totalErrorCount () >= maxErrorCount ())) { throw max_error_count_reached_exception () ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void signalRunTimeWarning (C_Compiler * inCompiler, - const C_String & inWarningMessage +void signalRunTimeWarning (Compiler * inCompiler, + const String & inWarningMessage COMMA_LOCATION_ARGS) { //--- Increment warning count mTotalWarningCount ++ ; //--- Construct location error message - C_String warningMessage ; - warningMessage << "Run Time Warning #" << cStringWithSigned (mTotalWarningCount) << ": " << inWarningMessage << "\n" ; + String warningMessage = "Run Time Warning #" ; + warningMessage.appendSigned (mTotalWarningCount) ; + warningMessage.appendCString (": ") ; + warningMessage.appendString (inWarningMessage) ; + warningMessage.appendCString ("\n") ; //--- Print - ggs_printWarning (inCompiler, C_SourceTextInString (), C_IssueWithFixIt (), warningMessage COMMA_THERE) ; + ggs_printWarning (inCompiler, 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 (C_Compiler * inCompiler, - const C_SourceTextInString & inSourceText, +void ggs_printError (Compiler * inCompiler, + const SourceTextInString & inSourceText, const C_IssueWithFixIt & inIssue, - const C_String & inMessage + const String & inMessage COMMA_LOCATION_ARGS) { //--- Append to issue array const cIssueDescriptor issue ( @@ -519,84 +567,94 @@ void ggs_printError (C_Compiler * inCompiler, ) ; inCompiler->appendIssue (issue) ; //--- - C_String errorMessage = constructErrorOrWarningLocationMessage (inMessage, inIssue, inSourceText) ; + String errorMessage = constructErrorOrWarningLocationMessage (inMessage, inIssue, inSourceText) ; #ifndef DO_NOT_GENERATE_CHECKINGS if (verboseOutput ()) { - errorMessage << "[Error raised from file '" << C_String (IN_SOURCE_FILE).lastPathComponent () - << "' at line " << cStringWithSigned (IN_SOURCE_LINE) << "]\n" ; + 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") ; } #endif //--- Append source string if (! executionModeIsIndexing ()) { if (cocoaOutput ()) { - co.setForeColor (kRedForeColor) ; - co.setTextAttribute (kBoldTextAttribute) ; - co.appendUnicodeCharacter (COCOA_ERROR_ID COMMA_HERE) ; - co << errorMessage ; - co.setTextAttribute (kAllAttributesOff) ; - co << "\n" ; - co.flush () ; + gCout.setForeColor (kRedForeColor) ; + gCout.setTextAttribute (kBoldTextAttribute) ; + gCout.appendChar (COCOA_ERROR_ID) ; + gCout.appendString (errorMessage) ; + gCout.setTextAttribute (kAllAttributesOff) ; + gCout.appendNewLine () ; ; + gCout.flush () ; }else{ - co.setForeColor (kRedForeColor) ; - co.setTextAttribute (kBoldTextAttribute) ; - co << errorMessage ; - co.setTextAttribute (kAllAttributesOff) ; - co << "\n" ; - co.flush () ; + gCout.setForeColor (kRedForeColor) ; + gCout.setTextAttribute (kBoldTextAttribute) ; + gCout.appendString (errorMessage) ; + gCout.setTextAttribute (kAllAttributesOff) ; + gCout.appendNewLine () ; ; + gCout.flush () ; } } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void fatalError (const C_String & inErrorMessage, +void fatalError (const String & inErrorMessage, const char * inSourceFile, const int inSourceLine) { //--- Increment error count mErrorTotalCount ++ ; //--- Error message - C_String errorMessage ; - errorMessage << inErrorMessage << " in file '" << inSourceFile << "', line " << cStringWithSigned (inSourceLine) << "\n" ; + String errorMessage = inErrorMessage ; + errorMessage.appendCString (" in file '") ; + errorMessage.appendString (inSourceFile) ; + errorMessage.appendCString ("', line ") ; + errorMessage.appendSigned (inSourceLine) ; + errorMessage.appendCString ("\n") ; //---- - C_String message = constructErrorOrWarningLocationMessage (errorMessage, C_IssueWithFixIt (), C_SourceTextInString ()) ; + String message = constructErrorOrWarningLocationMessage (errorMessage, C_IssueWithFixIt (), SourceTextInString ()) ; #ifndef DO_NOT_GENERATE_CHECKINGS if (verboseOutput ()) { - message << "[Error raised from file '" << C_String (inSourceFile).lastPathComponent () - << "' at line " << cStringWithSigned (inSourceLine) << "]\n" ; + message.appendCString ("[Error raised from file '") ; + message.appendString (String (inSourceFile).lastPathComponent ()) ; + message.appendCString ("' at line ") ; + message.appendSigned (inSourceLine) ; + message.appendCString ("]\n") ; } #endif //--- Append source string if (! executionModeIsIndexing ()) { if (cocoaOutput ()) { - co.setForeColor (kRedForeColor) ; - co.setTextAttribute (kBoldTextAttribute) ; - co.appendUnicodeCharacter (COCOA_ERROR_ID COMMA_HERE) ; - co << message ; - co.setTextAttribute (kAllAttributesOff) ; - co << "\n" ; - co.flush () ; + gCout.setForeColor (kRedForeColor) ; + gCout.setTextAttribute (kBoldTextAttribute) ; + gCout.appendChar (COCOA_ERROR_ID) ; + gCout.appendString (message) ; + gCout.setTextAttribute (kAllAttributesOff) ; + gCout.appendNewLine () ; ; + gCout.flush () ; }else{ - co.setForeColor (kRedForeColor) ; - co.setTextAttribute (kBoldTextAttribute) ; - co << message ; - co.setTextAttribute (kAllAttributesOff) ; - co << "\n" ; - co.flush () ; + gCout.setForeColor (kRedForeColor) ; + gCout.setTextAttribute (kBoldTextAttribute) ; + gCout.appendString (message) ; + gCout.setTextAttribute (kAllAttributesOff) ; + gCout.appendNewLine () ; ; + gCout.flush () ; } } exit (1) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Method called for printing a warning // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void ggs_printWarning (C_Compiler * inCompiler, - const C_SourceTextInString & inSourceText, +void ggs_printWarning (Compiler * inCompiler, + const SourceTextInString & inSourceText, const C_IssueWithFixIt & inIssue, - const C_String & inMessage + const String & inMessage COMMA_LOCATION_ARGS) { //--- Append to issue array const cIssueDescriptor issue ( @@ -609,11 +667,14 @@ void ggs_printWarning (C_Compiler * inCompiler, ) ; inCompiler->appendIssue (issue) ; //--- - C_String warningMessage = constructErrorOrWarningLocationMessage (inMessage, inIssue, inSourceText) ; + String warningMessage = constructErrorOrWarningLocationMessage (inMessage, inIssue, inSourceText) ; #ifndef DO_NOT_GENERATE_CHECKINGS if (verboseOutput ()) { - warningMessage << "[Warning raised from file '" << C_String (IN_SOURCE_FILE).lastPathComponent () - << "' at line " << cStringWithSigned (IN_SOURCE_LINE) << "]\n" ; + 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") ; } #endif //--- Append source string @@ -622,100 +683,103 @@ void ggs_printWarning (C_Compiler * inCompiler, } if (! executionModeIsIndexing ()) { if (cocoaOutput ()) { - co.setForeColor (kYellowForeColor) ; - co.setTextAttribute (kBoldTextAttribute) ; - co.appendUnicodeCharacter (COCOA_WARNING_ID COMMA_HERE) ; - co << warningMessage ; - co.setTextAttribute (kAllAttributesOff) ; - co << "\n" ; - co.flush () ; + gCout.setForeColor (kYellowForeColor) ; + gCout.setTextAttribute (kBoldTextAttribute) ; + gCout.appendChar (COCOA_WARNING_ID) ; + gCout.appendString (warningMessage) ; + gCout.setTextAttribute (kAllAttributesOff) ; + gCout.appendNewLine () ; ; + gCout.flush () ; }else{ - co.setForeColor (kYellowForeColor) ; - co.setTextAttribute (kBoldTextAttribute) ; - co << warningMessage ; - co.setTextAttribute (kAllAttributesOff) ; - co << "\n" ; - co.flush () ; + gCout.setForeColor (kYellowForeColor) ; + gCout.setTextAttribute (kBoldTextAttribute) ; + gCout.appendString (warningMessage) ; + gCout.setTextAttribute (kAllAttributesOff) ; + gCout.appendNewLine () ; ; + gCout.flush () ; } } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Method called for printing a success message // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void ggs_printFileOperationSuccess (const C_String & inMessage) { +void ggs_printFileOperationSuccess (const String & inMessage) { if (! executionModeIsIndexing ()) { if (cocoaOutput ()) { - co.setForeColor (kGreenForeColor) ; - co.setTextAttribute (kBoldTextAttribute) ; - co << inMessage; - co.setTextAttribute (kAllAttributesOff) ; - co.flush () ; + gCout.setForeColor (kGreenForeColor) ; + gCout.setTextAttribute (kBoldTextAttribute) ; + gCout.appendString (inMessage) ; + gCout.setTextAttribute (kAllAttributesOff) ; + gCout.flush () ; }else{ - co.setForeColor (kGreenForeColor) ; - co.setTextAttribute (kBoldTextAttribute) ; - co << inMessage ; - co.setTextAttribute (kAllAttributesOff) ; - co.flush () ; + gCout.setForeColor (kGreenForeColor) ; + gCout.setTextAttribute (kBoldTextAttribute) ; + gCout.appendString (inMessage) ; + gCout.setTextAttribute (kAllAttributesOff) ; + gCout.flush () ; } } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Method called for printing a file creation success // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void ggs_printFileCreationSuccess (const C_String & inMessage) { +void ggs_printFileCreationSuccess (const String & inMessage) { if (! executionModeIsIndexing ()) { if (cocoaOutput ()) { - co.setForeColor (kBlueForeColor) ; - co.setTextAttribute (kBoldTextAttribute) ; - co << inMessage; - co.setTextAttribute (kAllAttributesOff) ; - co.flush () ; + gCout.setForeColor (kBlueForeColor) ; + gCout.setTextAttribute (kBoldTextAttribute) ; + gCout.appendString (inMessage) ; + gCout.setTextAttribute (kAllAttributesOff) ; + gCout.flush () ; }else{ - co.setForeColor (kBlueForeColor) ; - co.setTextAttribute (kBoldTextAttribute) ; - co << inMessage ; - co.setTextAttribute (kAllAttributesOff) ; - co.flush () ; + gCout.setForeColor (kBlueForeColor) ; + gCout.setTextAttribute (kBoldTextAttribute) ; + gCout.appendString (inMessage) ; + gCout.setTextAttribute (kAllAttributesOff) ; + gCout.flush () ; } } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Methods called for printing a message // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void ggs_printMessage (const C_String & inMessage +void ggs_printMessage (const String & inMessage COMMA_LOCATION_ARGS) { if (! executionModeIsIndexing ()) { - C_String message = inMessage ; + String message = inMessage ; #ifndef DO_NOT_GENERATE_CHECKINGS if (verboseOutput ()) { - message << "[Displayed from file '" << C_String (IN_SOURCE_FILE).lastPathComponent () - << "' at line " << cStringWithSigned (IN_SOURCE_LINE) << "]\n" ; + message.appendCString ("[Displayed from file '") ; + message.appendString (String (IN_SOURCE_FILE).lastPathComponent ()) ; + message.appendCString ("' at line ") ; + message.appendSigned (IN_SOURCE_LINE) ; + message.appendCString ("]\n") ; } #endif - co << message ; - co.flush () ; + gCout.appendString (message) ; + gCout.flush () ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark cToken #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cToken::cToken (void) : mNextToken (nullptr), @@ -727,20 +791,20 @@ mSeparatorStringBeforeToken (), mTokenCode (0) { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cToken::~cToken (void) { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED - #pragma mark C_parsingContext + #pragma mark ParsingContext #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_parsingContext::C_parsingContext (void) : +ParsingContext::ParsingContext (void) : mParsingArrayIndex (0), mLocation (), mCurrentTokenPtr (nullptr), @@ -749,9 +813,9 @@ mPreviousChar (TO_UNICODE ('\0')), mTemplateString () { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_parsingContext::C_parsingContext (const C_parsingContext & inSource) : +ParsingContext::ParsingContext (const ParsingContext & inSource) : mParsingArrayIndex (inSource.mParsingArrayIndex), mLocation (inSource.mLocation), mCurrentTokenPtr (inSource.mCurrentTokenPtr), @@ -760,9 +824,9 @@ mPreviousChar (inSource.mPreviousChar), mTemplateString (inSource.mTemplateString) { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_parsingContext & C_parsingContext::operator = (const C_parsingContext & inSource) { +ParsingContext & ParsingContext::operator = (const ParsingContext & inSource) { mParsingArrayIndex = inSource.mParsingArrayIndex ; mLocation = inSource.mLocation ; mCurrentTokenPtr = inSource.mCurrentTokenPtr ; @@ -772,4 +836,4 @@ C_parsingContext & C_parsingContext::operator = (const C_parsingContext & inSour return * this ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/C_galgas_io.h b/goil/build/libpm/galgas2/C_galgas_io.h index cbd8a2612..41f57e9c6 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,88 +16,87 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #pragma once -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -#include +#include "String-class.h" +#include "TC_UniqueArray.h" +#include "LocationInSource.h" +#include "SourceTextInString.h" +#include "C_IssueWithFixIt.h" +#include "SharedObject.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -#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" +#include +#include -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -class C_Compiler ; +class 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 utf32 * mEntryString ; - public: const int16_t mEntryStringLength ; + public: const std::initializer_list mEntryString ; public: const int16_t mTokenCode ; //--- Constructor - public: C_unicode_lexique_table_entry (const utf32 * inEntryString, - const int16_t inEntryStringLength, + public: C_unicode_lexique_table_entry (const std::initializer_list & inEntryString, const int16_t inTokenCode) ; -//--- No copy +//--- Handle 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 &) ; + private: C_unicode_lexique_table_entry & operator = (const C_unicode_lexique_table_entry &) = delete ; } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Token class // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class cToken { public: cToken * mNextToken ; - public: C_LocationInSource mStartLocation ; - public: C_LocationInSource mEndLocation ; - public: C_String mTemplateStringBeforeToken ; // Template string before the token - public: C_String mSeparatorStringBeforeToken ; + public: LocationInSource mStartLocation ; + public: LocationInSource mEndLocation ; + public: String mTemplateStringBeforeToken ; // Template string before the token + public: String mSeparatorStringBeforeToken ; public: int32_t mTokenCode ; public: cToken (void) ; @@ -108,35 +107,35 @@ class cToken { private: cToken & operator = (const cToken &) ; } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Class for handling parsing context // (used by parse ... rewind ... end parse ; instruction) // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -class C_parsingContext { +class ParsingContext final { private: int32_t mParsingArrayIndex ; - private: C_LocationInSource mLocation ; + private: LocationInSource mLocation ; private: cToken * mCurrentTokenPtr ; private: utf32 mCurrentChar ; private: utf32 mPreviousChar ; - private: C_String mTemplateString ; + private: String mTemplateString ; - friend class C_Lexique ; + friend class Lexique ; - public: C_parsingContext (void) ; + public: ParsingContext (void) ; -//--- No copy - public: C_parsingContext (const C_parsingContext & inSource) ; - public: C_parsingContext & operator = (const C_parsingContext & inSource) ; +//--- Copy + public: ParsingContext (const ParsingContext & inSource) ; + public: ParsingContext & operator = (const ParsingContext & inSource) ; } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Abstract class for GALGAS input/output // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- //--- Errors count int32_t maxErrorCount (void) ; @@ -148,84 +147,84 @@ int32_t maxWarningCount (void) ; int32_t totalWarningCount (void) ; -void signalParsingError (C_Compiler * inCompiler, - const C_SourceTextInString & inSourceText, - const C_LocationInSource & inPreviousTokenEndLocation, +void signalParsingError (Compiler * inCompiler, + const SourceTextInString & inSourceText, + const LocationInSource & inPreviousTokenEndLocation, const C_IssueWithFixIt & inIssue, - const C_String & inFoundTokenMessage, - const TC_UniqueArray & inAcceptedTokenNames + const String & inFoundTokenMessage, + const TC_UniqueArray & inAcceptedTokenNames COMMA_LOCATION_ARGS) ; -void signalExtractError (C_Compiler * inCompiler, - const C_SourceTextInString & inSourceText, +void signalExtractError (Compiler * inCompiler, + const SourceTextInString & inSourceText, const C_IssueWithFixIt & inIssue, - const TC_UniqueArray & inExpectedClassesErrorStringsArray, - const C_String & inActualFoundClassErrorString + const TC_UniqueArray & inExpectedClassesErrorStringsArray, + const String & inActualFoundClassErrorString COMMA_LOCATION_ARGS) ; -void signalCastError (C_Compiler * inCompiler, - const C_SourceTextInString & inSourceText, +void signalCastError (Compiler * inCompiler, + const SourceTextInString & inSourceText, const C_IssueWithFixIt & inIssue, const std::type_info * inBaseClass, const bool inUseKindOfClass, - const C_String & inActualFoundClassErrorString + const String & inActualFoundClassErrorString COMMA_LOCATION_ARGS) ; -void signalLexicalWarning (C_Compiler * inCompiler, - const C_SourceTextInString & inSourceText, +void signalLexicalWarning (Compiler * inCompiler, + const SourceTextInString & inSourceText, const C_IssueWithFixIt & inIssue, - const C_String & inLexicalWarningMessage + const String & inLexicalWarningMessage COMMA_LOCATION_ARGS) ; -void signalLexicalError (C_Compiler * inCompiler, - const C_SourceTextInString & inSourceText, +void signalLexicalError (Compiler * inCompiler, + const SourceTextInString & inSourceText, const C_IssueWithFixIt & inIssue, - const C_String & inLexicalErrorMessage + const String & inLexicalErrorMessage COMMA_LOCATION_ARGS) ; -void signalSemanticWarning (C_Compiler * inCompiler, - const C_SourceTextInString & inSourceText, +void signalSemanticWarning (Compiler * inCompiler, + const SourceTextInString & inSourceText, const C_IssueWithFixIt & inIssue, - const C_String & inWarningMessage + const String & inWarningMessage COMMA_LOCATION_ARGS) ; -void signalSemanticError (C_Compiler * inCompiler, - const C_SourceTextInString & inSourceText, +void signalSemanticError (Compiler * inCompiler, + const SourceTextInString & inSourceText, const C_IssueWithFixIt & inIssue, - const C_String & inErrorMessage + const String & inErrorMessage COMMA_LOCATION_ARGS) ; -void signalRunTimeError (C_Compiler * inCompiler, - const C_String & inErrorMessage +void signalRunTimeError (Compiler * inCompiler, + const String & inErrorMessage COMMA_LOCATION_ARGS) ; -void signalRunTimeWarning (C_Compiler * inCompiler, - const C_String & inWarningMessage +void signalRunTimeWarning (Compiler * inCompiler, + const String & inWarningMessage COMMA_LOCATION_ARGS) ; -void ggs_printError (C_Compiler * inCompiler, - const C_SourceTextInString & inSourceText, +void ggs_printError (Compiler * inCompiler, + const SourceTextInString & inSourceText, const C_IssueWithFixIt & inIssue, - const C_String & inMessage + const String & inMessage COMMA_LOCATION_ARGS) ; -void ggs_printWarning (C_Compiler * inCompiler, - const C_SourceTextInString & inSourceText, +void ggs_printWarning (Compiler * inCompiler, + const SourceTextInString & inSourceText, const C_IssueWithFixIt & inIssue, - const C_String & inMessage + const String & inMessage COMMA_LOCATION_ARGS) ; -void ggs_printFileOperationSuccess (const C_String & inMessage) ; +void ggs_printFileOperationSuccess (const String & inMessage) ; -void ggs_printFileCreationSuccess (const C_String & inMessage) ; +void ggs_printFileCreationSuccess (const String & inMessage) ; -void ggs_printMessage (const C_String & inMessage +void ggs_printMessage (const String & inMessage COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void fatalError (const C_String & inErrorMessage, +void fatalError (const 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 6595229ea..f0defbdb1 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 "galgas2/C_galgas_quiet_option.h" -#include "galgas2/F_verbose_output.h" +#include "C_galgas_quiet_option.h" +#include "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 44b34c9bd..5de62f7ce 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 "command_line_interface/C_BoolCommandLineOption.h" +#include "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 3db17a0e1..df5de3960 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 "galgas2/C_galgas_type_descriptor.h" -#include "strings/C_String.h" -#include "galgas2/C_galgas_io.h" +#include "C_galgas_type_descriptor.h" +#include "String-class.h" +#include "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,11 +160,13 @@ void C_galgas_type_descriptor::recursiveInsert (C_galgas_type_descriptor * & ioR } }else{ ioExtension = false; - C_String errorMessage ; - errorMessage << "FATAL ERROR (type '@" << inDescriptor->mGalgasTypeName << "' already defined)" ; + String errorMessage ; + errorMessage.appendCString ("FATAL ERROR (type '@") ; + errorMessage.appendString (inDescriptor->mGalgasTypeName) ; + errorMessage.appendCString ("' 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 1c01594bc..9f2c49de9 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 "generic-arraies/TC_UniqueArray.h" +#include "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 5594e62b2..aab3dac20 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, ..., 2021 Pierre Molinaro. +// Copyright (C) 2015, ..., 2023 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 "galgas2/C_galgas_verbose_option.h" -#include "galgas2/F_verbose_output.h" +#include "C_galgas_verbose_option.h" +#include "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 79c47566a..56760d0db 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, ..., 2015 Pierre Molinaro. +// Copyright (C) 2015, ..., 2023 Pierre Molinaro. // // e-mail : pierre@pcmolinaro.name // @@ -16,19 +16,16 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//---------------------------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------- -#ifndef GALGAS_VERBOSE_OPTION_DEFINED -#define GALGAS_VERBOSE_OPTION_DEFINED +#pragma once -//---------------------------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------- -#include "command_line_interface/C_BoolCommandLineOption.h" +#include "C_BoolCommandLineOption.h" -//---------------------------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------- extern C_BoolCommandLineOption gOption_galgas_5F_builtin_5F_options_verbose_5F_output ; -//---------------------------------------------------------------------------------------------------------------------- - -#endif +//---------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/C_Compiler.cpp b/goil/build/libpm/galgas2/Compiler.cpp similarity index 58% rename from goil/build/libpm/galgas2/C_Compiler.cpp rename to goil/build/libpm/galgas2/Compiler.cpp index f360ed8e7..b3b7ec31a 100644 --- a/goil/build/libpm/galgas2/C_Compiler.cpp +++ b/goil/build/libpm/galgas2/Compiler.cpp @@ -1,6 +1,6 @@ -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -// 'C_Compiler' : the compiler base class ; +// '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 "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 "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 "all-predefined-types.h" -#include "utilities/MF_MemoryControl.h" -#include "galgas2/F_verbose_output.h" +#include "MF_MemoryControl.h" +#include "F_verbose_output.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Syntax error message for 'end of source': // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -const char * C_Compiler::kEndOfSourceLexicalErrorMessage = "end of source" ; +const char * Compiler::kEndOfSourceLexicalErrorMessage = "end of source" ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -bool C_Compiler::performGeneration (void) { +bool Compiler::performGeneration (void) { return (! gOption_galgas_5F_builtin_5F_options_do_5F_not_5F_generate_5F_any_5F_file.mValue) && (executionMode () == kExecutionModeNormal) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -bool C_Compiler::performLogFileRead (void) { +bool 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 // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_Compiler::C_Compiler (C_Compiler * inCallerCompiler +Compiler::Compiler (Compiler * inCallerCompiler COMMA_LOCATION_ARGS) : -C_SharedObject (THERE), +SharedObject (THERE), mCallerCompiler (nullptr), mIssueArray (), mSentString (), @@ -79,27 +79,27 @@ mEndLocationForNext () { macroAssignSharedObject (mCallerCompiler, inCallerCompiler) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_Compiler::~C_Compiler (void) { +Compiler::~Compiler (void) { macroDetachSharedObject (mCallerCompiler) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_String C_Compiler::sourceFilePath (void) const { +String Compiler::sourceFilePath (void) const { return mSourceText.sourceFilePath () ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Issue #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void C_Compiler::appendIssue (const cIssueDescriptor & inIssue) { +void Compiler::appendIssue (const cIssueDescriptor & inIssue) { if (nullptr == mCallerCompiler) { mIssueArray.appendObject (inIssue) ; }else{ @@ -107,36 +107,36 @@ void C_Compiler::appendIssue (const cIssueDescriptor & inIssue) { } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void C_Compiler::writeIssueJSONFile (const C_String & inFile) { +void Compiler::writeIssueJSONFile (const String & inFile) { if (performGeneration ()) { - C_String s ("[\n") ; + String s ("[\n") ; bool isFirst = true ; for (int32_t i=0 ; imGalgasTypeName << " to an @" << inTargetTypeName ; + String m = "cannot cast an @" ; + m.appendString (inObjectDynamicTypeDescriptor->mGalgasTypeName) ; + m.appendCString (" to an @") ; + m.appendString (inTargetTypeName) ; onTheFlyRunTimeError (m COMMA_THERE) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark GALGAS Error #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void C_Compiler::semanticErrorAtLocation (const GALGAS_location & inErrorLocation, - const C_String & inErrorMessage, +void Compiler::semanticErrorAtLocation (const GALGAS_location & inErrorLocation, + const String & inErrorMessage, const TC_Array & inFixItArray COMMA_LOCATION_ARGS) { if (inErrorLocation.isValid ()) { // No error raised if not built @@ -302,14 +302,14 @@ void C_Compiler::semanticErrorAtLocation (const GALGAS_location & inErrorLocatio } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void C_Compiler::emitSemanticError (const GALGAS_location & inErrorLocation, +void Compiler::emitSemanticError (const GALGAS_location & inErrorLocation, const GALGAS_string & inErrorMessage, const TC_Array & inFixItArray COMMA_LOCATION_ARGS) { if (inErrorLocation.isValid () && inErrorMessage.isValid ()) { - const C_String errorMessage = inErrorMessage.stringValue () ; + const String errorMessage = inErrorMessage.stringValue () ; if (!inErrorLocation.sourceText ().isValid ()) { onTheFlyRunTimeError (errorMessage COMMA_THERE) ; }else{ @@ -322,29 +322,29 @@ void C_Compiler::emitSemanticError (const GALGAS_location & inErrorLocation, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void C_Compiler::semanticErrorWith_K_message (const GALGAS_lstring & inKey, - TC_UniqueArray & ioNearestKeyArray, +void Compiler::semanticErrorWith_K_message (const GALGAS_lstring & inKey, + TC_UniqueArray & ioNearestKeyArray, const char * in_K_ErrorMessage COMMA_LOCATION_ARGS) { - const C_String key = inKey.mProperty_string.stringValue () ; + const String key = inKey.mProperty_string.stringValue () ; //--- Build error message - C_String message ; + String message ; bool perCentFound = false ; - const C_String searchErrorMessage (in_K_ErrorMessage) ; + const String searchErrorMessage (in_K_ErrorMessage) ; const int32_t errorMessageLength = searchErrorMessage.length () ; for (int32_t i=0 ; i>" ; + message.appendCString ("<>") ; }else if (inExistingKeyLocation.getter_isNowhere (HERE).boolEnum () == kBoolTrue) { - message << "<>" ; + message.appendCString ("<>") ; }else{ - message << inExistingKeyLocation.getter_startLocationString (this COMMA_THERE) ; + message.appendString (inExistingKeyLocation.getter_startLocationString (this COMMA_THERE).stringValue ()) ; } } perCentFound = false ; }else if (UNICODE_VALUE (c) == '%') { perCentFound = true ; }else{ - message.appendUnicodeCharacter (c COMMA_HERE) ; + message.appendChar (c) ; } } //--- Emit error message @@ -395,31 +395,31 @@ void C_Compiler::semanticErrorWith_K_L_message (const GALGAS_lstring & inKey, semanticErrorAtLocation (key_location, message, TC_Array () COMMA_THERE) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void C_Compiler::semanticWarningWith_K_L_message (const GALGAS_lstring & inKey, +void Compiler::semanticWarningWith_K_L_message (const GALGAS_lstring & inKey, const char * in_K_L_ErrorMessage, const GALGAS_location & inExistingKeyLocation COMMA_LOCATION_ARGS) { - const C_String key = inKey.mProperty_string.stringValue () ; + const String key = inKey.mProperty_string.stringValue () ; //--- Build error message - C_String message ; + String message ; bool perCentFound = false ; - const C_String searchErrorMessage (in_K_L_ErrorMessage) ; + const 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 C_String warningMessage = inWarningMessage.stringValue () ; + const String warningMessage = inWarningMessage.stringValue () ; if (!inWarningLocation.sourceText ().isValid ()) { signalRunTimeWarning (this, warningMessage COMMA_THERE) ; }else{ @@ -471,70 +471,70 @@ void C_Compiler::emitSemanticWarning (const GALGAS_location & inWarningLocation, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Run Time Error #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void C_Compiler::onTheFlyRunTimeError (const C_String & inRunTimeErrorMessage +void Compiler::onTheFlyRunTimeError (const String & inRunTimeErrorMessage COMMA_LOCATION_ARGS) { signalRunTimeError (this, inRunTimeErrorMessage COMMA_THERE) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark here, next #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_location C_Compiler::here (void) const { +GALGAS_location Compiler::here (void) const { return GALGAS_location (mStartLocationForHere, mEndLocationForHere, mSourceText) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_location C_Compiler::separator (void) const { +GALGAS_location Compiler::separator (void) const { return GALGAS_location (mEndLocationForHere, mStartLocationForNext, mSourceText) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_location C_Compiler::next (void) const { +GALGAS_location 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 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, +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, const bool inMakeExecutable) { generateFileWithPatternFromPathes (sourceFilePath ().stringByDeletingLastPathComponent (), inDirectoriesToExclude, @@ -548,136 +548,145 @@ void C_Compiler::generateFile (const C_String & inLineCommentPrefix, inMakeExecutable) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void C_Compiler::generateFileFromPathes (const C_String & inStartPath, - const TC_UniqueArray & inDirectoriesToExclude, - const C_String & inFileName, - const C_String & inContents) { +void Compiler::generateFileFromPathes (const String & inStartPath, + const TC_UniqueArray & inDirectoriesToExclude, + const String & inFileName, + const String & inContents) { //--- Verbose option ? const bool verboseOptionOn = verboseOutput () ; //--- Start path : by default, use source file directory - const C_String startPath = (inStartPath.length () == 0) + const String startPath = (inStartPath.length () == 0) ? sourceFilePath ().stringByDeletingLastPathComponent () : inStartPath ; //--- Search file in directory - const C_String fullPathName = C_FileManager::findFileInDirectory (startPath, inFileName, inDirectoriesToExclude) ; + const String fullPathName = FileManager::findFileInDirectory (startPath, inFileName, inDirectoriesToExclude) ; if (fullPathName.length () == 0) { //--- File does not exist : create it - C_String fileName = startPath ; - fileName.appendString ("/") ; + String fileName = startPath ; + fileName.appendCString ("/") ; fileName.appendString (inFileName) ; - const C_String directory = fileName.stringByDeletingLastPathComponent () ; - C_FileManager::makeDirectoryIfDoesNotExist (directory) ; + const String directory = fileName.stringByDeletingLastPathComponent () ; + FileManager::makeDirectoryIfDoesNotExist (directory) ; if (performGeneration ()) { - C_TextFileWrite f (fileName) ; + TextFileWrite f (fileName) ; bool ok = f.isOpened () ; if (! ok) { - C_String message ; - message << "Cannot open '" << fileName << "' file in write mode." ; + String message = "Cannot open '" ; + message.appendString (fileName) ; + message.appendCString ("' file in write mode.") ; onTheFlySemanticError (message COMMA_HERE) ; } - f << inContents ; + f.appendString (inContents) ; if (verboseOptionOn) { - ggs_printFileOperationSuccess (C_String ("Created '") + fileName + "'.\n") ; + ggs_printFileOperationSuccess (String ("Created '") + fileName + "'.\n") ; } }else{ - ggs_printWarning (this, C_SourceTextInString(), C_IssueWithFixIt (), C_String ("Need to create '") + fileName + "'.\n" COMMA_HERE) ; + ggs_printWarning (this, SourceTextInString(), C_IssueWithFixIt (), String ("Need to create '") + fileName + "'.\n" COMMA_HERE) ; } }else{ - const C_String previousContents = C_FileManager::stringWithContentOfFile (fullPathName) ; + const String previousContents = FileManager::stringWithContentOfFile (fullPathName) ; const bool same = previousContents == inContents ; if (! same) { if (performGeneration ()) { - C_TextFileWrite f (fullPathName) ; + TextFileWrite f (fullPathName) ; if (! f.isOpened ()) { - C_String message ; - message << "Cannot open '" << fullPathName << "' file in write mode." ; + String message = "Cannot open '" ; + message.appendString (fullPathName) ; + message.appendCString ("' file in write mode.") ; onTheFlySemanticError (message COMMA_HERE) ; }else{ - f << inContents ; + f.appendString (inContents) ; if (verboseOptionOn) { - ggs_printFileOperationSuccess (C_String ("Replaced '") + fullPathName + "'.\n") ; + ggs_printFileOperationSuccess (String ("Replaced '") + fullPathName + "'.\n") ; } } }else{ - ggs_printWarning (this, C_SourceTextInString (), C_IssueWithFixIt (), C_String ("Need to replace '") + fullPathName + "'.\n" COMMA_HERE) ; + ggs_printWarning (this, SourceTextInString (), C_IssueWithFixIt (), String ("Need to replace '") + fullPathName + "'.\n" COMMA_HERE) ; } } } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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, +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, const bool inMakeExecutable ) { //--- Verbose option ? const bool verboseOptionOn = verboseOutput () ; //--- User zones - 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 ; + 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 ; //--- Start path : by default, use source file directory - const C_String startPath = (inStartPath.length () == 0) + const String startPath = (inStartPath.length () == 0) ? sourceFilePath ().stringByDeletingLastPathComponent () : inStartPath ; //--- Search file in directory - const C_String fullPathName = C_FileManager::findFileInDirectory (startPath, inFileName, inDirectoriesToExclude) ; + const String fullPathName = FileManager::findFileInDirectory (startPath, inFileName, inDirectoriesToExclude) ; if (fullPathName.length () == 0) { //--- File does not exist : create it - C_String fileName = startPath ; - fileName.appendString ("/") ; + String fileName = startPath ; + fileName.appendCString ("/") ; fileName.appendString (inFileName) ; - const C_String directory = fileName.stringByDeletingLastPathComponent () ; - C_FileManager::makeDirectoryIfDoesNotExist (directory) ; + const String directory = fileName.stringByDeletingLastPathComponent () ; + FileManager::makeDirectoryIfDoesNotExist (directory) ; if (performGeneration ()) { - C_TextFileWrite f (fileName) ; + TextFileWrite f (fileName) ; bool ok = f.isOpened () ; if (! ok) { - C_String message ; - message << "Cannot open '" << fileName << "' file in write mode." ; + String message = "Cannot open '" ; + message.appendString (fileName) ; + message.appendCString ("' file in write mode.") ; onTheFlySemanticError (message COMMA_HERE) ; } - 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 ; + 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) ; if (verboseOptionOn) { - ggs_printFileCreationSuccess (C_String ("Created '") + fileName + "'.\n") ; + ggs_printFileCreationSuccess (String ("Created '") + fileName + "'.\n") ; } f.close () ; if (inMakeExecutable) { #if COMPILE_FOR_WINDOWS == 0 struct stat fileStat ; - ::stat (fileName.cString (HERE), & fileStat) ; - ::chmod (fileName.cString (HERE), fileStat.st_mode | S_IXUSR | S_IXGRP | S_IXOTH) ; + ::stat (fileName.cString (), & fileStat) ; + ::chmod (fileName.cString (), fileStat.st_mode | S_IXUSR | S_IXGRP | S_IXOTH) ; #endif } }else{ - ggs_printWarning (this, C_SourceTextInString (), C_IssueWithFixIt (), C_String ("Need to create '") + fileName + "'.\n" COMMA_HERE) ; + ggs_printWarning (this, SourceTextInString (), C_IssueWithFixIt (), String ("Need to create '") + fileName + "'.\n" COMMA_HERE) ; } }else{ - C_String firstUserPart ; - C_String secondUserPart ; - C_String firstGeneratedPart ; - C_String secondGeneratedPart ; + String firstUserPart ; + String secondUserPart ; + String firstGeneratedPart ; + String secondGeneratedPart ; logFileRead (fullPathName) ; - C_String s = C_FileManager::stringWithContentOfFile (fullPathName) ; - TC_UniqueArray stringArray ; + String s = FileManager::stringWithContentOfFile (fullPathName) ; + TC_UniqueArray stringArray ; s.componentsSeparatedByString (kSTART_OF_USER_ZONE_1, stringArray) ; - C_String header ; + String header ; bool ok = stringArray.count () == 2 ; if (ok) { header = stringArray (0 COMMA_HERE) ; @@ -702,36 +711,41 @@ void C_Compiler::generateFileWithPatternFromPathes ( secondGeneratedPart = stringArray (1 COMMA_HERE) ; } if (! ok) { - ggs_printError (this, C_SourceTextInString (), C_IssueWithFixIt (), C_String ("BAD FILE '") + fullPathName + "'.\n" COMMA_HERE) ; + ggs_printError (this, SourceTextInString (), C_IssueWithFixIt (), String ("BAD FILE '") + fullPathName + "'.\n" COMMA_HERE) ; }else if ((header == inHeader) && (firstGeneratedPart == inGeneratedZone2) && (secondGeneratedPart == inGeneratedZone3)) { }else if (performGeneration ()) { - C_TextFileWrite f (fullPathName) ; + TextFileWrite f (fullPathName) ; ok = f.isOpened () ; if (! ok) { - C_String message ; - message << "Cannot open '" << fullPathName << "' file in write mode." ; + String message = "Cannot open '" ; + message.appendString (fullPathName) ; + message.appendCString ("' file in write mode.") ; onTheFlySemanticError (message COMMA_HERE) ; } - 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 ; + 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) ; if (verboseOptionOn) { - ggs_printFileOperationSuccess (C_String ("Replaced '") + fullPathName + "'.\n") ; + ggs_printFileOperationSuccess (String ("Replaced '") + fullPathName + "'.\n") ; } f.close () ; if (inMakeExecutable) { #if COMPILE_FOR_WINDOWS == 0 struct stat fileStat ; - ::stat (fullPathName.cString (HERE), & fileStat) ; - ::chmod (fullPathName.cString (HERE), fileStat.st_mode | S_IXUSR | S_IXGRP | S_IXOTH) ; + ::stat (fullPathName.cString (), & fileStat) ; + ::chmod (fullPathName.cString (), fileStat.st_mode | S_IXUSR | S_IXGRP | S_IXOTH) ; #endif } }else{ - ggs_printWarning (this, C_SourceTextInString (), C_IssueWithFixIt (), C_String ("Need to replace '") + fullPathName + "'.\n" COMMA_HERE) ; + ggs_printWarning (this, SourceTextInString (), C_IssueWithFixIt (), String ("Need to replace '") + fullPathName + "'.\n" COMMA_HERE) ; } } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/C_Compiler.h b/goil/build/libpm/galgas2/Compiler.h similarity index 58% rename from goil/build/libpm/galgas2/C_Compiler.h rename to goil/build/libpm/galgas2/Compiler.h index a7226fcd5..d47327f0e 100644 --- a/goil/build/libpm/galgas2/C_Compiler.h +++ b/goil/build/libpm/galgas2/Compiler.h @@ -1,6 +1,6 @@ -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -// 'C_Compiler' : the compiler base class ; +// '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 "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 "TC_UniqueArray.h" +#include "String-class.h" +#include "SharedObject.h" +#include "LocationInSource.h" +#include "SourceTextInString.h" +#include "C_IssueWithFixIt.h" +#include "cIssueDescriptor.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #include -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_location ; class GALGAS_string ; class GALGAS_lstring ; class C_galgas_type_descriptor ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Compiler class // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -class C_Compiler : public C_SharedObject { +class Compiler : public SharedObject { //--- Constructor and destructor - public: C_Compiler (C_Compiler * inCallerCompiler + public: Compiler (Compiler * inCallerCompiler COMMA_LOCATION_ARGS) ; - public: virtual ~ C_Compiler (void) ; + public: virtual ~ Compiler (void) ; //--- No copy - private: C_Compiler (const C_Compiler &) = delete ; - private: C_Compiler & operator = (const C_Compiler &) = delete ; + private: Compiler (const Compiler &) = delete ; + private: Compiler & operator = (const Compiler &) = delete ; //--- Caller compiler (is nullptr for top compiler) - protected: C_Compiler * mCallerCompiler ; + protected: Compiler * mCallerCompiler ; //--- Issue array private: TC_UniqueArray mIssueArray ; public: void appendIssue (const cIssueDescriptor & inIssue) ; - public: void writeIssueJSONFile (const C_String & inFile) ; + public: void writeIssueJSONFile (const String & inFile) ; //--- Sent string - private: C_String mSentString ; + private: String mSentString ; private: bool mSentStringIsValid ; public: GALGAS_string sentString (void) const ; //--- Template String - protected: C_String mTemplateString ; - protected: C_LocationInSource mTemplateStringLocation ; + protected: String mTemplateString ; + protected: LocationInSource mTemplateStringLocation ; public: GALGAS_string retrieveAndResetTemplateString (void) ; public: void resetTemplateString (void) ; //--- Handling current character and its location - private: C_SourceTextInString mSourceText ; - protected: C_LocationInSource mCurrentLocation ; + private: SourceTextInString mSourceText ; + protected: LocationInSource mCurrentLocation ; - public: inline C_SourceTextInString sourceText (void) const { + public: inline SourceTextInString sourceText (void) const { return mSourceText ; } @@ -88,26 +88,26 @@ class C_Compiler : public C_SharedObject { public: void loopRunTimeVariantError (LOCATION_ARGS) ; //--- Handle 'here' in GALGAS - protected: C_LocationInSource mStartLocationForHere ; // Set by lexique - protected: C_LocationInSource mEndLocationForHere ; // Set by lexique + protected: LocationInSource mStartLocationForHere ; // Set by lexique + protected: 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: C_LocationInSource mStartLocationForNext ; // Set by lexique - protected: C_LocationInSource mEndLocationForNext ; // Set by lexique + protected: LocationInSource mStartLocationForNext ; // Set by lexique + protected: LocationInSource mEndLocationForNext ; // Set by lexique public: GALGAS_location next (void) const ; //--- Source file name - public: C_String sourceFilePath (void) const ; + public: String sourceFilePath (void) const ; //--- Syntax error message for 'end of source': protected: static const char * kEndOfSourceLexicalErrorMessage ; //--- Location in source - public: inline C_LocationInSource currentLocationInSource (void) const { + public: inline LocationInSource currentLocationInSource (void) const { return mCurrentLocation ; } @@ -124,34 +124,34 @@ class C_Compiler : public C_SharedObject { } //--- Get separator string - public: virtual C_String separatorString (void) const { return "" ; } + public: virtual String separatorString (void) const { return String () ; } //--- Init scanner from source file (for Cocoa GALGAS) - public: void resetAndLoadSourceFromText (const C_SourceTextInString & inSourceText) ; + public: void resetAndLoadSourceFromText (const SourceTextInString & inSourceText) ; //--- Print a message public: void printMessage (const GALGAS_string & inMessage COMMA_LOCATION_ARGS) ; - public: void printMessage (const C_String & inMessage COMMA_LOCATION_ARGS) ; + public: void printMessage (const String & inMessage COMMA_LOCATION_ARGS) ; //--- Print semantic error public: void semanticErrorAtLocation (const GALGAS_location & inErrorLocation, - const C_String & inErrorMessage, + const String & inErrorMessage, const TC_Array & inFixItArray COMMA_LOCATION_ARGS) ; //--- Print semantic warning public: void semanticWarningAtLocation (const GALGAS_location & inErrorLocation, - const C_String & inWarningMessage + const String & inWarningMessage COMMA_LOCATION_ARGS) ; //--- Signal a run-time error - public: void onTheFlyRunTimeError (const C_String & inRunTimeErrorMessage COMMA_LOCATION_ARGS) ; + public: void onTheFlyRunTimeError (const String & inRunTimeErrorMessage COMMA_LOCATION_ARGS) ; //--- Signal a semantic error - public: void onTheFlySemanticError (const C_String & inMessage COMMA_LOCATION_ARGS) ; + public: void onTheFlySemanticError (const String & inMessage COMMA_LOCATION_ARGS) ; //--- Signal a semantic warning - public: void onTheFlySemanticWarning (const C_String & inMessage COMMA_LOCATION_ARGS) ; + public: void onTheFlySemanticWarning (const String & inMessage COMMA_LOCATION_ARGS) ; //--- Emit a warning public: void emitSemanticWarning (const GALGAS_location & inWarningLocation, @@ -167,7 +167,7 @@ class C_Compiler : public C_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 C_Compiler : public C_SharedObject { COMMA_LOCATION_ARGS) ; //--- Cast error - public: void castError (const C_String & inTargetTypeName, + public: void castError (const String & inTargetTypeName, const C_galgas_type_descriptor * inObjectDynamicTypeDescriptor COMMA_LOCATION_ARGS) ; //--- File read logging public: static bool performLogFileRead (void) ; - public: void logFileRead (const C_String & inFilePath) ; + public: void logFileRead (const String & inFilePath) ; //--- File generation public: static bool performGeneration (void) ; //--- Generate file in directory - 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, + 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, const bool inMakeExecutable) ; - 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, + 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, const bool inMakeExecutable) ; - public: void generateFileFromPathes (const C_String & inStartPath, - const TC_UniqueArray & inDirectoriesToExclude, - const C_String & inFileName, - const C_String & inContents) ; + public: void generateFileFromPathes (const String & inStartPath, + const TC_UniqueArray & inDirectoriesToExclude, + const String & inFileName, + const String & inContents) ; } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/F_verbose_output.h b/goil/build/libpm/galgas2/F_verbose_output.h index 1fab2c6e3..4213c25ec 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 4dfe6b8a3..67acc75a6 100644 --- a/goil/build/libpm/galgas2/GALGAS_application.cpp +++ b/goil/build/libpm/galgas2/GALGAS_application.cpp @@ -1,9 +1,8 @@ -//---------------------------------------------------------------------------------------------------------------------- -// +//-------------------------------------------------------------------------------------------------- // // This file is part of libpm library // -// Copyright (C) 2010, ..., 2016 Pierre Molinaro. +// Copyright (C) 2010, ..., 2023 Pierre Molinaro. // // e-mail : pierre@pcmolinaro.name // @@ -15,66 +14,28 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #include "all-predefined-types.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 "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 "cLexiqueIntrospection.h" -//---------------------------------------------------------------------------------------------------------------------- -// -// '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_application' class +//-------------------------------------------------------------------------------------------------- -GALGAS_bool GALGAS_application::constructor_verboseOutput (UNUSED_LOCATION_ARGS) { +GALGAS_bool GALGAS_application::class_func_verboseOutput (UNUSED_LOCATION_ARGS) { return GALGAS_bool (verboseOutput ()) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_string GALGAS_application::constructor_system (UNUSED_LOCATION_ARGS) { +GALGAS_string GALGAS_application::class_func_system (UNUSED_LOCATION_ARGS) { #if COMPILE_FOR_WINDOWS == 1 return GALGAS_string ("windows") ; #else @@ -82,11 +43,11 @@ GALGAS_string GALGAS_application::constructor_system (UNUSED_LOCATION_ARGS) { #endif } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS__32_stringlist GALGAS_application::constructor_boolOptionNameList (LOCATION_ARGS) { - GALGAS__32_stringlist result = GALGAS__32_stringlist::constructor_emptyList (THERE) ; - TC_UniqueArray array ; +GALGAS__32_stringlist GALGAS_application::class_func_boolOptionNameList (LOCATION_ARGS) { + GALGAS__32_stringlist result = GALGAS__32_stringlist::class_func_emptyList (THERE) ; + TC_UniqueArray array ; C_BoolCommandLineOption::getBoolOptionNameList (array) ; for (int32_t i=0 ; i array ; +GALGAS__32_stringlist GALGAS_application::class_func_uintOptionNameList (LOCATION_ARGS) { + GALGAS__32_stringlist result = GALGAS__32_stringlist::class_func_emptyList (THERE) ; + TC_UniqueArray array ; C_UIntCommandLineOption::getUIntOptionNameList (array) ; for (int32_t i=0 ; i array ; +GALGAS__32_stringlist GALGAS_application::class_func_stringOptionNameList (LOCATION_ARGS) { + GALGAS__32_stringlist result = GALGAS__32_stringlist::class_func_emptyList (THERE) ; + TC_UniqueArray array ; C_StringCommandLineOption::getStringOptionNameList (array) ; for (int32_t i=0 ; i= argument count = " - << cStringWithUnsigned (commandLineArgumentCount ()) ; + String message ; + message.appendCString ("@application.commandLineArgumentAtIndex: index ") ; + message.appendUnsigned (idx) ; + message.appendCString (" >= argument count = ") ; + message.appendUnsigned (commandLineArgumentCount ()) ; inCompiler->onTheFlySemanticError (message COMMA_THERE) ; } } return result ; } -//----------------------------------------------------------------------------------------------------------------------* +//--------------------------------------------------------------------------------------------------* -GALGAS_stringset GALGAS_application::constructor_keywordIdentifierSet (LOCATION_ARGS) { - GALGAS_stringset result = GALGAS_stringset::constructor_emptySet (THERE) ; - TC_UniqueArray list ; +GALGAS_stringset GALGAS_application::class_func_keywordIdentifierSet (LOCATION_ARGS) { + GALGAS_stringset result = GALGAS_stringset::class_func_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) ; @@ -385,14 +346,14 @@ GALGAS_stringset GALGAS_application::constructor_keywordIdentifierSet (LOCATION_ return result ; } -//----------------------------------------------------------------------------------------------------------------------* +//--------------------------------------------------------------------------------------------------* -GALGAS_stringlist GALGAS_application::constructor_keywordListForIdentifier (const GALGAS_string & inIdentifier +GALGAS_stringlist GALGAS_application::class_func_keywordListForIdentifier (const GALGAS_string & inIdentifier COMMA_LOCATION_ARGS) { GALGAS_stringlist result ; if (inIdentifier.isValid ()) { - result = GALGAS_stringlist::constructor_emptyList (THERE) ; - TC_UniqueArray list ; + result = GALGAS_stringlist::class_func_emptyList (THERE) ; + TC_UniqueArray list ; bool found = false ; cLexiqueIntrospection::getKeywordListForIdentifier (inIdentifier.stringValue(), found, list) ; for (int32_t i=0 ; i < list.count () ; i++) { @@ -402,4 +363,4 @@ GALGAS_stringlist GALGAS_application::constructor_keywordListForIdentifier (cons return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/GALGAS_bigint.cpp b/goil/build/libpm/galgas2/GALGAS_bigint.cpp index 33e245078..f53ea4631 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, ..., 2018 Pierre Molinaro. +// Copyright (C) 2015, ..., 2023 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 "galgas2/C_Compiler.h" +#include "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 C_BigInt & inValue) : +GALGAS_bigint::GALGAS_bigint (const BigSigned & inValue) : AC_GALGAS_root (), mIsValid (true), mValue (inValue) { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- static bool gOk ; -GALGAS_bigint::GALGAS_bigint (const char * inDecimalString, C_Compiler * inCompiler COMMA_LOCATION_ARGS) : +GALGAS_bigint::GALGAS_bigint (const char * inDecimalString, Compiler * inCompiler COMMA_LOCATION_ARGS) : AC_GALGAS_root (), mIsValid (true), -mValue (inDecimalString, 10, gOk) { +mValue (inDecimalString, BigUnsignedBase::ten, 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.setToZero () ; + mValue = BigSigned () ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void GALGAS_bigint::description (C_String & ioString, +void GALGAS_bigint::description (String & ioString, const int32_t /* inIndentation */) const { - ioString << "<@bigint: " ; + ioString.appendCString ("<@bigint: ") ; if (!mIsValid) { - ioString << "not built" ; + ioString.appendCString ("not built") ; }else{ - ioString << mValue.decimalString () ; + ioString.appendString (mValue.decimalString ()) ; } - ioString << ">" ; + ioString.appendCString (">") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- 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::constructor_zero (UNUSED_LOCATION_ARGS) { +GALGAS_bigint GALGAS_bigint::class_func_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 (UNUSED_LOCATION_ARGS) const { +GALGAS_uintlist GALGAS_bigint::getter_extract_38_ForUnsignedRepresentation (LOCATION_ARGS) const { GALGAS_uintlist result ; if (isValid ()) { TC_UniqueArray valueArray ; mValue.extractBytesForUnsignedRepresentation (valueArray) ; - result = GALGAS_uintlist::constructor_emptyList (HERE) ; + result = GALGAS_uintlist::class_func_emptyList (THERE) ; for (int32_t i=0 ; i valueArray ; mValue.extractBytesForSignedRepresentation (valueArray) ; - result = GALGAS_uintlist::constructor_emptyList (HERE) ; + result = GALGAS_uintlist::class_func_emptyList (THERE) ; 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::constructor_emptyList (HERE) ; + result = GALGAS_uintlist::class_func_emptyList (THERE) ; 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::constructor_emptyList (HERE) ; + result = GALGAS_uintlist::class_func_emptyList (THERE) ; 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::constructor_emptyList (HERE) ; + result = GALGAS_uint_36__34_list::class_func_emptyList (THERE) ; 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 (UNUSED_LOCATION_ARGS) const { +GALGAS_uint_36__34_list GALGAS_bigint::getter_extract_36__34_ForSignedRepresentation (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::constructor_emptyList (HERE) ; + result = GALGAS_uint_36__34_list::class_func_emptyList (THERE) ; 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, - C_Compiler * inCompiler + 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{ - C_String s = mValue.xString () ; + 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 (C_String ("0x") + s) ; + result = GALGAS_string (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 (C_Compiler * /* inCompiler */ +void GALGAS_bigint::increment_operation (Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) { if (isValid ()) { - ++ mValue ; + mValue += 1 ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void GALGAS_bigint::decrement_operation (C_Compiler * /* inCompiler */ +void GALGAS_bigint::decrement_operation (Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) { if (isValid ()) { - -- mValue ; + mValue -= 1 ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #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 (C_Compiler * inCompiler +GALGAS_uint GALGAS_bigint::getter_uint (Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_uint result ; if (isValid ()) { @@ -486,9 +486,9 @@ GALGAS_uint GALGAS_bigint::getter_uint (C_Compiler * inCompiler return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_sint GALGAS_bigint::getter_sint (C_Compiler * inCompiler +GALGAS_sint GALGAS_bigint::getter_sint (Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_sint result ; if (isValid ()) { @@ -501,9 +501,9 @@ GALGAS_sint GALGAS_bigint::getter_sint (C_Compiler * inCompiler return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_uint_36__34_ GALGAS_bigint::getter_uint_36__34_ (C_Compiler * inCompiler +GALGAS_uint_36__34_ GALGAS_bigint::getter_uint_36__34_ (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_ (C_Compiler * inCompiler return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_sint_36__34_ GALGAS_bigint::getter_sint_36__34_ (C_Compiler * inCompiler +GALGAS_sint_36__34_ GALGAS_bigint::getter_sint_36__34_ (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_ (C_Compiler * inCompiler return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Arithmetics #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_bigint GALGAS_bigint::operator_unary_minus (C_Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) const { +GALGAS_bigint GALGAS_bigint::operator_unary_minus (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 (C_Compiler * /* inCompiler */ return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_bigint GALGAS_bigint::add_operation (const GALGAS_bigint & inOperand, - C_Compiler * /* inCompiler */ + 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, - C_Compiler * /* inCompiler */ + 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, - C_Compiler * /* inCompiler */ + 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, - C_Compiler * inCompiler + 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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_bigint result ; if (isValid () && inOperand2.isValid ()) { @@ -615,34 +615,12 @@ 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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { outQuotient.drop () ; outRemainder.drop () ; @@ -650,44 +628,20 @@ void GALGAS_bigint::method_divideBy (GALGAS_bigint inDivisor, if (inDivisor.mValue.isZero ()) { inCompiler->onTheFlyRunTimeError ("@sint64 divide by zero in modulo operation" COMMA_THERE) ; }else{ - 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) ; + const BigSignedQuotientRemainder r = mValue.divideByBigSigned (inDivisor.mValue) ; + outQuotient = GALGAS_bigint (r.quotient ()) ; + outRemainder = GALGAS_bigint (r.remainder ()) ; } } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Logical #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_bigint GALGAS_bigint::operator_and (const GALGAS_bigint & inOperand COMMA_UNUSED_LOCATION_ARGS) const { @@ -698,7 +652,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 { @@ -709,7 +663,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 { @@ -720,7 +674,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 ; @@ -730,16 +684,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 C_Compiler * /* inCompiler*/ + class Compiler * /* inCompiler*/ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_bigint result ; @@ -749,27 +703,29 @@ 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 C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_bigint result ; if (isValid () && inShiftOperand.isValid ()) { - if (inShiftOperand.mValue.isNegative ()) { + if (inShiftOperand.mValue.isStrictlyNegative ()) { 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) ; + result = GALGAS_bigint (mValue << inShiftOperand.mValue.uint32 ()) ; } } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_bigint GALGAS_bigint::right_shift_operation (const GALGAS_uint inShiftOperand, - class C_Compiler * /* inCompiler*/ + class Compiler * /* inCompiler*/ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_bigint result ; if (isValid () && inShiftOperand.isValid ()) { @@ -778,37 +734,39 @@ 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 C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_bigint result ; if (isValid () && inShiftOperand.isValid ()) { - if (inShiftOperand.mValue.isNegative ()) { + if (inShiftOperand.mValue.isStrictlyNegative ()) { 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) ; + result = GALGAS_bigint (mValue >> inShiftOperand.mValue.uint32 ()) ; } } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_bigint::plusAssign_operation (const GALGAS_bigint inOperand, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) { if (isValid () && inOperand.isValid ()) { mValue += inOperand.mValue ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_bigint::minusAssign_operation (const GALGAS_bigint inOperand, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) { if (isValid () && inOperand.isValid ()) { mValue -= inOperand.mValue ; @@ -816,20 +774,20 @@ void GALGAS_bigint::minusAssign_operation (const GALGAS_bigint inOperand, } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_bigint::mulAssign_operation (const GALGAS_bigint inOperand, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) { if (isValid () && inOperand.isValid ()) { mValue *= inOperand.mValue ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_bigint::divAssign_operation (const GALGAS_bigint inOperand, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid () && inOperand.isValid ()) { if (inOperand.mValue.isZero ()) { @@ -841,4 +799,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 73af8438a..0a3916dfd 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 "galgas2/C_Compiler.h" +#include "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::constructor_emptyBinarySet (UNUSED_LOCATION_ARGS) { +GALGAS_binaryset GALGAS_binaryset::class_func_emptyBinarySet (UNUSED_LOCATION_ARGS) { return GALGAS_binaryset (C_BDD ()) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_binaryset GALGAS_binaryset::constructor_fullBinarySet (UNUSED_LOCATION_ARGS) { +GALGAS_binaryset GALGAS_binaryset::class_func_fullBinarySet (UNUSED_LOCATION_ARGS) { C_BDD bdd ; bdd.setToTrue () ; return GALGAS_binaryset (bdd) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_binaryset GALGAS_binaryset::constructor_binarySetWithBit (const GALGAS_uint & inBitIndex, - C_Compiler * /* inCompiler */ +GALGAS_binaryset GALGAS_binaryset::class_func_binarySetWithBit (const GALGAS_uint & inBitIndex, + Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) { GALGAS_binaryset result ; if (inBitIndex.isValid ()) { @@ -65,33 +65,33 @@ GALGAS_binaryset GALGAS_binaryset::constructor_binarySetWithBit (const GALGAS_ui return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_binaryset GALGAS_binaryset::constructor_binarySetWithPredicateString (const GALGAS_string & inBitString, - C_Compiler * inCompiler +GALGAS_binaryset GALGAS_binaryset::class_func_binarySetWithPredicateString (const GALGAS_string & inBitString, + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_binaryset result ; if (inBitString.isValid ()) { - const C_String bitString = inBitString.stringValue () ; + const 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 (stringIndex COMMA_HERE) ; - C_String s ; + utf32 cc = bitString.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.appendUnicodeCharacter (cc COMMA_HERE) ; + s.appendChar (cc) ; stringIndex ++ ; if (stringIndex < stringLength) { - cc = bitString (stringIndex COMMA_HERE) ; + cc = bitString.charAtIndex (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 (i COMMA_HERE) ; + const utf32 c = s.charAtIndex (i COMMA_HERE) ; if (UNICODE_VALUE (c) == '0') { v &= C_BDD (bitIndex, false) ; bitIndex ++ ; @@ -112,7 +112,7 @@ GALGAS_binaryset GALGAS_binaryset::constructor_binarySetWithPredicateString (con if (ok) { result = GALGAS_binaryset (resultBDD) ; }else{ - C_String message ("invalid query string near index ") ; + String message ("invalid query string near index ") ; message.appendSigned (stringIndex) ; inCompiler->onTheFlyRunTimeError (message COMMA_THERE) ; } @@ -120,9 +120,9 @@ GALGAS_binaryset GALGAS_binaryset::constructor_binarySetWithPredicateString (con return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static GALGAS_binaryset binarySetWithComparison (C_Compiler * inCompiler, +static GALGAS_binaryset binarySetWithComparison (Compiler * inCompiler, const GALGAS_uint & inLeftFirstIndex, const GALGAS_uint & inBitCount, const C_BDD::compareEnum inComparison, @@ -146,12 +146,12 @@ static GALGAS_binaryset binarySetWithComparison (C_Compiler * inCompiler, return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_binaryset GALGAS_binaryset::constructor_binarySetWithEqualComparison (const GALGAS_uint & inLeftFirstIndex, +GALGAS_binaryset GALGAS_binaryset::class_func_binarySetWithEqualComparison (const GALGAS_uint & inLeftFirstIndex, const GALGAS_uint & inBitCount, const GALGAS_uint & inRightFirstIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { return binarySetWithComparison (inCompiler, inLeftFirstIndex, @@ -161,12 +161,12 @@ GALGAS_binaryset GALGAS_binaryset::constructor_binarySetWithEqualComparison (con COMMA_THERE) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_binaryset GALGAS_binaryset::constructor_binarySetWithNotEqualComparison (const GALGAS_uint & inLeftFirstIndex, +GALGAS_binaryset GALGAS_binaryset::class_func_binarySetWithNotEqualComparison (const GALGAS_uint & inLeftFirstIndex, const GALGAS_uint & inBitCount, const GALGAS_uint & inRightFirstIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { return binarySetWithComparison (inCompiler, inLeftFirstIndex, @@ -176,12 +176,12 @@ GALGAS_binaryset GALGAS_binaryset::constructor_binarySetWithNotEqualComparison ( COMMA_THERE) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_binaryset GALGAS_binaryset::constructor_binarySetWithLowerOrEqualComparison (const GALGAS_uint & inLeftFirstIndex, +GALGAS_binaryset GALGAS_binaryset::class_func_binarySetWithLowerOrEqualComparison (const GALGAS_uint & inLeftFirstIndex, const GALGAS_uint & inBitCount, const GALGAS_uint & inRightFirstIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { return binarySetWithComparison (inCompiler, inLeftFirstIndex, @@ -191,12 +191,12 @@ GALGAS_binaryset GALGAS_binaryset::constructor_binarySetWithLowerOrEqualComparis COMMA_THERE) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_binaryset GALGAS_binaryset::constructor_binarySetWithGreaterOrEqualComparison (const GALGAS_uint & inLeftFirstIndex, +GALGAS_binaryset GALGAS_binaryset::class_func_binarySetWithGreaterOrEqualComparison (const GALGAS_uint & inLeftFirstIndex, const GALGAS_uint & inBitCount, const GALGAS_uint & inRightFirstIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { return binarySetWithComparison (inCompiler, inLeftFirstIndex, @@ -206,12 +206,12 @@ GALGAS_binaryset GALGAS_binaryset::constructor_binarySetWithGreaterOrEqualCompar COMMA_THERE) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_binaryset GALGAS_binaryset::constructor_binarySetWithStrictLowerComparison (const GALGAS_uint & inLeftFirstIndex, +GALGAS_binaryset GALGAS_binaryset::class_func_binarySetWithStrictLowerComparison (const GALGAS_uint & inLeftFirstIndex, const GALGAS_uint & inBitCount, const GALGAS_uint & inRightFirstIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { return binarySetWithComparison (inCompiler, inLeftFirstIndex, @@ -221,12 +221,12 @@ GALGAS_binaryset GALGAS_binaryset::constructor_binarySetWithStrictLowerCompariso COMMA_THERE) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_binaryset GALGAS_binaryset::constructor_binarySetWithStrictGreaterComparison (const GALGAS_uint & inLeftFirstIndex, +GALGAS_binaryset GALGAS_binaryset::class_func_binarySetWithStrictGreaterComparison (const GALGAS_uint & inLeftFirstIndex, const GALGAS_uint & inBitCount, const GALGAS_uint & inRightFirstIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { return binarySetWithComparison (inCompiler, inLeftFirstIndex, @@ -236,9 +236,9 @@ GALGAS_binaryset GALGAS_binaryset::constructor_binarySetWithStrictGreaterCompari COMMA_THERE) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static GALGAS_binaryset binarySetWithComparisonWithConstant (C_Compiler * inCompiler, +static GALGAS_binaryset binarySetWithComparisonWithConstant (Compiler * inCompiler, const GALGAS_uint & inBitIndex, const GALGAS_uint & inBitCount, const C_BDD::compareEnum inComparison, @@ -259,12 +259,12 @@ static GALGAS_binaryset binarySetWithComparisonWithConstant (C_Compiler * inComp return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_binaryset GALGAS_binaryset::constructor_binarySetWithEqualToConstant (const GALGAS_uint & inBitIndex, +GALGAS_binaryset GALGAS_binaryset::class_func_binarySetWithEqualToConstant (const GALGAS_uint & inBitIndex, const GALGAS_uint & inBitCount, const GALGAS_uint_36__34_ & inConstant, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { return binarySetWithComparisonWithConstant (inCompiler, inBitIndex, @@ -274,12 +274,12 @@ GALGAS_binaryset GALGAS_binaryset::constructor_binarySetWithEqualToConstant (con COMMA_THERE) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_binaryset GALGAS_binaryset::constructor_binarySetWithNotEqualToConstant (const GALGAS_uint & inBitIndex, +GALGAS_binaryset GALGAS_binaryset::class_func_binarySetWithNotEqualToConstant (const GALGAS_uint & inBitIndex, const GALGAS_uint & inBitCount, const GALGAS_uint_36__34_ & inConstant, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { return binarySetWithComparisonWithConstant (inCompiler, inBitIndex, @@ -289,12 +289,12 @@ GALGAS_binaryset GALGAS_binaryset::constructor_binarySetWithNotEqualToConstant ( COMMA_THERE) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_binaryset GALGAS_binaryset::constructor_binarySetWithLowerOrEqualToConstant (const GALGAS_uint & inBitIndex, +GALGAS_binaryset GALGAS_binaryset::class_func_binarySetWithLowerOrEqualToConstant (const GALGAS_uint & inBitIndex, const GALGAS_uint & inBitCount, const GALGAS_uint_36__34_ & inConstant, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { return binarySetWithComparisonWithConstant (inCompiler, inBitIndex, @@ -304,12 +304,12 @@ GALGAS_binaryset GALGAS_binaryset::constructor_binarySetWithLowerOrEqualToConsta COMMA_THERE) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_binaryset GALGAS_binaryset::constructor_binarySetWithStrictLowerThanConstant (const GALGAS_uint & inBitIndex, +GALGAS_binaryset GALGAS_binaryset::class_func_binarySetWithStrictLowerThanConstant (const GALGAS_uint & inBitIndex, const GALGAS_uint & inBitCount, const GALGAS_uint_36__34_ & inConstant, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { return binarySetWithComparisonWithConstant (inCompiler, inBitIndex, @@ -319,12 +319,12 @@ GALGAS_binaryset GALGAS_binaryset::constructor_binarySetWithStrictLowerThanConst COMMA_THERE) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_binaryset GALGAS_binaryset::constructor_binarySetWithGreaterOrEqualToConstant (const GALGAS_uint & inBitIndex, +GALGAS_binaryset GALGAS_binaryset::class_func_binarySetWithGreaterOrEqualToConstant (const GALGAS_uint & inBitIndex, const GALGAS_uint & inBitCount, const GALGAS_uint_36__34_ & inConstant, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { return binarySetWithComparisonWithConstant (inCompiler, inBitIndex, @@ -334,12 +334,12 @@ GALGAS_binaryset GALGAS_binaryset::constructor_binarySetWithGreaterOrEqualToCons COMMA_THERE) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_binaryset GALGAS_binaryset::constructor_binarySetWithStrictGreaterThanConstant (const GALGAS_uint & inBitIndex, +GALGAS_binaryset GALGAS_binaryset::class_func_binarySetWithStrictGreaterThanConstant (const GALGAS_uint & inBitIndex, const GALGAS_uint & inBitCount, const GALGAS_uint_36__34_ & inConstant, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { return binarySetWithComparisonWithConstant (inCompiler, inBitIndex, @@ -349,13 +349,13 @@ GALGAS_binaryset GALGAS_binaryset::constructor_binarySetWithStrictGreaterThanCon 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 (C_String & ioString, +void GALGAS_binaryset::description (String & ioString, const int32_t /* inIndentation */) const { - ioString << "<@binaryset: " ; + ioString.appendCString ("<@binaryset: ") ; if (isValid ()) { if (mBDD.isFalse ()){ - ioString << "false" ; + ioString.appendCString ("false") ; }else if (mBDD.isTrue ()){ - ioString << "true" ; + ioString.appendCString ("true") ; }else{ - TC_UniqueArray stringArray ; + TC_UniqueArray stringArray ; mBDD.buildCompressedBigEndianStringValueArray (stringArray COMMA_HERE) ; for (int32_t i=0 ; i" ; + ioString.appendCString (">") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- 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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_uint_36__34_ result ; if (isValid () && inVariableCount.isValid ()) { @@ -575,32 +575,33 @@ GALGAS_uint_36__34_ GALGAS_binaryset::getter_valueCount (const GALGAS_uint & inV return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_bigint GALGAS_binaryset::getter_bigValueCount (const GALGAS_uint & inVariableCount, - C_Compiler * inCompiler + 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 PMUInt128 r = mBDD.valueCount128 (inVariableCount.uintValue ()) ; - result = GALGAS_bigint (C_BigInt (r.high (), r.low (), false)) ; + const UInt128 r = mBDD.valueCount128 (inVariableCount.uintValue ()) ; + const uint64_t u64Array [2] = {r.high (), r.low ()} ; + result = GALGAS_bigint (BigSigned (true, 2, u64Array)) ; } } 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 { @@ -608,7 +609,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::constructor_emptyList (THERE) ; + result = GALGAS_uint_36__34_list::class_func_emptyList (THERE) ; for (int32_t i=0 ; i valuesArray ; mBDD.buildValue64Array (valuesArray, inVariableCount.uintValue ()) ; - result = GALGAS_stringlist::constructor_emptyList (THERE) ; + result = GALGAS_stringlist::class_func_emptyList (THERE) ; for (int32_t i=0 ; i variableCount) { - C_String message ; - message << "variable count argument (" << cStringWithSigned (variableCount) - << ") is lower than actual variable count (" - << cStringWithSigned (actualVariableCount) << "); it should be greater or equal" ; + 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") ; inCompiler->onTheFlyRunTimeError (message COMMA_THERE) ; }else{ - TC_UniqueArray valuesArray ; + TC_UniqueArray valuesArray ; mBDD.buildCompressedBigEndianStringValueArray (valuesArray, variableCount COMMA_THERE) ; - result = GALGAS_stringlist::constructor_emptyList (THERE) ; + result = GALGAS_stringlist::class_func_emptyList (THERE) ; for (int32_t i=0 ; i valuesArray ; + TC_UniqueArray valuesArray ; mBDD.buildBigEndianStringValueArray (valuesArray, inVariableCount.uintValue ()) ; - result = GALGAS_stringlist::constructor_emptyList (THERE) ; + result = GALGAS_stringlist::class_func_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 C_String name = variableEnumerator.current_mValue (HERE).stringValue () ; + const 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 () ; } - C_String s ; + 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 { @@ -780,7 +783,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 ; @@ -790,16 +793,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 C_String name = variableEnumerator.current_mValue (HERE).stringValue () ; + const String name = variableEnumerator.current_mValue (HERE).stringValue () ; bitNameArray.appendObject (name) ; variableEnumerator.gotoNextObject () ; } @@ -808,7 +811,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 ; @@ -818,7 +821,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 @@ -832,7 +835,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, @@ -848,7 +851,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, @@ -864,7 +867,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, @@ -880,7 +883,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, @@ -896,7 +899,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, @@ -912,7 +915,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 { @@ -924,7 +927,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 @@ -941,7 +944,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 @@ -969,7 +972,7 @@ GALGAS_binaryset GALGAS_binaryset::getter_binarySetByTranslatingFromIndex (const return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_binaryset GALGAS_binaryset::getter_existsOnBitRange (const GALGAS_uint & inFirstIndex, const GALGAS_uint & inCount @@ -988,10 +991,10 @@ GALGAS_binaryset GALGAS_binaryset::getter_existsOnBitRange (const GALGAS_uint & return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_binaryset GALGAS_binaryset::getter_transposedBy (const class GALGAS_uintlist & inVector, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_binaryset result ; if (isValid () && inVector.isValid ()) { @@ -1008,10 +1011,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 C_Compiler * /* inCompiler */ + class Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_binaryset result ; if (isValid () && inLeftShiftCount.isValid ()) { @@ -1020,14 +1023,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 C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_binaryset result ; if (isValid () && inLeftShiftCount.isValid ()) { - if (inLeftShiftCount.bigintValue().isNegative ()) { + if (inLeftShiftCount.bigintValue().isStrictlyNegative ()) { inCompiler->onTheFlyRunTimeError ("@binaryset left shift by a negative amount" COMMA_THERE) ; }else{ result = GALGAS_binaryset (mBDD.bddByLeftShifting (inLeftShiftCount.bigintValue().uint32 ())) ; @@ -1036,10 +1039,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 C_Compiler * /* inCompiler*/ + class Compiler * /* inCompiler*/ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_binaryset result ; if (isValid () && inRightShiftCount.isValid ()) { @@ -1048,14 +1051,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 C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_binaryset result ; if (isValid () && inRightShiftCount.isValid ()) { - if (inRightShiftCount.bigintValue().isNegative ()) { + if (inRightShiftCount.bigintValue().isStrictlyNegative ()) { inCompiler->onTheFlyRunTimeError ("@binaryset right shift by a negative amount" COMMA_THERE) ; }else{ result = GALGAS_binaryset (mBDD.bddByRightShifting (inRightShiftCount.bigintValue ().uint32 ())) ; @@ -1064,7 +1067,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 ; @@ -1080,7 +1083,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) { @@ -1089,7 +1092,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) { @@ -1098,4 +1101,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 3dffbbb4a..4bb2a0fe0 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 "galgas2/C_Compiler.h" +#include "Compiler.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // 'GALGAS_bool' class // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_bool::GALGAS_bool (void) : AC_GALGAS_root (), @@ -33,13 +33,7 @@ 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 (), @@ -47,7 +41,7 @@ mIsValid (true), mBoolValue (inValue) { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_bool::GALGAS_bool (const bool inIsBuilt, const bool inValue) : @@ -56,7 +50,13 @@ 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 (C_BigInt ((uint32_t) (mBoolValue ? 1 : 0))) ; + result = GALGAS_bigint (BigSigned (true, uint64_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 (C_String & ioString, +void GALGAS_bool::description (String & ioString, const int32_t /* inIndentation */) const { - ioString << "<@bool:" ; + ioString.appendCString ("<@bool:") ; if (isValid ()) { - ioString << (mBoolValue ? "true" : "false") ; + ioString.appendString (mBoolValue ? "true" : "false") ; }else{ - ioString << "not built" ; + ioString.appendCString ("not built") ; } - ioString << ">" ; + ioString.appendCString (">") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/GALGAS_char.cpp b/goil/build/libpm/galgas2/GALGAS_char.cpp index 3879d65a0..fe7a03543 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 "galgas2/C_Compiler.h" -#include "strings/unicode_character_cpp.h" +#include "Compiler.h" +#include "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,16 +43,10 @@ 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::constructor_unicodeCharacterFromRawKeyboard (C_Compiler * inCompiler + GALGAS_char GALGAS_char::class_func_unicodeCharacterFromRawKeyboard (Compiler * inCompiler COMMA_LOCATION_ARGS) { inCompiler->onTheFlyRunTimeError ( "@char unicodeCharacterFromRawKeyboard constructor is not implemented for Windows" @@ -73,7 +67,7 @@ GALGAS_char GALGAS_char::constructor_default (UNUSED_LOCATION_ARGS) { } } - GALGAS_char GALGAS_char::constructor_unicodeCharacterFromRawKeyboard (C_Compiler * /* inCompiler */ + GALGAS_char GALGAS_char::class_func_unicodeCharacterFromRawKeyboard (Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) { //--- Save current configuration struct termios termios_orig ; @@ -137,7 +131,7 @@ GALGAS_char GALGAS_char::constructor_default (UNUSED_LOCATION_ARGS) { } #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_char::GALGAS_char (const utf32 inValue) : AC_GALGAS_root (), @@ -145,7 +139,7 @@ mIsValid (true), mCharValue (inValue) { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_char::objectCompare (const GALGAS_char & inOperand) const { typeComparisonResult result = kOperandNotValid ; @@ -162,45 +156,45 @@ typeComparisonResult GALGAS_char::objectCompare (const GALGAS_char & inOperand) return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void GALGAS_char::description (C_String & ioString, +void GALGAS_char::description (String & ioString, const int32_t /* inIndentation */) const { - ioString << "<@char:" ; + ioString.appendCString ("<@char:") ; if (isValid ()) { if (isprint ((int) UNICODE_VALUE (mCharValue))) { - ioString << "'" ; - ioString.appendUnicodeCharacter (mCharValue COMMA_HERE) ; - ioString << "'" ; + ioString.appendCString ("'") ; + ioString.appendChar (mCharValue) ; + ioString.appendCString ("'") ; }else{ - ioString << unicodeName (mCharValue) ; + ioString.appendString (unicodeName (mCharValue)) ; } }else{ - ioString << "not built" ; + ioString.appendCString ("not built") ; } - ioString << ">" ; + ioString.appendCString (">") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_string GALGAS_char::getter_string (LOCATION_ARGS) const { +GALGAS_string GALGAS_char::getter_string (UNUSED_LOCATION_ARGS) const { GALGAS_string result ; if (isValid ()) { - C_String s ; - s.appendUnicodeCharacter (mCharValue COMMA_THERE) ; + String s ; + s.appendChar (mCharValue) ; result = GALGAS_string (s) ; } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_string GALGAS_char::getter_utf_33__32_CharConstantRepresentation (UNUSED_LOCATION_ARGS) const { GALGAS_string result ; if (isValid ()) { - C_String s ; + String s ; s.appendCString ("TO_UNICODE (") ; - s.appendCLiteralCharConstant (mCharValue) ; + s.appendStringAsCLiteralCharConstant (mCharValue) ; s.appendCString (")") ; result = GALGAS_string (s) ; } @@ -208,7 +202,7 @@ GALGAS_string GALGAS_char::getter_utf_33__32_CharConstantRepresentation (UNUSED_ } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_uint GALGAS_char::getter_uint (UNUSED_LOCATION_ARGS) const { GALGAS_uint result ; @@ -218,7 +212,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 ; @@ -232,7 +226,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 ; @@ -243,7 +237,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 ; @@ -253,7 +247,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 ; @@ -263,7 +257,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 ; @@ -273,7 +267,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 ; @@ -283,7 +277,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 ; @@ -295,7 +289,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 ; @@ -305,7 +299,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 ; @@ -315,7 +309,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 ; @@ -325,7 +319,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 ; @@ -335,7 +329,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 ; @@ -345,7 +339,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 ; @@ -355,7 +349,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 ; @@ -365,7 +359,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 ; @@ -375,7 +369,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 ; @@ -385,7 +379,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 ; @@ -395,7 +389,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 ; @@ -405,9 +399,9 @@ GALGAS_uint GALGAS_char::getter_utf_38_Length (UNUSED_LOCATION_ARGS) const { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_char GALGAS_char::constructor_unicodeCharacterWithUnsigned (const GALGAS_uint & inValue +GALGAS_char GALGAS_char::class_func_unicodeCharacterWithUnsigned (const GALGAS_uint & inValue COMMA_UNUSED_LOCATION_ARGS) { GALGAS_char result ; if (inValue.isValid ()) { @@ -416,10 +410,10 @@ GALGAS_char GALGAS_char::constructor_unicodeCharacterWithUnsigned (const GALGAS_ return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_char GALGAS_char::constructor_replacementCharacter (UNUSED_LOCATION_ARGS) { +GALGAS_char GALGAS_char::class_func_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 f542b1db9..7313e0836 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 "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" - -//---------------------------------------------------------------------------------------------------------------------- +#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" + +//-------------------------------------------------------------------------------------------------- // GALGAS_data -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_data::GALGAS_data (void) : AC_GALGAS_root (), @@ -38,42 +38,43 @@ mIsValid (false), mData () { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_data::GALGAS_data (const C_Data & inData) : +GALGAS_data::GALGAS_data (const U8Data & inData) : AC_GALGAS_root (), mIsValid (true), mData (inData) { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_data GALGAS_data::constructor_emptyData (UNUSED_LOCATION_ARGS) { - return GALGAS_data (C_Data ()) ; +GALGAS_data GALGAS_data::class_func_emptyData (UNUSED_LOCATION_ARGS) { + return GALGAS_data (U8Data ()) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_data GALGAS_data::constructor_dataWithContentsOfFile (const GALGAS_string & inFilePath, - C_Compiler * inCompiler - COMMA_LOCATION_ARGS) { +GALGAS_data GALGAS_data::class_func_dataWithContentsOfFile (const GALGAS_string & inFilePath, + Compiler * inCompiler + COMMA_LOCATION_ARGS) { GALGAS_data result ; if (inFilePath.isValid()){ - C_Data binaryData ; - const bool ok = C_FileManager::binaryDataWithContentOfFile (inFilePath.stringValue (), binaryData) ; + U8Data binaryData ; + const bool ok = FileManager::binaryDataWithContentOfFile (inFilePath.stringValue (), binaryData) ; if (ok) { result = GALGAS_data (binaryData) ; }else{ - C_String s ; - s << "cannot read binary file at path '" << inFilePath.stringValue () << "'" ; + String s = "cannot read binary file at path '" ; + s.appendString (inFilePath.stringValue ()) ; + s.appendCString ("'") ; inCompiler->onTheFlyRunTimeError (s COMMA_THERE) ; } } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_data::objectCompare (const GALGAS_data & inOperand) const { typeComparisonResult result = kOperandNotValid ; @@ -90,20 +91,21 @@ typeComparisonResult GALGAS_data::objectCompare (const GALGAS_data & inOperand) return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void GALGAS_data::description (C_String & ioString, +void GALGAS_data::description (String & ioString, const int32_t /* inIndentation */) const { - ioString << "<@data:" ; + ioString.appendCString ("<@data:") ; if (isValid ()) { - ioString << "length=" << cStringWithSigned (mData.count ()) ; + ioString.appendCString ("length=") ; + ioString.appendSigned (mData.count ()) ; }else{ - ioString << "not built" ; + ioString.appendCString ("not built") ; } - ioString << ">" ; + ioString.appendCString (">") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_uint GALGAS_data::getter_count (UNUSED_LOCATION_ARGS) const { GALGAS_uint result ; @@ -113,16 +115,18 @@ 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 ()) { - C_String s (cStringWithUnsigned (mData (0 COMMA_HERE))) ; + String s ; + s.appendUnsigned (mData (0 COMMA_HERE)) ; for (int32_t i=1 ; i 255) { @@ -145,10 +149,10 @@ void GALGAS_data::setter_appendByte (GALGAS_uint inArgument0, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_data::setter_appendShortBE (GALGAS_uint inArgument0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { if (inArgument0.isValid ()) { if (inArgument0.uintValue () > 0xFFFF) { @@ -161,10 +165,10 @@ void GALGAS_data::setter_appendShortBE (GALGAS_uint inArgument0, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_data::setter_appendShortLE (GALGAS_uint inArgument0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { if (inArgument0.isValid ()) { if (inArgument0.uintValue () > 0xFFFF) { @@ -177,7 +181,7 @@ void GALGAS_data::setter_appendShortLE (GALGAS_uint inArgument0, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_data::setter_appendUIntBE (GALGAS_uint inArgument0 COMMA_UNUSED_LOCATION_ARGS) { @@ -190,7 +194,7 @@ void GALGAS_data::setter_appendUIntBE (GALGAS_uint inArgument0 } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_data::setter_appendUIntLE (GALGAS_uint inArgument0 COMMA_UNUSED_LOCATION_ARGS) { @@ -203,14 +207,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 C_String s = inString.stringValue () ; + const String s = inString.stringValue () ; for (int32_t i=0 ; ilogFileRead (inFilePath.stringValue ()) ; - C_Data binaryData ; - C_FileManager::binaryDataWithContentOfFile (inFilePath.stringValue (), binaryData) ; + U8Data binaryData ; + FileManager::binaryDataWithContentOfFile (inFilePath.stringValue (), binaryData) ; needToWrite = mData != binaryData ; } outFileWritten = GALGAS_bool (needToWrite) ; if (needToWrite) { - if (C_Compiler::performGeneration ()) { + if (Compiler::performGeneration ()) { const bool verboseOptionOn = verboseOutput () ; - bool ok = C_FileManager::makeDirectoryIfDoesNotExist (inFilePath.stringValue ().stringByDeletingLastPathComponent ()) ; + bool ok = FileManager::makeDirectoryIfDoesNotExist (inFilePath.stringValue ().stringByDeletingLastPathComponent ()) ; if (! ok) { - C_String message ; - message << "cannot create '" << inFilePath.stringValue () << "' directory" ; + String message ; + message.appendCString ("cannot create '") ; + message.appendString (inFilePath.stringValue ()) ; + message.appendCString ("' directory") ; inCompiler->onTheFlyRunTimeError (message COMMA_THERE) ; outFileWritten.drop () ; }else{ - ok = C_FileManager::writeBinaryDataToFile (mData, inFilePath.stringValue ()) ; + ok = FileManager::writeBinaryDataToFile (mData, inFilePath.stringValue ()) ; if (ok && verboseOptionOn && fileAlreadyExists) { - ggs_printFileOperationSuccess (C_String ("Replaced '") + inFilePath.stringValue () + "'.\n") ; + ggs_printFileOperationSuccess (String ("Replaced '") + inFilePath.stringValue () + "'.\n") ; }else if (ok && verboseOptionOn && ! fileAlreadyExists) { - ggs_printFileCreationSuccess (C_String ("Created '") + inFilePath.stringValue () + "'.\n") ; + ggs_printFileCreationSuccess (String ("Created '") + inFilePath.stringValue () + "'.\n") ; }else if (! ok) { - C_String message ; - message << "cannot write '" << inFilePath.stringValue () << "' file" ; + String message ; + message.appendCString ("cannot write '") ; + message.appendString (inFilePath.stringValue ()) ; + message.appendCString ("' file") ; inCompiler->onTheFlyRunTimeError (message COMMA_THERE) ; outFileWritten.drop () ; } } }else{ - ggs_printWarning (inCompiler, C_SourceTextInString (), C_IssueWithFixIt (), C_String ("Need to write '") + inFilePath.stringValue () + "'." COMMA_HERE) ; + ggs_printWarning (inCompiler, SourceTextInString (), C_IssueWithFixIt (), String ("Need to write '") + inFilePath.stringValue () + "'." COMMA_HERE) ; } } } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_data::method_writeToFile (GALGAS_string inFilePath, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { if (inFilePath.isValid ()) { - const C_String filePath = inFilePath.stringValue () ; + const String filePath = inFilePath.stringValue () ; if (filePath.length () == 0) { inCompiler->onTheFlyRunTimeError ("'@data writeToFile' modifier invoked with empty file path argument" COMMA_THERE) ; - }else if (! C_Compiler::performGeneration ()) { - ggs_printWarning (inCompiler, C_SourceTextInString (), C_IssueWithFixIt (), C_String ("Need to write '") + filePath + "'." COMMA_HERE) ; + }else if (! Compiler::performGeneration ()) { + ggs_printWarning (inCompiler, SourceTextInString (), C_IssueWithFixIt (), String ("Need to write '") + filePath + "'." COMMA_HERE) ; }else{ - const bool fileAlreadyExists = C_FileManager::fileExistsAtPath (filePath) ; + const bool fileAlreadyExists = FileManager::fileExistsAtPath (filePath) ; const bool verboseOptionOn = verboseOutput () ; - C_FileManager::makeDirectoryIfDoesNotExist (filePath.stringByDeletingLastPathComponent()) ; - C_BinaryFileWrite binaryFile (filePath) ; + FileManager::makeDirectoryIfDoesNotExist (filePath.stringByDeletingLastPathComponent()) ; + BinaryFileWrite binaryFile (filePath) ; if (! binaryFile.isOpened ()) { - C_String s ; - s << "'@data writeToFile': cannot open '" << filePath << "' file in write mode" ; - inCompiler->onTheFlyRunTimeError (s.cString (HERE) COMMA_THERE) ; + String s ; + s.appendCString ("'@data writeToFile': cannot open '") ; + s.appendString (filePath) ; + s.appendCString ("' file in write mode") ; + inCompiler->onTheFlyRunTimeError (s.cString () COMMA_THERE) ; }else{ binaryFile.appendData (mData) ; const bool ok = binaryFile.close () ; if (ok && verboseOptionOn && fileAlreadyExists) { - ggs_printFileOperationSuccess (C_String ("Replaced '") + filePath + "'.\n") ; + ggs_printFileOperationSuccess (String ("Replaced '") + filePath + "'.\n") ; }else if (ok && verboseOptionOn && ! fileAlreadyExists) { - ggs_printFileCreationSuccess (C_String ("Created '") + filePath + "'.\n") ; + ggs_printFileCreationSuccess (String ("Created '") + filePath + "'.\n") ; }else if (! ok) { - C_String message ; - message << "cannot write '" << filePath << "' file" ; + String message ; + message.appendCString ("cannot write '") ; + message.appendString (filePath) ; + message.appendCString ("' file") ; inCompiler->onTheFlyRunTimeError (message COMMA_THERE) ; } } @@ -313,37 +325,41 @@ void GALGAS_data::method_writeToFile (GALGAS_string inFilePath, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_data::method_writeToExecutableFile (GALGAS_string inFilePath, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { if (inFilePath.isValid ()) { - const C_String filePath = inFilePath.stringValue () ; + const String filePath = inFilePath.stringValue () ; if (filePath.length () == 0) { inCompiler->onTheFlyRunTimeError ("'@data writeToFile' modifier invoked with empty file path argument" COMMA_THERE) ; - }else if (! C_Compiler::performGeneration ()) { - ggs_printWarning (inCompiler, C_SourceTextInString (), C_IssueWithFixIt (), C_String ("Need to write '") + filePath + "'." COMMA_HERE) ; + }else if (! Compiler::performGeneration ()) { + ggs_printWarning (inCompiler, SourceTextInString (), C_IssueWithFixIt (), String ("Need to write '") + filePath + "'." COMMA_HERE) ; }else{ - const bool fileAlreadyExists = C_FileManager::fileExistsAtPath (filePath) ; + const bool fileAlreadyExists = FileManager::fileExistsAtPath (filePath) ; const bool verboseOptionOn = verboseOutput () ; - C_FileManager::makeDirectoryIfDoesNotExist (filePath.stringByDeletingLastPathComponent()) ; - C_BinaryFileWrite binaryFile (filePath) ; + FileManager::makeDirectoryIfDoesNotExist (filePath.stringByDeletingLastPathComponent()) ; + BinaryFileWrite binaryFile (filePath) ; if (! binaryFile.isOpened ()) { - C_String s ; - s << "'@data writeToExecutableFile': cannot open '" << filePath << "' file in write mode" ; - inCompiler->onTheFlyRunTimeError (s.cString (HERE) COMMA_THERE) ; + String s ; + s.appendCString ("'@data writeToExecutableFile': cannot open '") ; + s.appendString (filePath) ; + s.appendCString ("' file in write mode") ; + inCompiler->onTheFlyRunTimeError (s.cString () COMMA_THERE) ; }else{ binaryFile.appendData (mData) ; const bool ok = binaryFile.close () ; - C_FileManager::makeFileExecutable (filePath) ; + FileManager::makeFileExecutable (filePath) ; if (ok && verboseOptionOn && fileAlreadyExists) { - ggs_printFileOperationSuccess (C_String ("Replaced '") + filePath + "'.\n") ; + ggs_printFileOperationSuccess (String ("Replaced '") + filePath + "'.\n") ; }else if (ok && verboseOptionOn && ! fileAlreadyExists) { - ggs_printFileOperationSuccess (C_String ("Created '") + filePath + "'.\n") ; + ggs_printFileOperationSuccess (String ("Created '") + filePath + "'.\n") ; }else if (! ok) { - C_String message ; - message << "cannot write '" << filePath << "' file" ; + String message ; + message.appendCString ("cannot write '") ; + message.appendString (filePath) ; + message.appendCString ("' file") ; inCompiler->onTheFlyRunTimeError (message COMMA_THERE) ; } } @@ -351,9 +367,9 @@ void GALGAS_data::method_writeToExecutableFile (GALGAS_string inFilePath, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // cCollectionElement_data -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class cCollectionElement_data : public cCollectionElement { //--- Private member @@ -362,7 +378,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 &) ; @@ -378,10 +394,10 @@ class cCollectionElement_data : public cCollectionElement { public: virtual cCollectionElement * copy (void) ; //--- Description - public: virtual void description (C_String & ioString, const int32_t inIndentation) const ; + public: virtual void description (String & ioString, const int32_t inIndentation) const ; } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cCollectionElement_data::cCollectionElement_data (const GALGAS_uint & inData COMMA_LOCATION_ARGS) : @@ -389,13 +405,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 ; @@ -403,7 +419,7 @@ typeComparisonResult cCollectionElement_data::compare (const cCollectionElement return mProperty_data.objectCompare (operand->mProperty_data) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cCollectionElement * cCollectionElement_data::copy (void) { cCollectionElement_data * p = nullptr ; @@ -411,23 +427,23 @@ cCollectionElement * cCollectionElement_data::copy (void) { return p ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void cCollectionElement_data::description (C_String & ioString, const int32_t inIndentation) const { +void cCollectionElement_data::description (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 () ; @@ -442,7 +458,7 @@ void GALGAS_data::populateEnumerationArray (capCollectionElementArray & inEnumer } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cEnumerator_data::cEnumerator_data (const GALGAS_data & inEnumeratedObject, const typeEnumerationOrder inOrder) : @@ -450,7 +466,7 @@ cGenericAbstractEnumerator (inOrder) { inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_uint cEnumerator_data::current_data (LOCATION_ARGS) const { const cCollectionElement_data * p = (const cCollectionElement_data *) (currentObjectPtr (THERE)) ; @@ -458,7 +474,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)) ; @@ -466,4 +482,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 8530bead1..013d74378 100644 --- a/goil/build/libpm/galgas2/GALGAS_double.cpp +++ b/goil/build/libpm/galgas2/GALGAS_double.cpp @@ -1,4 +1,4 @@ -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // GALGAS_double // @@ -16,20 +16,23 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #include "all-predefined-types.h" -#include "galgas2/C_Compiler.h" +#include "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 = 3.14159265358979323846 ; +static const double PI_CONSTANT = M_PI ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_double::GALGAS_double (void) : AC_GALGAS_root (), @@ -37,13 +40,7 @@ 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 (), @@ -51,16 +48,16 @@ mIsValid (true), mDoubleValue (inValue) { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_double GALGAS_double::constructor_pi (UNUSED_LOCATION_ARGS) { +GALGAS_double GALGAS_double::class_func_pi (UNUSED_LOCATION_ARGS) { return GALGAS_double (PI_CONSTANT) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_double GALGAS_double::constructor_doubleWithBinaryImage (const GALGAS_uint_36__34_ & inImage - COMMA_UNUSED_LOCATION_ARGS) { +GALGAS_double GALGAS_double::class_func_doubleWithBinaryImage (const GALGAS_uint_36__34_ & inImage + COMMA_UNUSED_LOCATION_ARGS) { GALGAS_double result ; if (inImage.isValid ()) { union { @@ -73,7 +70,7 @@ GALGAS_double GALGAS_double::constructor_doubleWithBinaryImage (const GALGAS_uin return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_uint_36__34_ GALGAS_double::getter_binaryImage (UNUSED_LOCATION_ARGS) const { GALGAS_uint_36__34_ result ; @@ -88,7 +85,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 ; @@ -98,15 +95,14 @@ GALGAS_double GALGAS_double::getter_cos (UNUSED_LOCATION_ARGS) const { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_double GALGAS_double::getter_sqrt (C_Compiler * inCompiler +GALGAS_double GALGAS_double::getter_sqrt (Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_double result ; if (isValid ()) { if (mDoubleValue < 0.0) { - C_String s ; - s << "Cannot compute square root of a negative @double" ; + String s = "Cannot compute square root of a negative @double" ; inCompiler->onTheFlyRunTimeError (s COMMA_THERE) ; }else{ result = GALGAS_double (sqrt (mDoubleValue)) ; @@ -115,15 +111,15 @@ GALGAS_double GALGAS_double::getter_sqrt (C_Compiler * inCompiler return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_double GALGAS_double::getter_log_32_ (C_Compiler * inCompiler +GALGAS_double GALGAS_double::getter_log_32_ (Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_double result ; if (isValid ()) { if (mDoubleValue <= 0.0) { - C_String s ; - s << "Cannot compute log2 of a null or negative @double" ; + String s ; + s.appendCString ("Cannot compute log2 of a null or negative @double") ; inCompiler->onTheFlyRunTimeError (s COMMA_THERE) ; }else{ result = GALGAS_double (log2 (mDoubleValue)) ; @@ -132,15 +128,14 @@ GALGAS_double GALGAS_double::getter_log_32_ (C_Compiler * inCompiler return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_double GALGAS_double::getter_log_31__30_ (C_Compiler * inCompiler +GALGAS_double GALGAS_double::getter_log_31__30_ (Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_double result ; if (isValid ()) { if (mDoubleValue <= 0.0) { - C_String s ; - s << "Cannot compute log10 of a null or negative @double" ; + String s = "Cannot compute log10 of a null or negative @double" ; inCompiler->onTheFlyRunTimeError (s COMMA_THERE) ; }else{ result = GALGAS_double (log10 (mDoubleValue)) ; @@ -149,15 +144,14 @@ GALGAS_double GALGAS_double::getter_log_31__30_ (C_Compiler * inCompiler return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_double GALGAS_double::getter_logn (C_Compiler * inCompiler +GALGAS_double GALGAS_double::getter_logn (Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_double result ; if (isValid ()) { if (mDoubleValue <= 0.0) { - C_String s ; - s << "Cannot compute logn of a null or negative @double" ; + String s = "Cannot compute logn of a null or negative @double" ; inCompiler->onTheFlyRunTimeError (s COMMA_THERE) ; }else{ result = GALGAS_double (::log (mDoubleValue)) ; @@ -166,7 +160,7 @@ GALGAS_double GALGAS_double::getter_logn (C_Compiler * inCompiler return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_double GALGAS_double::getter_exp (UNUSED_LOCATION_ARGS) const { GALGAS_double result ; @@ -176,7 +170,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 ; @@ -186,7 +180,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 ; @@ -196,7 +190,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 ; @@ -206,7 +200,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 ; @@ -216,7 +210,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 ; @@ -226,10 +220,10 @@ GALGAS_double GALGAS_double::getter_tanDegree (UNUSED_LOCATION_ARGS) const { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_double GALGAS_double::getter_power (const GALGAS_double & inExponant, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_double result ; if (isValid () && inExponant.isValid ()) { @@ -238,16 +232,15 @@ GALGAS_double GALGAS_double::getter_power (const GALGAS_double & inExponant, return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_uint GALGAS_double::getter_uint (C_Compiler * inCompiler +GALGAS_uint GALGAS_double::getter_uint (Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_uint result ; if ((mDoubleValue > (double) UINT32_MAX) || (mDoubleValue < 0.0)) { - C_String s ; - s << "Cannot convert @double (" ; + String s = "Cannot convert @double (" ; s.appendDouble (mDoubleValue) ; - s << ") to @uint" ; + s.appendCString (") to @uint") ; inCompiler->onTheFlyRunTimeError (s COMMA_THERE) ; }else{ result = GALGAS_uint ((uint32_t) (lround (mDoubleValue) & INT32_MAX)) ; @@ -255,16 +248,15 @@ GALGAS_uint GALGAS_double::getter_uint (C_Compiler * inCompiler return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_uint_36__34_ GALGAS_double::getter_uint_36__34_ (C_Compiler * inCompiler +GALGAS_uint_36__34_ GALGAS_double::getter_uint_36__34_ (Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_uint_36__34_ result ; if ((mDoubleValue > (double) UINT64_MAX) || (mDoubleValue < 0.0)) { - C_String s ; - s << "Cannot convert @double (" ; + String s = "Cannot convert @double (" ; s.appendDouble (mDoubleValue) ; - s << ") to @uint64" ; + s.appendCString (") to @uint64") ; inCompiler->onTheFlyRunTimeError (s COMMA_THERE) ; }else{ result = GALGAS_uint_36__34_ ((uint64_t) lround (mDoubleValue)) ; @@ -272,16 +264,15 @@ GALGAS_uint_36__34_ GALGAS_double::getter_uint_36__34_ (C_Compiler * inCompiler return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_sint GALGAS_double::getter_sint (C_Compiler * inCompiler +GALGAS_sint GALGAS_double::getter_sint (Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_sint result ; if ((mDoubleValue > (double) INT32_MAX) || (mDoubleValue < (double) INT32_MIN)) { - C_String s ; - s << "Cannot convert @double (" ; + String s = "Cannot convert @double (" ; s.appendDouble (mDoubleValue) ; - s << ") to @sint" ; + s.appendCString (") to @sint") ; inCompiler->onTheFlyRunTimeError (s COMMA_THERE) ; }else{ result = GALGAS_sint ((int32_t) (lround (mDoubleValue) & INT32_MAX)) ; @@ -289,16 +280,15 @@ GALGAS_sint GALGAS_double::getter_sint (C_Compiler * inCompiler return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_sint_36__34_ GALGAS_double::getter_sint_36__34_ (C_Compiler * inCompiler +GALGAS_sint_36__34_ GALGAS_double::getter_sint_36__34_ (Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_sint_36__34_ result ; if ((mDoubleValue > (double) INT64_MAX) || (mDoubleValue < (double) INT64_MIN)) { - C_String s ; - s << "Cannot convert @double (" ; + String s = "Cannot convert @double (" ; s.appendDouble (mDoubleValue) ; - s << ") to @sint64" ; + s.appendCString (") to @sint64") ; inCompiler->onTheFlyRunTimeError (s COMMA_THERE) ; }else{ result = GALGAS_sint_36__34_ (lround (mDoubleValue)) ; @@ -306,7 +296,7 @@ GALGAS_sint_36__34_ GALGAS_double::getter_sint_36__34_ (C_Compiler * inCompiler return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_double::objectCompare (const GALGAS_double & inOperand) const { typeComparisonResult result = kOperandNotValid ; @@ -322,31 +312,31 @@ typeComparisonResult GALGAS_double::objectCompare (const GALGAS_double & inOpera return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void GALGAS_double::description (C_String & ioString, +void GALGAS_double::description (String & ioString, const int32_t /* inIndentation */) const { - ioString << "<@double:" ; + ioString.appendCString ("<@double:") ; if (isValid ()) { ioString.appendDouble (mDoubleValue) ; }else{ - ioString << "not built" ; + ioString.appendCString ("not built") ; } - ioString << ">" ; + ioString.appendCString (">") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_string GALGAS_double::getter_string (UNUSED_LOCATION_ARGS) const { - C_String s ; + String s ; s.appendDouble (mDoubleValue) ; return GALGAS_string (s) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_double GALGAS_double::add_operation (const GALGAS_double & inOperand2, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_double result ; if (isValid () && inOperand2.isValid ()) { @@ -355,10 +345,10 @@ GALGAS_double GALGAS_double::add_operation (const GALGAS_double & inOperand2, return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_double GALGAS_double::substract_operation (const GALGAS_double & inOperand2, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_double result ; if (isValid () && inOperand2.isValid ()) { @@ -367,10 +357,10 @@ GALGAS_double GALGAS_double::substract_operation (const GALGAS_double & inOperan return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_double::plusAssign_operation (const GALGAS_double inOperand, - C_Compiler * + Compiler * COMMA_UNUSED_LOCATION_ARGS) { if (isValid () && inOperand.isValid ()) { mDoubleValue += inOperand.mDoubleValue ; @@ -379,10 +369,10 @@ void GALGAS_double::plusAssign_operation (const GALGAS_double inOperand, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_double::minusAssign_operation (const GALGAS_double inOperand, - C_Compiler * + Compiler * COMMA_UNUSED_LOCATION_ARGS) { if (isValid () && inOperand.isValid ()) { mDoubleValue -= inOperand.mDoubleValue ; @@ -391,10 +381,10 @@ void GALGAS_double::minusAssign_operation (const GALGAS_double inOperand, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_double::mulAssign_operation (const GALGAS_double inOperand, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) { if (isValid () && inOperand.isValid ()) { mDoubleValue *= inOperand.mDoubleValue ; @@ -403,10 +393,10 @@ void GALGAS_double::mulAssign_operation (const GALGAS_double inOperand, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_double::divAssign_operation (const GALGAS_double inOperand, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid () && inOperand.isValid ()) { if (inOperand.mDoubleValue == 0) { @@ -418,10 +408,10 @@ void GALGAS_double::divAssign_operation (const GALGAS_double inOperand, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_double GALGAS_double::multiply_operation (const GALGAS_double & inOperand2, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_double result ; if (isValid () && inOperand2.isValid ()) { @@ -430,10 +420,10 @@ GALGAS_double GALGAS_double::multiply_operation (const GALGAS_double & inOperand return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_double GALGAS_double::divide_operation (const GALGAS_double & inOperand2, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_double result ; if (isValid () && inOperand2.isValid ()) { @@ -446,7 +436,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 ; @@ -456,9 +446,9 @@ GALGAS_double GALGAS_double::divide_operation_no_ovf (const GALGAS_double & inOp return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_double GALGAS_double::operator_unary_minus (C_Compiler * /* inCompiler */ +GALGAS_double GALGAS_double::operator_unary_minus (Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_double result ; if (isValid ()) { @@ -467,10 +457,10 @@ GALGAS_double GALGAS_double::operator_unary_minus (C_Compiler * /* inCompiler */ return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_double GALGAS_double::modulo_operation (const GALGAS_double & inOperand, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_double result ; if (isValid () && inOperand.isValid ()) { @@ -480,4 +470,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 6b06b90be..457c0e2b7 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 "galgas2/C_Compiler.h" +#include "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 C_String & inWrapperPath, + const String & inWrapperPath, const bool inEnumerateTextFile, GALGAS_stringlist & ioList) { //--- Enumerate regular files const cRegularFileWrapper * * mFiles = inDirectory.mFiles ; while ((* mFiles) != nullptr) { - C_String path = inWrapperPath ; - path << (* mFiles)->mName ; + String path = inWrapperPath ; + path.appendString ((* mFiles)->mName) ; if ((* mFiles)->mIsTextFile == inEnumerateTextFile) { ioList.addAssign_operation (GALGAS_string (path) COMMA_HERE) ; } @@ -101,75 +101,77 @@ static void internalEnumerateFiles (const cDirectoryWrapper & inDirectory, //--- Walk throught directories const cDirectoryWrapper * * mDirs = inDirectory.mDirectories ; while ((* mDirs) != nullptr) { - C_String path = inWrapperPath ; - path << (* mDirs)->mDirectoryName << "/" ; + String path = inWrapperPath ; + path.appendString ((* mDirs)->mDirectoryName) ; + path.appendCString ("/") ; internalEnumerateFiles (* * mDirs, path, inEnumerateTextFile, ioList) ; mDirs ++ ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_stringlist GALGAS_filewrapper::getter_allTextFilePathes (LOCATION_ARGS) const { GALGAS_stringlist result ; if (mRootDirectoryPtr != nullptr) { - result = GALGAS_stringlist::constructor_emptyList (THERE) ; + result = GALGAS_stringlist::class_func_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::constructor_emptyList (THERE) ; + result = GALGAS_stringlist::class_func_emptyList (THERE) ; internalEnumerateFiles (* mRootDirectoryPtr, "/", false, result) ; } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- static void internalEnumerateDirectories (const cDirectoryWrapper & inDirectory, - const C_String & inWrapperPath, + const 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) { - C_String path = inWrapperPath ; - path << (* mDirs)->mDirectoryName << "/" ; + String path = inWrapperPath ; + path.appendString ((* mDirs)->mDirectoryName) ; + path.appendCString ("/") ; internalEnumerateDirectories (* * mDirs, path, ioList) ; mDirs ++ ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_stringlist GALGAS_filewrapper::getter_allDirectoryPathes (LOCATION_ARGS) const { GALGAS_stringlist result ; if (mRootDirectoryPtr != nullptr) { - result = GALGAS_stringlist::constructor_emptyList (THERE) ; + result = GALGAS_stringlist::class_func_emptyList (THERE) ; internalEnumerateDirectories (* mRootDirectoryPtr, "/", result) ; } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- static void internalEnumerateFilesWithExtension (const cDirectoryWrapper & inDirectory, - const C_String & inWrapperPath, + const String & inWrapperPath, GALGAS_stringlist & ioList, - const C_String & inExtension) { + const String & inExtension) { //--- Enumerate regular files const cRegularFileWrapper * * mFiles = inDirectory.mFiles ; while ((* mFiles) != nullptr) { - C_String path = inWrapperPath ; + String path = inWrapperPath ; if (inExtension.compare ((* mFiles)->mExtension) == 0) { - path << (* mFiles)->mName ; + path.appendString ((* mFiles)->mName) ; ioList.addAssign_operation (GALGAS_string (path) COMMA_HERE) ; } mFiles ++ ; @@ -177,26 +179,27 @@ static void internalEnumerateFilesWithExtension (const cDirectoryWrapper & inDir //--- Walk throught directories const cDirectoryWrapper * * mDirs = inDirectory.mDirectories ; while ((* mDirs) != nullptr) { - C_String path = inWrapperPath ; - path << (* mDirs)->mDirectoryName << "/" ; + String path = inWrapperPath ; + path.appendString ((* mDirs)->mDirectoryName) ; + path.appendCString ("/") ; 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::constructor_emptyList (THERE) ; + result = GALGAS_stringlist::class_func_emptyList (THERE) ; internalEnumerateFilesWithExtension (* mRootDirectoryPtr, "/", result, inExtension.stringValue ()) ; } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_filewrapper::objectCompare (const GALGAS_filewrapper & inOperand) const { typeComparisonResult result = kOperandNotValid ; @@ -213,20 +216,25 @@ typeComparisonResult GALGAS_filewrapper::objectCompare (const GALGAS_filewrapper return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static void enumerateWrapper (C_String & ioString, +static void enumerateWrapper (String & ioString, const cDirectoryWrapper * inDir, - const C_String & inPath, + const String & inPath, const int32_t inIndentation) { - const C_String currentPath = inPath + inDir->mDirectoryName + "/" ; - ioString << "\n" ; - for (int32_t i=0 ; imDirectoryName + "/" ; + ioString.appendCString ("\n") ; + for (int32_t i=0 ; imFileCount ; i++) { - ioString << "\n" ; - for (int32_t j=0 ; jmFiles [i]->mName << "'" ; + ioString.appendCString ("\n") ; + for (int32_t j=0 ; jmFiles [i]->mName) ; + ioString.appendCString ("'") ; } for (uint32_t i=0 ; imDirectoryCount ; i++) { enumerateWrapper (ioString, @@ -236,20 +244,20 @@ static void enumerateWrapper (C_String & ioString, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void GALGAS_filewrapper::description (C_String & ioString, +void GALGAS_filewrapper::description (String & ioString, const int32_t inIndentation) const { - ioString << "<@filewrapper" ; + ioString.appendCString ("<@filewrapper") ; if (isValid ()) { enumerateWrapper (ioString, mRootDirectoryPtr, "", inIndentation + 2) ; }else{ - ioString << " (not built)" ; + ioString.appendCString (" (not built)") ; } - ioString << ">" ; + ioString.appendCString (">") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_string GALGAS_filewrapper::getter_currentDirectory (UNUSED_LOCATION_ARGS) const { GALGAS_string result ; @@ -259,10 +267,10 @@ GALGAS_string GALGAS_filewrapper::getter_currentDirectory (UNUSED_LOCATION_ARGS) return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- static const cDirectoryWrapper * findDirectoryInDirectory (const cDirectoryWrapper * inDir, - const C_String & inSearchedDir) { + const String & inSearchedDir) { const cDirectoryWrapper * result = nullptr ; if (inDir != nullptr) { int32_t first = 0 ; @@ -284,10 +292,10 @@ static const cDirectoryWrapper * findDirectoryInDirectory (const cDirectoryWrapp return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- static const cRegularFileWrapper * findFileInDirectory (const cDirectoryWrapper * inDir, - const C_String & inSearchedFile) { + const String & inSearchedFile) { const cRegularFileWrapper * result = nullptr ; if (inDir != nullptr) { int32_t first = 0 ; @@ -309,11 +317,11 @@ static const cRegularFileWrapper * findFileInDirectory (const cDirectoryWrapper return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static const cDirectoryWrapper * getDirectory (const C_String & inDirectory, +static const cDirectoryWrapper * getDirectory (const 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) { - C_String errorMessage ; - errorMessage << "textFileContentsAtPath: the '" << inPath.stringValue () << "' path points on a binary file" ; + String errorMessage ; + errorMessage.appendCString ("textFileContentsAtPath: the '") ; + errorMessage.appendString (inPath.stringValue ()) ; + errorMessage.appendCString ("' path points on a binary file") ; inCompiler->onTheFlyRunTimeError (errorMessage COMMA_THERE) ; }else{ result = GALGAS_string (file->mContents) ; @@ -383,26 +395,27 @@ GALGAS_string GALGAS_filewrapper::getter_textFileContentsAtPath (const GALGAS_st return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_data GALGAS_filewrapper::getter_binaryFileContentsAtPath (const GALGAS_string & inPath, - C_Compiler * inCompiler + 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 C_String directoryPath = path.stringValue ().stringByDeletingLastPathComponent () ; + const String directoryPath = path.stringValue ().stringByDeletingLastPathComponent () ; const cDirectoryWrapper * dir = getDirectory (directoryPath, mRootDirectoryPtr) ; const cRegularFileWrapper * file = findFileInDirectory (dir, path.stringValue ().lastPathComponent ()) ; if (file == nullptr) { - C_String errorMessage ; - errorMessage << "binaryFileContentsAtPath: the '" << inPath.stringValue () << "' path does not exist" ; + String errorMessage = "binaryFileContentsAtPath: the '" ; + errorMessage.appendString (inPath.stringValue ()) ; + errorMessage.appendCString ("' 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 ; - C_Data data ; + U8Data data ; data.appendDataFromPointer (sourcePtr, (int32_t) sourceLength) ; result = GALGAS_data (data) ; } @@ -411,42 +424,43 @@ GALGAS_data GALGAS_filewrapper::getter_binaryFileContentsAtPath (const GALGAS_st return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_filewrapper::setter_setCurrentDirectory (const GALGAS_string inNewDirectory, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { if ((mRootDirectoryPtr != nullptr) && inNewDirectory.isValid ()) { GALGAS_string absolutePath = getter_absolutePathForPath (inNewDirectory, inCompiler COMMA_THERE) ; if (absolutePath.isValid ()) { - const C_String absolutePathString = absolutePath.stringValue () ; + const String absolutePathString = absolutePath.stringValue () ; if (getDirectory (absolutePath.stringValue (), mRootDirectoryPtr) != nullptr) { mCurrentDirectory = absolutePath.stringValue () ; }else{ - C_String errorMessage ; - errorMessage << "setCurrentDirectory: the '" << inNewDirectory.stringValue () << "' path does not exist" ; + String errorMessage = "setCurrentDirectory: the '" ; + errorMessage.appendString (inNewDirectory.stringValue ()) ; + errorMessage.appendCString ("' path does not exist") ; inCompiler->onTheFlyRunTimeError (errorMessage COMMA_THERE) ; } } } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_string GALGAS_filewrapper::getter_absolutePathForPath (const GALGAS_string & inPath, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_string result ; if (isValid () && inPath.isValid ()) { - const C_String path = inPath.stringValue () ; + const String path = inPath.stringValue () ; //--- Build absolute path - C_String absolutePath = path ; - if ((path.length () == 0) || (UNICODE_VALUE (path (0 COMMA_HERE)) != '/')) { + String absolutePath = path ; + if ((path.length () == 0) || (UNICODE_VALUE (path.charAtIndex (0 COMMA_HERE)) != '/')) { absolutePath = mCurrentDirectory ; - absolutePath << path ; + absolutePath.appendString (path) ; } //--- Normalize path - TC_UniqueArray componentArray ; + TC_UniqueArray componentArray ; absolutePath.componentsSeparatedByString ("/", componentArray) ; //--- Remove empty components (but the first one) int32_t componentIndex = 1 ; @@ -481,20 +495,21 @@ GALGAS_string GALGAS_filewrapper::getter_absolutePathForPath (const GALGAS_strin } //--- Error ? if (! validPath) { - C_String errorMessage ; - errorMessage << "absolutePathForPath: the '" << path << "' path is mal-formed" ; + String errorMessage = "absolutePathForPath: the '" ; + errorMessage.appendString (path) ; + errorMessage.appendCString ("' path is mal-formed") ; inCompiler->onTheFlyRunTimeError (errorMessage COMMA_THERE) ; }else{ //--- Recompose path - result = GALGAS_string (C_String::componentsJoinedByString (componentArray, "/")) ; + result = GALGAS_string (String::componentsJoinedByString (componentArray, "/")) ; } } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_stringlist GALGAS_filewrapper::getter_directoriesAtPath (const GALGAS_string & inPath, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_stringlist result ; if ((mRootDirectoryPtr != nullptr) && inPath.isValid ()) { @@ -502,7 +517,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::constructor_emptyList (THERE) ; + result = GALGAS_stringlist::class_func_emptyList (THERE) ; const cDirectoryWrapper * * dirs = dir->mDirectories ; while ((*dirs) != nullptr) { result.addAssign_operation (GALGAS_string ((*dirs)->mDirectoryName) COMMA_HERE) ; @@ -514,10 +529,10 @@ GALGAS_stringlist GALGAS_filewrapper::getter_directoriesAtPath (const GALGAS_str return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_stringlist GALGAS_filewrapper::getter_textFilesAtPath (const GALGAS_string & inPath, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_stringlist result ; if ((mRootDirectoryPtr != nullptr) && inPath.isValid ()) { @@ -525,7 +540,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::constructor_emptyList (THERE) ; + result = GALGAS_stringlist::class_func_emptyList (THERE) ; const cRegularFileWrapper * * files = dir->mFiles ; while ((*files) != nullptr) { if ((*files)->mIsTextFile) { @@ -539,10 +554,10 @@ GALGAS_stringlist GALGAS_filewrapper::getter_textFilesAtPath (const GALGAS_strin return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_stringlist GALGAS_filewrapper::getter_binaryFilesAtPath (const GALGAS_string & inPath, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_stringlist result ; if ((mRootDirectoryPtr != nullptr) && inPath.isValid ()) { @@ -550,7 +565,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::constructor_emptyList (THERE) ; + result = GALGAS_stringlist::class_func_emptyList (THERE) ; const cRegularFileWrapper * * files = dir->mFiles ; while ((*files) != nullptr) { if (! (*files)->mIsTextFile) { @@ -564,4 +579,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 6894b663b..a5ed11145 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,75 +16,78 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #include "all-predefined-types.h" -#include "galgas2/C_galgas_function_descriptor.h" -#include "galgas2/C_galgas_type_descriptor.h" -#include "galgas2/C_Compiler.h" -#include "galgas2/cObjectArray.h" +#include "C_galgas_function_descriptor.h" +#include "C_galgas_type_descriptor.h" +#include "Compiler.h" +#include "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 (C_String & ioString, +void GALGAS_function::description (String & ioString, const int32_t /* inIndentation */) const { - ioString << "<@function:" ; + ioString.appendCString ("<@function:") ; if (nullptr == mFunctionDescriptor) { - ioString << "not built" ; + ioString.appendCString ("not built") ; }else{ - ioString << mFunctionDescriptor->mFunctionName << " [" ; + ioString.appendString (mFunctionDescriptor->mFunctionName) ; + ioString.appendCString (" [") ; for (uint32_t i=0 ; imParameterCount ; i++) { if (i > 0) { - ioString << " " ; + ioString.appendCString (" ") ; } - ioString << "?@" << mFunctionDescriptor->mFormalParameterTypeList [i]->mGalgasTypeName ; + ioString.appendCString ("?@") ; + ioString.appendString (mFunctionDescriptor->mFormalParameterTypeList [i]->mGalgasTypeName) ; } - ioString << "] -> @" << mFunctionDescriptor->mResultType->mGalgasTypeName ; + ioString.appendCString ("] -> @") ; + ioString.appendString (mFunctionDescriptor->mResultType->mGalgasTypeName) ; } - ioString << ">" ; + ioString.appendCString (">") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_functionlist GALGAS_function::constructor_functionList (LOCATION_ARGS) { - GALGAS_functionlist result = GALGAS_functionlist::constructor_emptyList (THERE) ; +GALGAS_functionlist GALGAS_function::class_func_functionList (LOCATION_ARGS) { + GALGAS_functionlist result = GALGAS_functionlist::class_func_emptyList (THERE) ; const C_galgas_function_descriptor * p = C_galgas_function_descriptor::functionListRoot () ; while (nullptr != p) { result.addAssign_operation (GALGAS_function (p) COMMA_HERE) ; @@ -93,14 +96,14 @@ GALGAS_functionlist GALGAS_function::constructor_functionList (LOCATION_ARGS) { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_bool GALGAS_function::constructor_isFunctionDefined (const GALGAS_string & inFunctionName +GALGAS_bool GALGAS_function::class_func_isFunctionDefined (const GALGAS_string & inFunctionName COMMA_UNUSED_LOCATION_ARGS) { GALGAS_bool result ; if (inFunctionName.isValid ()) { bool resultValue = false ; - const C_String functionName = inFunctionName.stringValue () ; + const String functionName = inFunctionName.stringValue () ; const C_galgas_function_descriptor * p = C_galgas_function_descriptor::functionListRoot () ; while ((nullptr != p) && ! resultValue) { resultValue = functionName == p->mFunctionName ; @@ -111,13 +114,13 @@ GALGAS_bool GALGAS_function::constructor_isFunctionDefined (const GALGAS_string return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_function GALGAS_function::constructor_functionWithName (const GALGAS_string & inFunctionName +GALGAS_function GALGAS_function::class_func_functionWithName (const GALGAS_string & inFunctionName COMMA_UNUSED_LOCATION_ARGS) { GALGAS_function result ; if (inFunctionName.isValid ()) { - const C_String functionName = inFunctionName.stringValue () ; + const String functionName = inFunctionName.stringValue () ; const C_galgas_function_descriptor * p = C_galgas_function_descriptor::functionListRoot () ; while ((nullptr != p) && ! result.isValid ()) { if (functionName == p->mFunctionName) { @@ -129,45 +132,47 @@ GALGAS_function GALGAS_function::constructor_functionWithName (const GALGAS_stri return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_typelist GALGAS_function::getter_formalParameterTypeList (LOCATION_ARGS) const { - GALGAS_typelist result = GALGAS_typelist::constructor_emptyList (THERE) ; + GALGAS_typelist result = GALGAS_typelist::class_func_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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { const cObjectArray argumentsArray (inObjectList, inCompiler COMMA_THERE) ; //--- Check parameter count bool ok = mFunctionDescriptor->mParameterCount == argumentsArray.count () ; if (! ok) { - 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) ; + 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) ; inCompiler->semanticErrorAtLocation (inErrorLocation, errorMessage, TC_Array () COMMA_THERE) ; } //--- Check parameters @@ -182,14 +187,16 @@ GALGAS_object GALGAS_function::getter_invoke (const GALGAS_objectlist & inObject ok = t == mFunctionDescriptor->mFormalParameterTypeList [i] ; } if (! ok) { - 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 - << "'" ; + 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 ("'") ; inCompiler->semanticErrorAtLocation (inErrorLocation, errorMessage, TC_Array () COMMA_THERE) ; } } @@ -202,7 +209,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 ; @@ -219,4 +226,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 d7f045a1d..11f0f5126 100644 --- a/goil/build/libpm/galgas2/GALGAS_location.cpp +++ b/goil/build/libpm/galgas2/GALGAS_location.cpp @@ -1,4 +1,4 @@ -//------------------------------------------------------------------------------------------------------------------------------------------ +//---------------------------------------------------------------------------------------------------------------------- // // 'GALGAS_location' // @@ -16,98 +16,161 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//------------------------------------------------------------------------------------------------------------------------------------------ +//---------------------------------------------------------------------------------------------------------------------- #include "all-predefined-types.h" -#include "galgas2/C_Compiler.h" -#include "files/C_FileManager.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 ; +} ; -//------------------------------------------------------------------------------------------------------------------------------------------ +//---------------------------------------------------------------------------------------------------------------------- GALGAS_location::GALGAS_location (void) : -AC_GALGAS_root (), -mStartLocationInSource (), -mEndLocationInSource (), -mSourceText (), -mIsValid (false) { +mInternalLocation (nullptr) { } -//------------------------------------------------------------------------------------------------------------------------------------------ +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_location::GALGAS_location (const C_LocationInSource & inStartLocationInSource, - const C_LocationInSource & inEndLocationInSource, - const C_SourceTextInString & inSourceText) : +GALGAS_location::~ GALGAS_location (void) { + macroDetachSharedObject (mInternalLocation) +} + +//---------------------------------------------------------------------------------------------------------------------- + +GALGAS_location::GALGAS_location (const LocationInSource & inStartLocationInSource, + const LocationInSource & inEndLocationInSource, + const SourceTextInString & inSourceText) : AC_GALGAS_root (), -mStartLocationInSource (inStartLocationInSource), -mEndLocationInSource (inEndLocationInSource), -mSourceText (inSourceText), -mIsValid (true) { +mInternalLocation (nullptr) { + macroMyNew (mInternalLocation, InternalLocation (inSourceText, inStartLocationInSource, inEndLocationInSource)) } -//------------------------------------------------------------------------------------------------------------------------------------------ +//---------------------------------------------------------------------------------------------------------------------- void GALGAS_location::drop (void) { - mIsValid = false ; + 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 ; } -//------------------------------------------------------------------------------------------------------------------------------------------ +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_location GALGAS_location::constructor_nowhere (UNUSED_LOCATION_ARGS) { +GALGAS_location GALGAS_location::class_func_nowhere (UNUSED_LOCATION_ARGS) { GALGAS_location result ; - result.mIsValid = true ; + macroMyNew (result.mInternalLocation, InternalLocation (SourceTextInString (), LocationInSource (), LocationInSource ())) return result ; } -//------------------------------------------------------------------------------------------------------------------------------------------ +//---------------------------------------------------------------------------------------------------------------------- + +bool GALGAS_location::isValid (void) const { + return mInternalLocation != nullptr ; +} + +//---------------------------------------------------------------------------------------------------------------------- // CONSTRUCTORS -//------------------------------------------------------------------------------------------------------------------------------------------ +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_location GALGAS_location::constructor_here (C_Compiler * inCompiler +GALGAS_location GALGAS_location::class_func_here (Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { return inCompiler->here () ; } -//------------------------------------------------------------------------------------------------------------------------------------------ +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_location GALGAS_location::constructor_next (C_Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { +GALGAS_location GALGAS_location::class_func_next (Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { return inCompiler->next () ; } -//------------------------------------------------------------------------------------------------------------------------------------------ +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_location GALGAS_location::constructor_separator (C_Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { +GALGAS_location GALGAS_location::class_func_separator (Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { return inCompiler->separator () ; } -//------------------------------------------------------------------------------------------------------------------------------------------ +//---------------------------------------------------------------------------------------------------------------------- bool GALGAS_location::isValidAndNotNowhere (void) const { - return mIsValid && mSourceText.isValid () ; + return (mInternalLocation != nullptr) && mInternalLocation->mSourceText.isValid () ; } -//------------------------------------------------------------------------------------------------------------------------------------------ +//---------------------------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_location::getter_isNowhere (UNUSED_LOCATION_ARGS) const { GALGAS_bool result ; - if (mIsValid) { - result = GALGAS_bool (!mSourceText.isValid ()) ; + if (mInternalLocation != nullptr) { + result = GALGAS_bool (!mInternalLocation->mSourceText.isValid ()) ; } return result ; } -//------------------------------------------------------------------------------------------------------------------------------------------ +//---------------------------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_location::objectCompare (const GALGAS_location & inOperand) const { typeComparisonResult result = kOperandNotValid ; if (isValid () && inOperand.isValid ()) { - 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 ()) ; + 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 ()) ; + } } if (r < 0) { result = kFirstOperandLowerThanSecond ; @@ -120,38 +183,45 @@ typeComparisonResult GALGAS_location::objectCompare (const GALGAS_location & inO return result ; } -//------------------------------------------------------------------------------------------------------------------------------------------ +//---------------------------------------------------------------------------------------------------------------------- -void GALGAS_location::description (C_String & ioString, +void GALGAS_location::description (String & ioString, const int32_t /* inIndentation */) const { - ioString << "<@location:" ; + ioString.appendCString ("<@location:") ; if (isValid ()) { - if (!mSourceText.isValid ()) { - ioString << "nowhere" ; + if (!mInternalLocation->mSourceText.isValid ()) { + ioString.appendCString ("nowhere") ; }else{ - ioString << "'" << mSourceText.sourceFilePath () << "'" ; + ioString.appendCString ("'") ; + ioString.appendString (mInternalLocation->mSourceText.sourceFilePath ()) ; + ioString.appendCString ("'") ; } - ioString << ":" << cStringWithSigned (mStartLocationInSource.lineNumber ()) - << ":" << cStringWithSigned (mStartLocationInSource.columnNumber ()) ; + ioString.appendCString (":") ; + ioString.appendSigned (mInternalLocation->mStartLocation.lineNumber ()) ; + ioString.appendCString (":") ; + ioString.appendSigned (mInternalLocation->mStartLocation.columnNumber ()) ; }else{ - ioString << "not built" ; + ioString.appendCString ("not built") ; } - ioString << ">" ; + ioString.appendCString (">") ; } -//------------------------------------------------------------------------------------------------------------------------------------------ +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_string GALGAS_location::getter_startLocationString (C_Compiler * inCompiler +GALGAS_string GALGAS_location::getter_startLocationString (Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_string result ; if (isValid ()) { - if (!mSourceText.isValid ()) { + if (!mInternalLocation->mSourceText.isValid ()) { inCompiler->onTheFlyRunTimeError ("'startLocationString' reader cannot be called on a nowhere @location object" COMMA_THERE) ; }else{ - C_String s ; - s << "file '" << mSourceText.sourceFilePath () - << "', line " << cStringWithSigned (mStartLocationInSource.lineNumber ()) - << ":" << cStringWithSigned (mStartLocationInSource.columnNumber ()) ; + 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 ()) ; result = GALGAS_string (s) ; } } @@ -159,19 +229,21 @@ GALGAS_string GALGAS_location::getter_startLocationString (C_Compiler * inCompil } -//------------------------------------------------------------------------------------------------------------------------------------------ +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_string GALGAS_location::getter_endLocationString (C_Compiler * inCompiler +GALGAS_string GALGAS_location::getter_endLocationString (Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_string result ; if (isValid ()) { - if (!mSourceText.isValid ()) { + if (!mInternalLocation->mSourceText.isValid ()) { inCompiler->onTheFlyRunTimeError ("'endLocationString' reader cannot be called on a nowhere @location object" COMMA_THERE) ; }else{ - C_String s ; - s << "file '" << mSourceText.sourceFilePath () - << "', line " << cStringWithSigned (mEndLocationInSource.lineNumber ()) - << ":" << cStringWithSigned (mEndLocationInSource.columnNumber ()) ; + String s = "file '" ; + s.appendString (mInternalLocation->mSourceText.sourceFilePath ()) ; + s.appendCString ("', line ") ; + s.appendSigned (mInternalLocation->mEndLocation.lineNumber ()) ; + s.appendCString (":") ; + s.appendSigned (mInternalLocation->mEndLocation.columnNumber ()) ; result = GALGAS_string (s) ; } } @@ -179,132 +251,134 @@ GALGAS_string GALGAS_location::getter_endLocationString (C_Compiler * inCompiler } -//------------------------------------------------------------------------------------------------------------------------------------------ +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_string GALGAS_location::getter_file (C_Compiler * inCompiler +GALGAS_string GALGAS_location::getter_file (Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_string result ; if (isValid ()) { - if (!mSourceText.isValid ()) { + if (!mInternalLocation->mSourceText.isValid ()) { inCompiler->onTheFlyRunTimeError ("'file' reader cannot be called on a nowhere @location object" COMMA_THERE) ; }else{ - result = GALGAS_string (mSourceText.sourceFilePath ()) ; + result = GALGAS_string (mInternalLocation->mSourceText.sourceFilePath ()) ; } } return result ; } -//------------------------------------------------------------------------------------------------------------------------------------------ +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_uint GALGAS_location::getter_startLocationIndex (C_Compiler * inCompiler +GALGAS_uint GALGAS_location::getter_startLocationIndex (Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_uint result ; if (isValid ()) { - if (!mSourceText.isValid ()) { + if (!mInternalLocation->mSourceText.isValid ()) { inCompiler->onTheFlyRunTimeError ("'startLocationIndex' reader cannot be called on a nowhere @location object" COMMA_THERE) ; }else{ - result = GALGAS_uint ((uint32_t) mStartLocationInSource.index ()) ; + result = GALGAS_uint ((uint32_t) mInternalLocation->mStartLocation.index ()) ; } } return result ; } -//------------------------------------------------------------------------------------------------------------------------------------------ +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_uint GALGAS_location::getter_endLocationIndex (C_Compiler * inCompiler +GALGAS_uint GALGAS_location::getter_endLocationIndex (Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_uint result ; if (isValid ()) { - if (!mSourceText.isValid ()) { + if (!mInternalLocation->mSourceText.isValid ()) { inCompiler->onTheFlyRunTimeError ("'endLocationIndex' reader cannot be called on a nowhere @location object" COMMA_THERE) ; }else{ - result = GALGAS_uint ((uint32_t) mEndLocationInSource.index ()) ; + result = GALGAS_uint ((uint32_t) mInternalLocation->mEndLocation.index ()) ; } } return result ; } -//------------------------------------------------------------------------------------------------------------------------------------------ +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_uint GALGAS_location::getter_startColumn (C_Compiler * inCompiler +GALGAS_uint GALGAS_location::getter_startColumn (Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_uint result ; if (isValid ()) { - if (!mSourceText.isValid ()) { + if (!mInternalLocation->mSourceText.isValid ()) { inCompiler->onTheFlyRunTimeError ("'startColumn' reader cannot be called on a nowhere @location object" COMMA_THERE) ; }else{ - result = GALGAS_uint ((uint32_t) mStartLocationInSource.columnNumber ()) ; + result = GALGAS_uint ((uint32_t) mInternalLocation->mStartLocation.columnNumber ()) ; } } return result ; } -//------------------------------------------------------------------------------------------------------------------------------------------ +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_uint GALGAS_location::getter_endColumn (C_Compiler * inCompiler +GALGAS_uint GALGAS_location::getter_endColumn (Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_uint result ; if (isValid ()) { - if (!mSourceText.isValid ()) { + if (!mInternalLocation->mSourceText.isValid ()) { inCompiler->onTheFlyRunTimeError ("'endColumn' reader cannot be called on a nowhere @location object" COMMA_THERE) ; }else{ - result = GALGAS_uint ((uint32_t) mEndLocationInSource.columnNumber ()) ; + result = GALGAS_uint ((uint32_t) mInternalLocation->mEndLocation.columnNumber ()) ; } } return result ; } -//------------------------------------------------------------------------------------------------------------------------------------------ +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_uint GALGAS_location::getter_startLine (C_Compiler * inCompiler +GALGAS_uint GALGAS_location::getter_startLine (Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_uint result ; if (isValid ()) { - if (!mSourceText.isValid ()) { + if (!mInternalLocation->mSourceText.isValid ()) { inCompiler->onTheFlyRunTimeError ("'startLine' getter cannot be called on a nowhere @location object" COMMA_THERE) ; }else{ - result = GALGAS_uint ((uint32_t) mEndLocationInSource.lineNumber ()) ; + result = GALGAS_uint ((uint32_t) mInternalLocation->mEndLocation.lineNumber ()) ; } } return result ; } -//------------------------------------------------------------------------------------------------------------------------------------------ +//---------------------------------------------------------------------------------------------------------------------- -GALGAS_uint GALGAS_location::getter_endLine (C_Compiler * inCompiler +GALGAS_uint GALGAS_location::getter_endLine (Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_uint result ; if (isValid ()) { - if (!mSourceText.isValid ()) { + if (!mInternalLocation->mSourceText.isValid ()) { inCompiler->onTheFlyRunTimeError ("'endLine' getter cannot be called on a nowhere @location object" COMMA_THERE) ; }else{ - result = GALGAS_uint ((uint32_t) mEndLocationInSource.lineNumber ()) ; + result = GALGAS_uint ((uint32_t) mInternalLocation->mEndLocation.lineNumber ()) ; } } return result ; } -//------------------------------------------------------------------------------------------------------------------------------------------ +//---------------------------------------------------------------------------------------------------------------------- GALGAS_location GALGAS_location::getter_union (const GALGAS_location & inOtherLocation, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_location result ; if (isValid () && inOtherLocation.isValid ()) { - if (mSourceText != inOtherLocation.mSourceText) { + if (mInternalLocation->mSourceText != inOtherLocation.mInternalLocation->mSourceText) { inCompiler->onTheFlyRunTimeError ("'union' getter cannot be called on an @location object that is relative to an other source" COMMA_THERE) ; }else{ - result = *this ; - if (result.mStartLocationInSource.index () > inOtherLocation.mStartLocationInSource.index ()){ - result.mStartLocationInSource = inOtherLocation.mStartLocationInSource ; + LocationInSource startLocation = mInternalLocation->mStartLocation ; + if (startLocation.index () > inOtherLocation.mInternalLocation->mStartLocation.index ()){ + startLocation = inOtherLocation.mInternalLocation->mStartLocation ; } - if (result.mEndLocationInSource.index () < inOtherLocation.mEndLocationInSource.index ()){ - result.mEndLocationInSource = inOtherLocation.mEndLocationInSource ; + LocationInSource endLocation = mInternalLocation->mEndLocation ; + if (endLocation.index () < inOtherLocation.mInternalLocation->mEndLocation.index ()){ + endLocation = inOtherLocation.mInternalLocation->mEndLocation ; } + 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 d940865d4..7cc5568af 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 "galgas2/cPtr_object.h" +#include "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 (C_String & /* ioString */, +void GALGAS_object::description (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 c1d08e6d6..da9fae0fb 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 "galgas2/C_Compiler.h" +#include "Compiler.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_sint::GALGAS_sint (void) : AC_GALGAS_root (), @@ -29,13 +29,7 @@ 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 (), @@ -43,7 +37,7 @@ mIsValid (true), mSIntValue (inValue) { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_sint::objectCompare (const GALGAS_sint & inOperand) const { typeComparisonResult result = kOperandNotValid ; @@ -59,21 +53,21 @@ typeComparisonResult GALGAS_sint::objectCompare (const GALGAS_sint & inOperand) return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_sint GALGAS_sint::constructor_max (UNUSED_LOCATION_ARGS) { +GALGAS_sint GALGAS_sint::class_func_max (UNUSED_LOCATION_ARGS) { return GALGAS_sint (INT32_MAX) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_sint GALGAS_sint::constructor_min (UNUSED_LOCATION_ARGS) { +GALGAS_sint GALGAS_sint::class_func_min (UNUSED_LOCATION_ARGS) { return GALGAS_sint (INT32_MIN) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_uint GALGAS_sint::getter_uint (C_Compiler * inCompiler +GALGAS_uint GALGAS_sint::getter_uint (Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_uint result ; if (isValid ()) { @@ -86,9 +80,9 @@ GALGAS_uint GALGAS_sint::getter_uint (C_Compiler * inCompiler return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_uint_36__34_ GALGAS_sint::getter_uint_36__34_ (C_Compiler * inCompiler +GALGAS_uint_36__34_ GALGAS_sint::getter_uint_36__34_ (Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_uint_36__34_ result ; if (isValid ()) { @@ -101,7 +95,7 @@ GALGAS_uint_36__34_ GALGAS_sint::getter_uint_36__34_ (C_Compiler * inCompiler return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_sint_36__34_ GALGAS_sint::getter_sint_36__34_ (UNUSED_LOCATION_ARGS) const { GALGAS_sint_36__34_ result ; @@ -111,7 +105,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 ; @@ -121,46 +115,45 @@ 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 (C_BigInt (mSIntValue)) ; + result = GALGAS_bigint (BigSigned (mSIntValue)) ; } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_string GALGAS_sint::getter_string (UNUSED_LOCATION_ARGS) const { GALGAS_string result ; if (isValid ()) { - C_String s ; s.appendSigned (mSIntValue) ; + 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 ; - C_String s ; - s << "0x" ; + String 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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_string result ; if (isValid () && inSeparator.isValid () && inGroup.isValid ()) { @@ -168,58 +161,58 @@ GALGAS_string GALGAS_sint::getter_hexStringSeparatedBy (const GALGAS_char & inSe if (group <= 0) { inCompiler->onTheFlyRunTimeError ("last argument should be > 0" COMMA_THERE) ; }else{ - C_String s ; + 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 (C_String ("0x") + s) ; + result = GALGAS_string (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 ; - C_String s ; s.appendUnsignedHex8 (v) ; + String s ; s.appendUnsignedHex8 (v) ; result = GALGAS_string (s) ; } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void GALGAS_sint::description (C_String & ioString, +void GALGAS_sint::description (String & ioString, const int32_t /* inIndentation */) const { - ioString << "<@sint:" ; + ioString.appendCString ("<@sint:") ; if (isValid ()) { - ioString << cStringWithSigned (mSIntValue) ; + ioString.appendSigned (mSIntValue) ; }else{ - ioString << "not built" ; + ioString.appendCString ("not built") ; } - ioString << ">" ; + ioString.appendCString (">") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_sint::increment_operation_no_overflow (void) { mSIntValue ++ ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_sint::decrement_operation_no_overflow (void) { mSIntValue -- ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void GALGAS_sint::increment_operation (C_Compiler * inCompiler +void GALGAS_sint::increment_operation (Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (mSIntValue == INT32_MAX) { @@ -231,9 +224,9 @@ void GALGAS_sint::increment_operation (C_Compiler * inCompiler } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void GALGAS_sint::decrement_operation (C_Compiler * inCompiler +void GALGAS_sint::decrement_operation (Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (mSIntValue == INT32_MIN) { @@ -245,10 +238,10 @@ void GALGAS_sint::decrement_operation (C_Compiler * inCompiler } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_sint::plusAssign_operation (const GALGAS_sint inOperand, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid () && inOperand.isValid ()) { const int32_t r = mSIntValue + inOperand.mSIntValue ; @@ -265,10 +258,10 @@ void GALGAS_sint::plusAssign_operation (const GALGAS_sint inOperand, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_sint::minusAssign_operation (const GALGAS_sint inOperand, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid () && inOperand.isValid ()) { const int32_t r = mSIntValue - inOperand.mSIntValue ; @@ -282,10 +275,10 @@ void GALGAS_sint::minusAssign_operation (const GALGAS_sint inOperand, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_sint::mulAssign_operation (const GALGAS_sint inOperand, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid () && inOperand.isValid ()) { const int32_t r = mSIntValue * inOperand.mSIntValue ; @@ -304,10 +297,10 @@ void GALGAS_sint::mulAssign_operation (const GALGAS_sint inOperand, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_sint::divAssign_operation (const GALGAS_sint inOperand, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid () && inOperand.isValid ()) { if (inOperand.mSIntValue == 0) { @@ -319,7 +312,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 ; @@ -329,10 +322,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_sint result ; if (isValid () && inOperand.isValid ()) { @@ -350,7 +343,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 { @@ -366,10 +359,10 @@ GALGAS_bool GALGAS_sint::getter_canAdd (const GALGAS_sint & inOperand return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_sint GALGAS_sint::substract_operation (const GALGAS_sint & inOperand, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_sint result ; if (isValid () && inOperand.isValid ()) { @@ -384,7 +377,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 { @@ -397,7 +390,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 ; @@ -407,7 +400,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 ; @@ -417,10 +410,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_sint result ; if (isValid () && inOperand.isValid ()) { @@ -440,7 +433,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 { @@ -458,10 +451,10 @@ GALGAS_bool GALGAS_sint::getter_canMultiply (const GALGAS_sint & inOperand return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_sint GALGAS_sint::divide_operation (const GALGAS_sint & inOperand, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_sint result ; if (isValid () && inOperand.isValid ()) { @@ -476,7 +469,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 { @@ -488,7 +481,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 ; @@ -498,10 +491,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_sint result ; if (isValid () && inOperand2.isValid ()) { @@ -514,9 +507,9 @@ GALGAS_sint GALGAS_sint::modulo_operation (const GALGAS_sint & inOperand2, return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_sint GALGAS_sint::operator_unary_minus (C_Compiler * inCompiler +GALGAS_sint GALGAS_sint::operator_unary_minus (Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_sint result ; if (isValid ()) { @@ -530,7 +523,7 @@ GALGAS_sint GALGAS_sint::operator_unary_minus (C_Compiler * inCompiler } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_sint GALGAS_sint::operator_unary_minus_no_ovf (void) const { GALGAS_sint result ; @@ -541,10 +534,10 @@ GALGAS_sint GALGAS_sint::operator_unary_minus_no_ovf (void) const { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_sint GALGAS_sint::left_shift_operation (const GALGAS_uint inShiftOperand, - class C_Compiler * /* inCompiler*/ + class Compiler * /* inCompiler*/ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_sint result ; if (isValid () && inShiftOperand.isValid ()) { @@ -553,14 +546,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 C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_sint result ; if (isValid () && inShiftOperand.isValid ()) { - if (inShiftOperand.bigintValue().isNegative ()) { + if (inShiftOperand.bigintValue().isStrictlyNegative ()) { inCompiler->onTheFlyRunTimeError ("@sint left shift by a negative amount" COMMA_THERE) ; }else{ result = GALGAS_sint (mSIntValue << (inShiftOperand.bigintValue ().uint32 () & 31)) ; @@ -569,10 +562,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 C_Compiler * /* inCompiler*/ + class Compiler * /* inCompiler*/ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_sint result ; if (isValid () && inShiftOperand.isValid ()) { @@ -581,14 +574,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 C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_sint result ; if (isValid () && inShiftOperand.isValid ()) { - if (inShiftOperand.bigintValue().isNegative ()) { + if (inShiftOperand.bigintValue().isStrictlyNegative ()) { inCompiler->onTheFlyRunTimeError ("@sint right shift by a negative amount" COMMA_THERE) ; }else{ result = GALGAS_sint (mSIntValue >> (inShiftOperand.bigintValue ().uint32 () & 31)) ; @@ -597,7 +590,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 { @@ -608,7 +601,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 { @@ -619,7 +612,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 { @@ -630,7 +623,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 ; @@ -640,4 +633,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 410bcd71a..70c38d274 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 "galgas2/C_Compiler.h" +#include "Compiler.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // GALGAS_sint64 // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_sint_36__34_::GALGAS_sint_36__34_ (void) : AC_GALGAS_root (), @@ -33,13 +33,7 @@ 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 (), @@ -47,7 +41,7 @@ mIsValid (true), mSInt64Value (inValue) { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_sint_36__34_::objectCompare (const GALGAS_sint_36__34_ & inOperand) const { typeComparisonResult result = kOperandNotValid ; @@ -63,21 +57,21 @@ typeComparisonResult GALGAS_sint_36__34_::objectCompare (const GALGAS_sint_36__3 return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_sint_36__34_ GALGAS_sint_36__34_::constructor_max (UNUSED_LOCATION_ARGS) { +GALGAS_sint_36__34_ GALGAS_sint_36__34_::class_func_max (UNUSED_LOCATION_ARGS) { return GALGAS_sint_36__34_ (INT64_MAX) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_sint_36__34_ GALGAS_sint_36__34_::constructor_min (UNUSED_LOCATION_ARGS) { +GALGAS_sint_36__34_ GALGAS_sint_36__34_::class_func_min (UNUSED_LOCATION_ARGS) { return GALGAS_sint_36__34_ (INT64_MIN) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_uint_36__34_ GALGAS_sint_36__34_::getter_uint_36__34_ (C_Compiler * inCompiler +GALGAS_uint_36__34_ GALGAS_sint_36__34_::getter_uint_36__34_ (Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_uint_36__34_ result ; if (mSInt64Value < 0) { @@ -88,9 +82,9 @@ GALGAS_uint_36__34_ GALGAS_sint_36__34_::getter_uint_36__34_ (C_Compiler * inCom return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_uint GALGAS_sint_36__34_::getter_uint (C_Compiler * inCompiler +GALGAS_uint GALGAS_sint_36__34_::getter_uint (Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_uint result ; if (mSInt64Value < 0) { @@ -103,9 +97,9 @@ GALGAS_uint GALGAS_sint_36__34_::getter_uint (C_Compiler * inCompiler return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_sint GALGAS_sint_36__34_::getter_sint (C_Compiler * inCompiler +GALGAS_sint GALGAS_sint_36__34_::getter_sint (Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_sint result ; if (mSInt64Value < INT32_MIN) { @@ -118,17 +112,17 @@ GALGAS_sint GALGAS_sint_36__34_::getter_sint (C_Compiler * inCompiler return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_bigint GALGAS_sint_36__34_::getter_bigint (UNUSED_LOCATION_ARGS) const { GALGAS_bigint result ; if (isValid ()) { - result = GALGAS_bigint (C_BigInt (mSInt64Value)) ; + result = GALGAS_bigint (BigSigned (mSInt64Value)) ; } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_double GALGAS_sint_36__34_::getter_double (UNUSED_LOCATION_ARGS) const { GALGAS_double result ; @@ -138,37 +132,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 ()) { - C_String s ; + 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 ; - C_String s ; - s << "0x" ; + String s ; + s.appendCString ("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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_string result ; if (isValid () && inSeparator.isValid () && inGroup.isValid ()) { @@ -176,42 +170,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{ - C_String s ; + 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 (C_String ("0x") + s) ; + result = GALGAS_string (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 ; - C_String s ; s.appendUnsignedHex16 (v) ; + String s ; s.appendUnsignedHex16 (v) ; result = GALGAS_string (s) ; } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void GALGAS_sint_36__34_::description (C_String & ioString, +void GALGAS_sint_36__34_::description (String & ioString, const int32_t /* inIndentation */) const { - ioString << "<@sint64:" ; + ioString.appendCString ("<@sint64:") ; ioString.appendSigned (mSInt64Value) ; - ioString << ">" ; + ioString.appendCString (">") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void GALGAS_sint_36__34_::increment_operation (C_Compiler * inCompiler +void GALGAS_sint_36__34_::increment_operation (Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (mSInt64Value == INT64_MAX) { @@ -223,21 +217,21 @@ void GALGAS_sint_36__34_::increment_operation (C_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 (C_Compiler * inCompiler +void GALGAS_sint_36__34_::decrement_operation (Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { //--- Overflow ? @@ -250,10 +244,10 @@ void GALGAS_sint_36__34_::decrement_operation (C_Compiler * inCompiler } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_sint_36__34_::plusAssign_operation (const GALGAS_sint_36__34_ inOperand, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid () && inOperand.isValid ()) { const int64_t r = mSInt64Value + inOperand.mSInt64Value ; @@ -270,10 +264,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid () && inOperand.isValid ()) { const int64_t r = mSInt64Value - inOperand.mSInt64Value ; @@ -287,10 +281,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid () && inOperand.isValid ()) { const int64_t r = mSInt64Value * inOperand.mSInt64Value ; @@ -309,10 +303,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid () && inOperand.isValid ()) { if (inOperand.mSInt64Value == 0) { @@ -324,7 +318,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 ; @@ -334,10 +328,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_sint_36__34_ result ; if (isValid () && inOperand.isValid ()) { @@ -355,7 +349,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 { @@ -371,13 +365,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_sint_36__34_ result ; if (isValid () && inOperand.isValid ()) { @@ -392,7 +386,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 { @@ -405,7 +399,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 ; @@ -416,7 +410,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 ; @@ -426,10 +420,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_sint_36__34_ result ; if (isValid () && inOperand.isValid ()) { @@ -449,7 +443,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 { @@ -467,10 +461,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_sint_36__34_ result ; if (isValid () && inOperand2.isValid ()) { @@ -485,7 +479,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 { @@ -497,7 +491,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 ; @@ -507,10 +501,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_sint_36__34_ result ; if (isValid () && inOperand2.isValid ()) { @@ -523,9 +517,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 (C_Compiler * inCompiler +GALGAS_sint_36__34_ GALGAS_sint_36__34_::operator_unary_minus (Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_sint_36__34_ result ; if (isValid ()) { @@ -538,7 +532,7 @@ GALGAS_sint_36__34_ GALGAS_sint_36__34_::operator_unary_minus (C_Compiler * inCo return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_sint_36__34_ GALGAS_sint_36__34_::operator_unary_minus_no_ovf (void) const { GALGAS_sint_36__34_ result ; @@ -548,10 +542,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 C_Compiler * /* inCompiler*/ + class Compiler * /* inCompiler*/ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_sint_36__34_ result ; if (isValid () && inShiftOperand.isValid ()) { @@ -560,14 +554,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 C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_sint_36__34_ result ; if (isValid () && inShiftOperand.isValid ()) { - if (inShiftOperand.bigintValue().isNegative ()) { + if (inShiftOperand.bigintValue().isStrictlyNegative ()) { inCompiler->onTheFlyRunTimeError ("@sint64 left shift by a negative amount" COMMA_THERE) ; }else{ result = GALGAS_sint_36__34_ (mSInt64Value << (inShiftOperand.bigintValue().uint32() & 63)) ; @@ -576,10 +570,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 C_Compiler * /* inCompiler*/ + class Compiler * /* inCompiler*/ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_sint_36__34_ result ; if (isValid () && inShiftOperand.isValid ()) { @@ -588,14 +582,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 C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_sint_36__34_ result ; if (isValid () && inShiftOperand.isValid ()) { - if (inShiftOperand.bigintValue().isNegative ()) { + if (inShiftOperand.bigintValue().isStrictlyNegative ()) { inCompiler->onTheFlyRunTimeError ("@sint64 right shift by a negative amount" COMMA_THERE) ; }else{ result = GALGAS_sint_36__34_ (mSInt64Value >> (inShiftOperand.bigintValue().uint32() & 63)) ; @@ -604,7 +598,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 { @@ -615,7 +609,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 { @@ -626,7 +620,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 { @@ -637,7 +631,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 ; @@ -647,4 +641,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 new file mode 100644 index 000000000..90fe8e6d7 --- /dev/null +++ b/goil/build/libpm/galgas2/GALGAS_string-getters.cpp @@ -0,0 +1,1342 @@ +//-------------------------------------------------------------------------------------------------- +// +// '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 ad6c9db20..f5ceb0f96 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, ..., 2023 Pierre Molinaro. +// Copyright (C) 1996, ..., 2024 Pierre Molinaro. // // e-mail : pierre@pcmolinaro.name // @@ -16,20 +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 "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 "Compiler.h" +#include "C_galgas_io.h" +#include "FileManager.h" +#include "BinaryFileWrite.h" +#include "F_verbose_output.h" + +//-------------------------------------------------------------------------------------------------- #include #include @@ -39,7 +35,7 @@ #include #include -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifndef COMPILE_FOR_WINDOWS #error COMPILE_FOR_WINDOWS is undefined @@ -53,17 +49,15 @@ #include #endif -//---------------------------------------------------------------------------------------------------------------------- -// +//-------------------------------------------------------------------------------------------------- // C++ Management -// -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark C++ Management #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_string::GALGAS_string (void) : AC_GALGAS_root (), @@ -71,1703 +65,386 @@ mIsValid (false), mString () { } -//---------------------------------------------------------------------------------------------------------------------- - -GALGAS_string::GALGAS_string (const C_String & inString) : -AC_GALGAS_root (), -mIsValid (true), -mString (inString) { -} - -//---------------------------------------------------------------------------------------------------------------------- - -void GALGAS_string::drop (void) { - mIsValid = false ; - 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_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 ; +GALGAS_string::GALGAS_string (const String & inString) : +AC_GALGAS_root (), +mIsValid (true), +mString (inString) { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; - } +void GALGAS_string::drop (void) { + mIsValid = false ; + mString.removeAll () ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; - } +GALGAS_string GALGAS_string::makeEmptyString (void) { + GALGAS_string result ; + result.mIsValid = true ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +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 ; } - closedir (dir) ; } + return result ; } -//---------------------------------------------------------------------------------------------------------------------- -GALGAS_stringlist GALGAS_string::getter_directories (const GALGAS_bool & inRecursiveSearch - COMMA_LOCATION_ARGS) const { - GALGAS_stringlist result ; - if (inRecursiveSearch.isValid ()) { - result = GALGAS_stringlist::constructor_emptyList (THERE) ; - if (C_FileManager::directoryExists (mString)) { - recursiveSearchForDirectories (mString, - inRecursiveSearch.boolValue (), - "", - 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") ; } - return result ; + ioString.appendCString (">") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// Constructors +//-------------------------------------------------------------------------------------------------- -static void recursiveSearchForRegularFiles (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)) { - 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) ; - } -} +#ifdef PRAGMA_MARK_ALLOWED + #pragma mark Constructors +#endif -//---------------------------------------------------------------------------------------------------------------------- - -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) ; +//-------------------------------------------------------------------------------------------------- + +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)) { - //--- 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_newWithStdIn (UNUSED_LOCATION_ARGS) { + return GALGAS_string (String::newWithStdIn ()) ; } -//---------------------------------------------------------------------------------------------------------------------- - -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) ; - } +//-------------------------------------------------------------------------------------------------- + +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) ; } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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_CppLineComment (UNUSED_LOCATION_ARGS) { + String s ; s.appendCppHyphenLineComment () ; + return 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 ()) ; +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) ; } 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_string GALGAS_string::class_func_CppSpaceComment (UNUSED_LOCATION_ARGS) { + String s ; s.appendCppSpaceLineComment () ; + return GALGAS_string (s) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_uint GALGAS_string::getter_decimalUnsignedNumber (C_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) ; - } +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) ; } 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) ; +#if COMPILE_FOR_WINDOWS == 0 + GALGAS_string GALGAS_string::class_func_homeDirectory (UNUSED_LOCATION_ARGS) { + return GALGAS_string (getpwuid (getuid ())->pw_dir) ; } - return result ; -} +#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) ; + } +#endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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{ - inCompiler->onTheFlyRunTimeError ("cannot convert a string to a decimal @uint64 number" COMMA_THERE) ; +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 ; isourceFilePath ()) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +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)) ; }else{ - inCompiler->onTheFlyRunTimeError ("cannot convert a string to a decimal @sint number" COMMA_THERE) ; + String message = "cannot read '" ; + message.appendString (inFilePath.mString) ; + message.appendCString ("' file (does not exist)") ; + inCompiler->onTheFlyRunTimeError (message 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_string GALGAS_string::class_func_stringWithCurrentDirectory (UNUSED_LOCATION_ARGS) { + return GALGAS_string (FileManager::currentDirectory ()) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +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) ; }else{ - inCompiler->onTheFlyRunTimeError ("cannot convert a string to a decimal @sint64 number" COMMA_THERE) ; + result = GALGAS_string (value) ; } } 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 ; - } - } - 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) ; +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) ; } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +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) ; + } + s.appendString (current.current_mValue (HERE).mString) ; + current.gotoNextObject () ; } + result = GALGAS_string (s) ; } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; - } +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) ; } - return result ; + return GALGAS_string (ok ? timeString : "") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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_retrieveAndResetTemplateString (Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + return inCompiler->retrieveAndResetTemplateString () ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_bool GALGAS_string::getter_isSymbolicLink (UNUSED_LOCATION_ARGS) const { - GALGAS_bool result ; - if (isValid ()) { - result = GALGAS_bool (C_FileManager::isSymbolicLink (mString)) ; +GALGAS_string GALGAS_string::class_func_separatorString (Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + return inCompiler->separatorString () ; +} + +//-------------------------------------------------------------------------------------------------- + +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) ; + } } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// Operators +//-------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED - #pragma mark Getter popen + #pragma mark Operators #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 (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 ; +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) ; } + return result ; +} -#else +//-------------------------------------------------------------------------------------------------- - 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 ; +void GALGAS_string::plusAssign_operation (GALGAS_string inOperand, + Compiler * /* inCompiler */ + COMMA_UNUSED_LOCATION_ARGS) { + if (isValid () && inOperand.isValid ()) { + mString.appendString (inOperand.mString) ; + }else{ + drop () ; } -#endif +} -//---------------------------------------------------------------------------------------------------------------------- -// +//-------------------------------------------------------------------------------------------------- // Methods -// -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Methods #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void GALGAS_string::method_makeDirectory (C_Compiler * inCompiler +void GALGAS_string::method_makeDirectory (Compiler * inCompiler COMMA_LOCATION_ARGS) const { - const bool ok = C_FileManager::makeDirectoryIfDoesNotExist (mString) ; + const bool ok = FileManager::makeDirectoryIfDoesNotExist (mString) ; if (! ok) { - C_String message ; - message << "cannot create '" << mString << "' directory" ; + String message = "cannot create '" ; + message.appendString (mString) ; + message.appendCString ("' directory") ; inCompiler->onTheFlyRunTimeError (message COMMA_THERE) ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_string::method_makeDirectoryAndWriteToFile (GALGAS_string inFilePath, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { if (isValid () && inFilePath.isValid ()) { //--- Make directory - const C_String directory = inFilePath.mString.stringByDeletingLastPathComponent () ; - bool ok = C_FileManager::makeDirectoryIfDoesNotExist (directory) ; + const String directory = inFilePath.mString.stringByDeletingLastPathComponent () ; + bool ok = FileManager::makeDirectoryIfDoesNotExist (directory) ; if (! ok) { - C_String message ; - message << "cannot create '" << directory << "' directory" ; + String message = "cannot create '" ; + message.appendString (directory) ; + message.appendCString ("' directory") ; inCompiler->onTheFlyRunTimeError (message COMMA_THERE) ; }else{ method_writeToFile (inFilePath, inCompiler COMMA_THERE) ; @@ -1775,18 +452,19 @@ void GALGAS_string::method_makeDirectoryAndWriteToFile (GALGAS_string inFilePath } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_string::method_makeDirectoryAndWriteToExecutableFile (GALGAS_string inFilePath, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { if (isValid () && inFilePath.isValid ()) { //--- Make directory - const C_String directory = inFilePath.mString.stringByDeletingLastPathComponent () ; - bool ok = C_FileManager::makeDirectoryIfDoesNotExist (directory) ; + const String directory = inFilePath.mString.stringByDeletingLastPathComponent () ; + bool ok = FileManager::makeDirectoryIfDoesNotExist (directory) ; if (! ok) { - C_String message ; - message << "cannot create '" << directory << "' directory" ; + String message = "cannot create '" ; + message.appendString (directory) ; + message.appendCString ("' directory") ; inCompiler->onTheFlyRunTimeError (message COMMA_THERE) ; }else{ method_writeToExecutableFile (inFilePath, inCompiler COMMA_THERE) ; @@ -1794,250 +472,260 @@ void GALGAS_string::method_makeDirectoryAndWriteToExecutableFile (GALGAS_string } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_string::method_writeToFile (GALGAS_string inFilePath, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { if (isValid () && inFilePath.isValid ()) { - if (C_Compiler::performGeneration ()) { - const bool fileAlreadyExists = C_FileManager::fileExistsAtPath (inFilePath.mString) ; + if (Compiler::performGeneration ()) { + const bool fileAlreadyExists = FileManager::fileExistsAtPath (inFilePath.mString) ; const bool verboseOptionOn = verboseOutput () ; - const bool ok = C_FileManager::writeStringToFile (mString, inFilePath.mString) ; + const bool ok = FileManager::writeStringToFile (mString, inFilePath.mString) ; if (ok && verboseOptionOn && fileAlreadyExists) { - ggs_printFileOperationSuccess (C_String ("Replaced '") + inFilePath.mString + "'.\n") ; + ggs_printFileOperationSuccess (String ("Replaced '") + inFilePath.mString + "'.\n") ; }else if (ok && verboseOptionOn && ! fileAlreadyExists) { - ggs_printFileCreationSuccess (C_String ("Created '") + inFilePath.mString + "'.\n") ; + ggs_printFileCreationSuccess (String ("Created '") + inFilePath.mString + "'.\n") ; }else if (! ok) { - C_String message ; - message << "cannot write '" << inFilePath.mString << "' file" ; + String message = "cannot write '" ; + message.appendString (inFilePath.mString) ; + message.appendCString ("' file") ; inCompiler->onTheFlyRunTimeError (message COMMA_THERE) ; } }else{ - ggs_printWarning (inCompiler, C_SourceTextInString (), C_IssueWithFixIt (), C_String ("Need to write '") + inFilePath.mString + "'." COMMA_THERE) ; + ggs_printWarning (inCompiler, SourceTextInString (), C_IssueWithFixIt (), String ("Need to write '") + inFilePath.mString + "'." COMMA_THERE) ; } } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_string::method_writeToFileWhenDifferentContents (GALGAS_string inFilePath, GALGAS_bool & outFileWritten, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { if (isValid () && inFilePath.isValid ()) { bool needToWrite = true ; - const bool fileAlreadyExists = C_FileManager::fileExistsAtPath (inFilePath.mString) ; + const bool fileAlreadyExists = FileManager::fileExistsAtPath (inFilePath.mString) ; if (fileAlreadyExists) { inCompiler->logFileRead (inFilePath.mString) ; - const C_String readContents = C_FileManager::stringWithContentOfFile (inFilePath.mString) ; + const String readContents = FileManager::stringWithContentOfFile (inFilePath.mString) ; needToWrite = mString.compare (readContents) != 0 ; } outFileWritten = GALGAS_bool (needToWrite) ; if (needToWrite) { - if (C_Compiler::performGeneration ()) { + if (Compiler::performGeneration ()) { const bool verboseOptionOn = verboseOutput () ; - bool ok = C_FileManager::makeDirectoryIfDoesNotExist (inFilePath.mString.stringByDeletingLastPathComponent ()) ; + bool ok = FileManager::makeDirectoryIfDoesNotExist (inFilePath.mString.stringByDeletingLastPathComponent ()) ; if (! ok) { - C_String message ; - message << "cannot create '" << inFilePath.mString << "' directory" ; + String message = "cannot create '" ; + message.appendString (inFilePath.mString) ; + message.appendCString ("' directory") ; inCompiler->onTheFlyRunTimeError (message COMMA_THERE) ; outFileWritten.drop () ; }else{ - ok = C_FileManager::writeStringToFile (mString, inFilePath.mString) ; + ok = FileManager::writeStringToFile (mString, inFilePath.mString) ; if (ok && verboseOptionOn && fileAlreadyExists) { - ggs_printFileOperationSuccess (C_String ("Replaced '") + inFilePath.mString + "'.\n") ; + ggs_printFileOperationSuccess (String ("Replaced '") + inFilePath.mString + "'.\n") ; }else if (ok && verboseOptionOn && ! fileAlreadyExists) { - ggs_printFileCreationSuccess (C_String ("Created '") + inFilePath.mString + "'.\n") ; + ggs_printFileCreationSuccess (String ("Created '") + inFilePath.mString + "'.\n") ; }else if (! ok) { - C_String message ; - message << "cannot write '" << inFilePath.mString << "' file" ; + String message = "cannot write '" ; + message.appendString (inFilePath.mString) ; + message.appendCString ("' file") ; inCompiler->onTheFlyRunTimeError (message COMMA_THERE) ; outFileWritten.drop () ; } } }else{ - ggs_printWarning (inCompiler, C_SourceTextInString (), C_IssueWithFixIt (), C_String ("Need to write '") + inFilePath.mString + "'." COMMA_THERE) ; + ggs_printWarning (inCompiler, SourceTextInString (), C_IssueWithFixIt (), String ("Need to write '") + inFilePath.mString + "'." COMMA_THERE) ; } } } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_string::method_writeToExecutableFile (GALGAS_string inFilePath, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { if (isValid () && inFilePath.isValid ()) { - const bool fileAlreadyExists = C_FileManager::fileExistsAtPath (inFilePath.mString) ; - if (C_Compiler::performGeneration ()) { + const bool fileAlreadyExists = FileManager::fileExistsAtPath (inFilePath.mString) ; + if (Compiler::performGeneration ()) { const bool verboseOptionOn = verboseOutput () ; - const bool ok = C_FileManager::writeStringToExecutableFile (mString, inFilePath.mString) ; + const bool ok = FileManager::writeStringToExecutableFile (mString, inFilePath.mString) ; if (ok && verboseOptionOn && fileAlreadyExists) { - ggs_printFileOperationSuccess (C_String ("Replaced '") + inFilePath.mString + "'.\n") ; + ggs_printFileOperationSuccess (String ("Replaced '") + inFilePath.mString + "'.\n") ; }else if (ok && verboseOptionOn && ! fileAlreadyExists) { - ggs_printFileCreationSuccess (C_String ("Created '") + inFilePath.mString + "'.\n") ; + ggs_printFileCreationSuccess (String ("Created '") + inFilePath.mString + "'.\n") ; }else if (! ok) { - C_String message ; - message << "cannot write '" << inFilePath.mString << "' file" ; + String message = "cannot write '" ; + message.appendString (inFilePath.mString) ; + message.appendCString ("' file") ; inCompiler->onTheFlyRunTimeError (message COMMA_THERE) ; } }else{ - ggs_printWarning (inCompiler, C_SourceTextInString (), C_IssueWithFixIt (), C_String ("Need to write '") + inFilePath.mString + "'." COMMA_THERE) ; + ggs_printWarning (inCompiler, SourceTextInString (), C_IssueWithFixIt (), String ("Need to write '") + inFilePath.mString + "'." COMMA_THERE) ; } } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_string::method_writeToExecutableFileWhenDifferentContents (GALGAS_string inFilePath, GALGAS_bool & outFileWritten, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { if (isValid () && inFilePath.isValid ()) { bool needToWrite = true ; - const bool fileAlreadyExists = C_FileManager::fileExistsAtPath (inFilePath.mString) ; + const bool fileAlreadyExists = FileManager::fileExistsAtPath (inFilePath.mString) ; if (fileAlreadyExists) { inCompiler->logFileRead (inFilePath.mString) ; - const C_String readContents = C_FileManager::stringWithContentOfFile (inFilePath.mString) ; + const String readContents = FileManager::stringWithContentOfFile (inFilePath.mString) ; needToWrite = mString.compare (readContents) != 0 ; } outFileWritten = GALGAS_bool (needToWrite) ; if (needToWrite) { - if (C_Compiler::performGeneration ()) { + if (Compiler::performGeneration ()) { const bool verboseOptionOn = verboseOutput () ; - bool ok = C_FileManager::makeDirectoryIfDoesNotExist (inFilePath.mString.stringByDeletingLastPathComponent ()) ; + bool ok = FileManager::makeDirectoryIfDoesNotExist (inFilePath.mString.stringByDeletingLastPathComponent ()) ; if (! ok) { - C_String message ; - message << "cannot create '" << inFilePath.mString << "' directory" ; + String message = "cannot create '" ; + message.appendString (inFilePath.mString) ; + message.appendCString ("' directory") ; inCompiler->onTheFlyRunTimeError (message COMMA_THERE) ; outFileWritten.drop () ; }else{ - ok = C_FileManager::writeStringToExecutableFile (mString, inFilePath.mString) ; + ok = FileManager::writeStringToExecutableFile (mString, inFilePath.mString) ; if (ok && verboseOptionOn && fileAlreadyExists) { - ggs_printFileOperationSuccess (C_String ("Replaced '") + inFilePath.mString + "'.\n") ; + ggs_printFileOperationSuccess (String ("Replaced '") + inFilePath.mString + "'.\n") ; }else if (ok && verboseOptionOn && ! fileAlreadyExists) { - ggs_printFileCreationSuccess (C_String ("Created '") + inFilePath.mString + "'.\n") ; + ggs_printFileCreationSuccess (String ("Created '") + inFilePath.mString + "'.\n") ; }else if (! ok) { - C_String message ; - message << "cannot write '" << inFilePath.mString << "' file" ; + String message = "cannot write '" ; + message.appendString (inFilePath.mString) ; + message.appendCString ("' file") ; inCompiler->onTheFlyRunTimeError (message COMMA_THERE) ; outFileWritten.drop () ; } } }else{ - ggs_printWarning (inCompiler, C_SourceTextInString (), C_IssueWithFixIt (), C_String ("Need to write '") + inFilePath.mString + "'." COMMA_THERE) ; + ggs_printWarning (inCompiler, SourceTextInString (), C_IssueWithFixIt (), String ("Need to write '") + inFilePath.mString + "'." COMMA_THERE) ; } } } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_string::method_makeSymbolicLinkWithPath (GALGAS_string inPath, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { if (isValid () && inPath.isValid ()) { - const bool ok = C_FileManager::makeSymbolicLinkWithPath (inPath.mString, mString) ; + const bool ok = FileManager::makeSymbolicLinkWithPath (inPath.mString, mString) ; if (! ok) { - 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" ; + 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") ; inCompiler->onTheFlyRunTimeError (s COMMA_THERE) ; } } } -//---------------------------------------------------------------------------------------------------------------------- -// +//-------------------------------------------------------------------------------------------------- // Setters -// -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Setters #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_string::setter_appendSpacesUntilColumn (GALGAS_uint inColumnIndex, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) { if (isValid () && inColumnIndex.isValid ()) { mString.appendSpacesUntilColumn (inColumnIndex.uintValue ()) ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_string::setter_setCapacity (GALGAS_uint inNewCapacity, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid () && inNewCapacity.isValid ()) { if (inNewCapacity.uintValue () <= ((uint32_t) INT32_MAX)) { - mString.setCapacity (inNewCapacity.uintValue ()) ; + mString.setCapacity (int32_t (inNewCapacity.uintValue ())) ; }else{ - C_String message ; - message << "setCapacity argument value (" ; + String message = "setCapacity argument value (" ; message.appendUnsigned (inNewCapacity.uintValue ()) ; - message << ") too large (should be <= 2**31-1)" ; + message.appendCString (") too large (should be <= 2**31-1)") ; inCompiler->onTheFlyRunTimeError (message COMMA_THERE) ; } } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_string::setter_incIndentation (GALGAS_uint inIndentation, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) { if (isValid () && inIndentation.isValid ()) { mString.incIndentation ((int32_t) inIndentation.uintValue ()) ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_string::setter_decIndentation (GALGAS_uint inIndentation, - C_Compiler * /* inCompiler */ + 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, - C_Compiler * inCompiler + 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) { - C_String message ; - message << "string index (" << cStringWithSigned (idx) << ") too large (string length: " << cStringWithSigned (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{ - mString.setUnicodeCharacterAtIndex (inCharacter.charValue (), idx COMMA_THERE) ; + mString.setCharAtIndex (inCharacter.charValue (), idx COMMA_THERE) ; } } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_string::setter_insertCharacterAtIndex (GALGAS_char inCharacter, GALGAS_uint inIndex, - C_Compiler * inCompiler + 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) { - C_String message ; - message << "string index (" << cStringWithSigned (idx) << ") too large (string length: " << cStringWithSigned (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{ mString.insertCharacterAtIndex (inCharacter.charValue (), idx COMMA_THERE) ; @@ -2045,108 +733,112 @@ void GALGAS_string::setter_insertCharacterAtIndex (GALGAS_char inCharacter, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_string::setter_removeCharacterAtIndex (GALGAS_char & outChar, GALGAS_uint inIndex, - C_Compiler * inCompiler + 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) { - C_String message ; - message << "string index (" << cStringWithSigned (idx) << ") too large (string length: " << cStringWithSigned (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{ - outChar = GALGAS_char (mString (idx COMMA_HERE)) ; - mString.suppress (idx, 1 COMMA_THERE) ; + outChar = GALGAS_char (mString.charAtIndex (idx COMMA_HERE)) ; + mString.removeCountFromIndex (1, idx COMMA_THERE) ; } } } -//---------------------------------------------------------------------------------------------------------------------- -// +//-------------------------------------------------------------------------------------------------- // Type methods -// -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Type methods #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_string::class_method_deleteFile (GALGAS_string inFilePath, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { if (inFilePath.isValid ()) { - if (! C_Compiler::performGeneration ()) { - ggs_printWarning (inCompiler, C_SourceTextInString (), C_IssueWithFixIt (), C_String ("Need to delete '") + inFilePath.mString + "'.\n" COMMA_THERE) ; + if (! Compiler::performGeneration ()) { + ggs_printWarning (inCompiler, SourceTextInString (), C_IssueWithFixIt (), 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 C_String errorMessage = C_FileManager::deleteFile (inFilePath.mString) ; + const String errorMessage = FileManager::deleteFile (inFilePath.mString) ; if (errorMessage.length () == 0) { - ggs_printFileOperationSuccess (C_String ("Deleted '") + inFilePath.mString + "'.\n") ; + ggs_printFileOperationSuccess (String ("Deleted '") + inFilePath.mString + "'.\n") ; }else{ - C_String message ; - message << "cannot perform delete '" << inFilePath.mString << "' file: " << errorMessage ; + String message = "cannot perform delete '" ; + message.appendString (inFilePath.mString) ; + message.appendCString ("' file: ") ; + message.appendString (errorMessage) ; inCompiler->onTheFlyRunTimeError (message COMMA_THERE) ; } } } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_string::class_method_deleteFileIfExists (GALGAS_string inFilePath, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { - if ((inFilePath.isValid ()) && C_FileManager::fileExistsAtPath (inFilePath.mString)) { + if ((inFilePath.isValid ()) && FileManager::fileExistsAtPath (inFilePath.mString)) { class_method_deleteFile (inFilePath, inCompiler COMMA_THERE) ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_string::class_method_removeEmptyDirectory (GALGAS_string inDirectoryPath, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { if (inDirectoryPath.isValid ()) { - if (! C_Compiler::performGeneration ()) { - ggs_printWarning (inCompiler, C_SourceTextInString (), C_IssueWithFixIt (), C_String ("Need to remove directory '") + inDirectoryPath.mString + "'.\n" COMMA_THERE) ; + if (! Compiler::performGeneration ()) { + ggs_printWarning (inCompiler, SourceTextInString (), C_IssueWithFixIt (), 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 C_String errorMessage = C_FileManager::removeDirectory (inDirectoryPath.mString) ; + const String errorMessage = FileManager::removeDirectory (inDirectoryPath.mString) ; if (errorMessage.length () > 0) { - C_String message ; - message << "cannot perform directory removing: " << errorMessage ; + String message = "cannot perform directory removing: " ; + message.appendString (errorMessage) ; inCompiler->onTheFlyRunTimeError (message COMMA_THERE) ; } } } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +static String recursiveRemoveDirectory (const String & inUnixDirectoryPath) { + String result ; + const String nativeStartPath = FileManager::nativePathWithUnixPath (inUnixDirectoryPath) ; + DIR * dir = ::opendir (nativeStartPath.cString ()) ; 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)) { - C_String name = nativeStartPath ; - name << "/" << current->d_name ; - if (C_FileManager::directoryExistsWithNativePath (name)) { + String name = nativeStartPath ; + name.appendCString ("/") ; + name.appendString (current->d_name) ; + if (FileManager::directoryExistsWithNativePath (name)) { recursiveRemoveDirectory (name) ; - }else if (C_FileManager::fileExistsAtPath (name)) { - result = C_FileManager::deleteFile (name) ; + }else if (FileManager::fileExistsAtPath (name)) { + result = FileManager::deleteFile (name) ; } } current = readdir (dir) ; @@ -2154,48 +846,49 @@ static C_String recursiveRemoveDirectory (const C_String & inUnixDirectoryPath) closedir (dir) ; } if (result.length () == 0) { - result = C_FileManager::removeDirectory (inUnixDirectoryPath) ; + result = FileManager::removeDirectory (inUnixDirectoryPath) ; } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_string::class_method_removeDirectoryRecursively (GALGAS_string inDirectoryPath, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { if (inDirectoryPath.isValid ()) { - if (! C_Compiler::performGeneration ()) { - ggs_printWarning (inCompiler, C_SourceTextInString (), C_IssueWithFixIt (), C_String ("Need to remove directory '") + inDirectoryPath.mString + "'.\n" COMMA_THERE) ; + if (! Compiler::performGeneration ()) { + ggs_printWarning (inCompiler, SourceTextInString (), C_IssueWithFixIt (), 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{ - C_String errorMessage = recursiveRemoveDirectory (inDirectoryPath.mString) ; + String errorMessage = recursiveRemoveDirectory (inDirectoryPath.mString) ; if (errorMessage.length () > 0) { - C_String message ; - message << "cannot perform directory removing: " << errorMessage ; + String message = "cannot perform directory removing: " ; + message.appendString (errorMessage) ; inCompiler->onTheFlyRunTimeError (message COMMA_THERE) ; } } } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static bool writeFile (const C_String & inMessage, - const C_String & inFullPathName, - const C_Data & inCurrentData, - C_Compiler * inCompiler) { +static bool writeFile (const String & inMessage, + const String & inFullPathName, + const U8Data & inCurrentData, + Compiler * inCompiler) { bool ok = true ; if (inCompiler->performGeneration ()) { const bool verboseOptionOn = verboseOutput () ; - const C_String directory = inFullPathName.stringByDeletingLastPathComponent () ; - C_FileManager::makeDirectoryIfDoesNotExist (directory) ; - C_BinaryFileWrite binaryFile (inFullPathName) ; + const String directory = inFullPathName.stringByDeletingLastPathComponent () ; + FileManager::makeDirectoryIfDoesNotExist (directory) ; + BinaryFileWrite binaryFile (inFullPathName) ; ok = binaryFile.isOpened () ; if (! ok) { - C_String message ; - message << "Cannot open '" << inFullPathName << "' file in write mode." ; + String message = "Cannot open '" ; + message.appendString (inFullPathName) ; + message.appendCString ("' file in write mode.") ; inCompiler->onTheFlySemanticError (message COMMA_HERE) ; } binaryFile.appendData (inCurrentData) ; @@ -2207,25 +900,25 @@ static bool writeFile (const C_String & inMessage, ggs_printFileOperationSuccess (inMessage + " '" + inFullPathName + "'.\n") ; } }else{ - ggs_printWarning (inCompiler, C_SourceTextInString(), C_IssueWithFixIt (), C_String ("Need to write '") + inFullPathName + "'." COMMA_HERE) ; + ggs_printWarning (inCompiler, SourceTextInString(), C_IssueWithFixIt (), String ("Need to write '") + inFullPathName + "'." COMMA_HERE) ; } return ok ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static bool updateFile (const C_String & inFullPathName, - const C_String & inContents, - C_Compiler * inCompiler) { - C_Data currentData ; currentData.appendString (inContents) ; +static bool updateFile (const String & inFullPathName, + const String & inContents, + Compiler * inCompiler) { + U8Data currentData ; currentData.appendString (inContents) ; //--- Compare file length - const uint64_t fileSize = C_FileManager::fileSize (inFullPathName) ; + const uint64_t fileSize = FileManager::fileSize (inFullPathName) ; bool needsToWriteFile = fileSize != (uint64_t) currentData.count () ; bool ok = true ; //--- Read file if (! needsToWriteFile) { - C_Data fileData ; - ok = C_FileManager::binaryDataWithContentOfFile (inFullPathName, fileData) ; + U8Data fileData ; + ok = FileManager::binaryDataWithContentOfFile (inFullPathName, fileData) ; if (ok) { needsToWriteFile = fileData != currentData ; } @@ -2237,19 +930,19 @@ static bool updateFile (const C_String & inFullPathName, return ok ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static void generateFile (const C_String & inStartPath, - const C_String & inFileName, - const C_String & inContents, +static void generateFile (const String & inStartPath, + const String & inFileName, + const String & inContents, const bool inMakeExecutable, - C_Compiler * inCompiler) { + Compiler * inCompiler) { bool ok = true ; //--- File exists ? - const TC_UniqueArray directoriesToExclude ; - const C_String fullPathName = C_FileManager::findFileInDirectory (inStartPath, inFileName, directoriesToExclude) ; + const TC_UniqueArray directoriesToExclude ; + const String fullPathName = FileManager::findFileInDirectory (inStartPath, inFileName, directoriesToExclude) ; if (fullPathName.length () == 0) { // No, does not exist - C_Data currentData ; currentData.appendString (inContents) ; + U8Data currentData ; currentData.appendString (inContents) ; ok = writeFile ("Created", inStartPath + "/" + inFileName, currentData, inCompiler) ; }else{ //--- File exists: read it ok = updateFile (fullPathName, inContents, inCompiler) ; @@ -2258,25 +951,25 @@ static void generateFile (const C_String & inStartPath, if (ok && inMakeExecutable) { #if COMPILE_FOR_WINDOWS == 0 struct stat fileStat ; - ::stat (fullPathName.cString (HERE), & fileStat) ; - ::chmod (fullPathName.cString (HERE), fileStat.st_mode | S_IXUSR | S_IXGRP | S_IXOTH) ; + ::stat (fullPathName.cString (), & fileStat) ; + ::chmod (fullPathName.cString (), 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, - C_Compiler * inCompiler + 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, @@ -2287,7 +980,7 @@ void GALGAS_string::class_method_generateFileWithPattern (GALGAS_string inStartP GALGAS_string inDefaultUserZone2, GALGAS_string inGeneratedZone3, GALGAS_bool inMakeExecutable, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { const bool built = (inStartPath.isValid ()) && (inFileName.isValid ()) @@ -2300,7 +993,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, @@ -2316,14 +1009,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 C_BigInt bigint (mString.cString (HERE), 10, extracted) ; + const BigSigned bigint (mString.cString (), BigUnsignedBase::ten, extracted) ; if (extracted) { outBigInt = GALGAS_bigint (bigint) ; } @@ -2331,14 +1024,18 @@ 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 ()) { - std::cout << " " << inPropertyName << " : " << mString.cString (HERE) << std::endl ; + gCout.appendCString (" ") ; + gCout.appendString (inPropertyName) ; + gCout.appendCString (" : ") ; + gCout.appendString (mString) ; + gCout.appendNewLine () ; ; } } #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/GALGAS_stringset.cpp b/goil/build/libpm/galgas2/GALGAS_stringset.cpp index 62d1269b6..7d017992c 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 "utilities/MF_MemoryControl.h" -#include "galgas2/cCollectionElement.h" -#include "galgas2/C_Compiler.h" +#include "MF_MemoryControl.h" +#include "cCollectionElement.h" +#include "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 (C_String & ioString, const int32_t inIndentation) const ; + public: virtual void description (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 (C_String & ioString, const int32_t inIndentation) const { +void cCollectionElement_stringset::description (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: C_String mKey ; + public: String mKey ; //--- - public: cStringsetNode (const C_String & inString) ; + public: cStringsetNode (const String & inString) ; public: cStringsetNode (const cStringsetNode * inNode) ; //--- No copy @@ -114,16 +114,16 @@ class cStringsetNode { public: virtual ~ cStringsetNode (void) ; } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -cStringsetNode::cStringsetNode (const C_String & inString) : +cStringsetNode::cStringsetNode (const 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 C_String & inKey, + const 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 C_String & inKeyToRemove, + const 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 C_SharedObject { +class cSharedStringsetRoot : public SharedObject { //--- Private data members private: cStringsetNode * mRoot ; private: uint32_t mEntryCount ; @@ -406,19 +406,19 @@ class cSharedStringsetRoot : public C_SharedObject { #endif //--- Get root key - public: C_String rootKey (void) const ; + public: String rootKey (void) const ; //--- Add entry - public: void addKey (const C_String & inKey) ; + public: void addKey (const String & inKey) ; //--- Remove key - public: void removeKey (const C_String & inKey) ; + public: void removeKey (const String & inKey) ; //--- Has key - public: bool hasKey (const C_String & inKey) const ; + public: bool hasKey (const 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 C_SharedObject { //--- Description protected: void displayEntries (const cStringsetNode * inNode, - C_String & ioString) const ; - public: void description (C_String & ioString) const ; + String & ioString) const ; + public: void description (String & ioString) const ; } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cSharedStringsetRoot::cSharedStringsetRoot (LOCATION_ARGS) : -C_SharedObject (THERE), +SharedObject (THERE), mRoot (nullptr), mEntryCount (0) { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cSharedStringsetRoot::~cSharedStringsetRoot (void) { macroMyDelete (mRoot) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS void cSharedStringsetRoot::countStringSetNodes (const cStringsetNode * inNode, @@ -459,42 +459,44 @@ cSharedStringsetRoot::~cSharedStringsetRoot (void) { } #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS void cSharedStringsetRoot::checkStringset (LOCATION_ARGS) const { uint32_t n = 0 ; countStringSetNodes (mRoot, n) ; - MF_AssertThere (n == mEntryCount, "count %lld != mEntryCount %lld", n, mEntryCount) ; + macroAssertThere (n == mEntryCount, "count %lld != mEntryCount %lld", n, mEntryCount) ; } #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void cSharedStringsetRoot::displayEntries (const cStringsetNode * inNode, - C_String & ioString) const { + String & ioString) const { if (inNode != nullptr) { displayEntries (inNode->mInfPtr, ioString) ; - ioString << " '" << inNode->mKey << "'" ; + ioString.appendCString (" '") ; + ioString.appendString (inNode->mKey) ; + ioString.appendCString ("'") ; displayEntries (inNode->mSupPtr, ioString) ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void cSharedStringsetRoot::description (C_String & ioString) const { - ioString << cStringWithUnsigned (mEntryCount) ; +void cSharedStringsetRoot::description (String & ioString) const { + ioString.appendUnsigned (mEntryCount) ; if (mEntryCount > 1) { - ioString << " entries" ; + ioString.appendCString (" entries") ; }else{ - ioString << " entry" ; + ioString.appendCString (" entry") ; } displayEntries (mRoot, ioString) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void cSharedStringsetRoot::addKey (const C_String & inKey) { +void cSharedStringsetRoot::addKey (const String & inKey) { macroUniqueSharedObject (this) ; bool extension = false ; bool entryAdded = false ; @@ -504,14 +506,14 @@ void cSharedStringsetRoot::addKey (const C_String & inKey) { } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_String cSharedStringsetRoot::rootKey (void) const { +String cSharedStringsetRoot::rootKey (void) const { macroValidPointer (mRoot) ; return mRoot->mKey ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void cSharedStringsetRoot::copyFrom (const cSharedStringsetRoot * inSharedRootToCopy) { macroValidSharedObject (inSharedRootToCopy, cSharedStringsetRoot) ; @@ -521,9 +523,9 @@ void cSharedStringsetRoot::copyFrom (const cSharedStringsetRoot * inSharedRootTo } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void cSharedStringsetRoot::removeKey (const C_String & inKey) { +void cSharedStringsetRoot::removeKey (const String & inKey) { macroUniqueSharedObject (this) ; bool branchHasBeenRemoved = false ; bool keyHasBeenRemoved = false ; @@ -533,10 +535,10 @@ void cSharedStringsetRoot::removeKey (const C_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) ; @@ -544,15 +546,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 C_String & inKey) const { +bool cSharedStringsetRoot::hasKey (const String & inKey) const { bool found = false ; const cStringsetNode * p = mRoot ; while ((p != nullptr) && ! found) { @@ -568,7 +570,7 @@ bool cSharedStringsetRoot::hasKey (const C_String & inKey) const { return found ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- static void recursiveAddToStringList (GALGAS_stringlist & ioResult, const cStringsetNode * inNode) { @@ -579,42 +581,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 (), @@ -622,14 +624,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 { @@ -639,20 +641,20 @@ GALGAS_stringset & GALGAS_stringset::operator = (const GALGAS_stringset & inSour } #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void GALGAS_stringset::description (C_String & ioString, +void GALGAS_stringset::description (String & ioString, const int32_t /* inIndentation */) const { - ioString << "<@stringset:" ; + ioString.appendCString ("<@stringset:") ; if (nullptr == mSharedRoot) { - ioString << "not built" ; + ioString.appendCString ("not built") ; }else{ mSharedRoot->description (ioString) ; } - ioString << ">" ; + ioString.appendCString (">") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_stringset::insulate (LOCATION_ARGS) { if ((nullptr != mSharedRoot) && !mSharedRoot->isUniquelyReferenced ()) { @@ -667,7 +669,27 @@ 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) { @@ -686,7 +708,7 @@ void GALGAS_stringset::addAssign_operation (const GALGAS_string & inKey } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_stringset::setter_removeKey (GALGAS_string inKey COMMA_LOCATION_ARGS) { @@ -707,17 +729,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 { @@ -727,13 +749,13 @@ GALGAS_stringset GALGAS_stringset::operator_and (const GALGAS_stringset & inOper checkStringset (HERE) ; inOperand2.checkStringset (HERE) ; #endif - result = constructor_emptySet (THERE) ; + result = class_func_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) ; } @@ -759,11 +781,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 { @@ -775,7 +797,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) ; } @@ -789,10 +811,10 @@ GALGAS_stringset GALGAS_stringset::operator_or (const GALGAS_stringset & inOpera return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_stringset::plusAssign_operation (const GALGAS_stringset inOperand2, - C_Compiler * + Compiler * COMMA_LOCATION_ARGS) { if (isValid () && inOperand2.isValid ()) { #ifndef DO_NOT_GENERATE_CHECKINGS @@ -800,7 +822,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) ; } @@ -815,14 +837,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, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_LOCATION_ARGS) const { GALGAS_stringset result ; if (isValid () && inOperand2.isValid ()) { @@ -830,9 +852,9 @@ GALGAS_stringset GALGAS_stringset::substract_operation (const GALGAS_stringset & checkStringset (HERE) ; inOperand2.checkStringset (HERE) ; #endif - result = constructor_emptySet (THERE) ; + result = class_func_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))) { @@ -846,36 +868,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::constructor_emptyList (THERE) ; + result = GALGAS_stringlist::class_func_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 C_String key = inKey.stringValue () ; + const 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 ; @@ -885,14 +907,14 @@ GALGAS_uint GALGAS_stringset::getter_count (UNUSED_LOCATION_ARGS) const { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_string GALGAS_stringset::getter_anyString (C_Compiler * inCompiler +GALGAS_string GALGAS_stringset::getter_anyString (Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_string result ; if (isValid ()) { if (mSharedRoot->count () == 0) { - C_String message = "@stringset anyString: receiver is empty" ; + String message = "@stringset anyString: receiver is empty" ; inCompiler->onTheFlySemanticError(message COMMA_THERE) ; }else{ result = GALGAS_string (mSharedRoot->rootKey ()) ; @@ -901,17 +923,17 @@ GALGAS_string GALGAS_stringset::getter_anyString (C_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) { @@ -928,21 +950,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 - MF_Assert (mSharedRoot->count () == inEnumerationArray.count (), + macroAssert (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) : @@ -950,7 +972,7 @@ cGenericAbstractEnumerator (inOrder) { inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_string cEnumerator_stringset::current_key (LOCATION_ARGS) const { const cCollectionElement_stringset * p = (const cCollectionElement_stringset *) currentObjectPtr (THERE) ; @@ -958,7 +980,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) ; @@ -966,11 +988,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 ; @@ -983,9 +1005,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.appendCString (">") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_timer GALGAS_timer::constructor_start (UNUSED_LOCATION_ARGS) { +GALGAS_timer GALGAS_timer::class_func_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 = C_Timer () ; + mTimer = 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 e4e713213..134afbd1d 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 "galgas2/C_Compiler.h" +#include "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 (C_String & ioString, +void GALGAS_type::description (String & ioString, const int32_t /* inIndentation */) const { - ioString << "<@type: " ; + ioString.appendCString ("<@type: ") ; if (nullptr == mTypeDescriptor) { - ioString << "not built" ; + ioString.appendCString ("not built") ; }else{ - ioString << "@" << mTypeDescriptor->mGalgasTypeName ; + ioString.appendCString ("@") ; + ioString.appendString (mTypeDescriptor->mGalgasTypeName) ; } - ioString << ">" ; + ioString.appendCString (">") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_typelist GALGAS_type::constructor_typeList (LOCATION_ARGS) { +GALGAS_typelist GALGAS_type::class_func_typeList (LOCATION_ARGS) { TC_UniqueArray typeList ; C_galgas_type_descriptor::typeListRoot (typeList) ; - GALGAS_typelist result = GALGAS_typelist::constructor_emptyList (THERE) ; + GALGAS_typelist result = GALGAS_typelist::class_func_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 (C_Compiler * inCompiler +GALGAS_type GALGAS_type::getter_superclass (Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_type result ; if (mTypeDescriptor != nullptr) { if (nullptr == mTypeDescriptor->mSuperclassDescriptor) { - C_String s ; - s << "'superclass' reader invoked on class type value '@" - << mTypeDescriptor->mGalgasTypeName << "', without super class" - ; + String s = "'superclass' reader invoked on class type value '@" ; + s.appendString (mTypeDescriptor->mGalgasTypeName) ; + s.appendCString ("', without super class") ; inCompiler->onTheFlyRunTimeError (s COMMA_THERE) ; }else{ result = GALGAS_type (mTypeDescriptor->mSuperclassDescriptor) ; @@ -114,7 +114,7 @@ GALGAS_type GALGAS_type::getter_superclass (C_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 a98956ceb..fd1cd9095 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, ..., 2018 Pierre Molinaro. +// Copyright (C) 2009, ..., 2024 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 "galgas2/C_Compiler.h" -#include "galgas2/C_galgas_io.h" -#include "strings/unicode_character_cpp.h" -#include "utilities/galgas-random.h" +#include "Compiler.h" +#include "C_galgas_io.h" +#include "unicode_character_cpp.h" +#include "galgas-random.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark C++ constructors #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // C++ Constructors // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_uint::GALGAS_uint (void) : AC_GALGAS_root (), @@ -42,13 +42,7 @@ 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 (), @@ -56,7 +50,7 @@ mIsValid (true), mUIntValue (inValue) { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_uint::GALGAS_uint (const bool inValid, const uint32_t inValue) : AC_GALGAS_root (), @@ -64,17 +58,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) { @@ -87,45 +81,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::constructor_random (UNUSED_LOCATION_ARGS) { +GALGAS_uint GALGAS_uint::class_func_random (UNUSED_LOCATION_ARGS) { return GALGAS_uint (uint32_t (galgas_random ())) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_uint GALGAS_uint::constructor_max (UNUSED_LOCATION_ARGS) { +GALGAS_uint GALGAS_uint::class_func_max (UNUSED_LOCATION_ARGS) { return GALGAS_uint (UINT32_MAX) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_uint GALGAS_uint::constructor_errorCount (UNUSED_LOCATION_ARGS) { +GALGAS_uint GALGAS_uint::class_func_errorCount (UNUSED_LOCATION_ARGS) { return GALGAS_uint (uint32_t (totalErrorCount ())) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_uint GALGAS_uint::constructor_warningCount (UNUSED_LOCATION_ARGS) { +GALGAS_uint GALGAS_uint::class_func_warningCount (UNUSED_LOCATION_ARGS) { return GALGAS_uint (uint32_t (totalWarningCount ())) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_uint GALGAS_uint::constructor_valueWithMask (const GALGAS_uint & inLowerIndex, +GALGAS_uint GALGAS_uint::class_func_valueWithMask (const GALGAS_uint & inLowerIndex, const GALGAS_uint & inUpperIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_uint result ; if (inLowerIndex.isValid () && inUpperIndex.isValid ()) { @@ -143,9 +137,9 @@ GALGAS_uint GALGAS_uint::constructor_valueWithMask (const GALGAS_uint & inLowerI return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_uint GALGAS_uint::constructor_compilationMode (UNUSED_LOCATION_ARGS) { +GALGAS_uint GALGAS_uint::class_func_compilationMode (UNUSED_LOCATION_ARGS) { #ifdef __LP64__ return GALGAS_uint (64) ; #else @@ -153,17 +147,17 @@ GALGAS_uint GALGAS_uint::constructor_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 { @@ -174,7 +168,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 { @@ -185,7 +179,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 { @@ -196,7 +190,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 ; @@ -206,7 +200,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 ; @@ -222,13 +216,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 { @@ -241,9 +235,9 @@ GALGAS_bool GALGAS_uint::getter_isInRange (const GALGAS_range & inRange return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_sint GALGAS_uint::getter_sint (C_Compiler * inCompiler +GALGAS_sint GALGAS_uint::getter_sint (Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_sint result ; if (mUIntValue > (uint32_t (INT32_MAX))) { @@ -254,67 +248,67 @@ GALGAS_sint GALGAS_uint::getter_sint (C_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 { - C_String s = "aaaaaaa" ; // 2**32 values needs 7 characters (base 26) : n = 32 * log (2) / log (26) + 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.setUnicodeCharacterAtIndex (c, idx COMMA_HERE) ; + s.setCharAtIndex (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 (C_BigInt (mUIntValue, false)) ; + result = GALGAS_bigint (BigSigned (true, mUIntValue)) ; } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_string GALGAS_uint::getter_string (UNUSED_LOCATION_ARGS) const { GALGAS_string result ; if (isValid ()) { - C_String s ; + 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 ()) { - C_String s ; + String s ; s.appendCString ("0x") ; s.appendUnsignedHex (mUIntValue) ; result = GALGAS_string (s) ; @@ -322,11 +316,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_string result ; if (isValid () && inSeparator.isValid () && inGroup.isValid ()) { @@ -334,40 +328,40 @@ GALGAS_string GALGAS_uint::getter_hexStringSeparatedBy (const GALGAS_char & inSe if (group <= 0) { inCompiler->onTheFlyRunTimeError ("last argument should be > 0" COMMA_THERE) ; }else{ - C_String s ; + 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 (C_String ("0x") + s) ; + result = GALGAS_string (String ("0x") + s) ; } } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_string GALGAS_uint::getter_xString (UNUSED_LOCATION_ARGS) const { - C_String s ; + String s ; s.appendUnsignedHex (mUIntValue) ; return GALGAS_string (s) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void GALGAS_uint::description (C_String & ioString, +void GALGAS_uint::description (String & ioString, const int32_t /* inIndentation */) const { - ioString << "<@uint:" ; + ioString.appendCString ("<@uint:") ; if (isValid ()) { ioString.appendUnsigned (mUIntValue) ; }else{ - ioString << "not built" ; + ioString.appendCString ("not built") ; } - ioString << ">" ; + ioString.appendCString (">") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_uint GALGAS_uint::getter_significantBitCount (UNUSED_LOCATION_ARGS) const { GALGAS_uint result ; @@ -375,7 +369,7 @@ GALGAS_uint GALGAS_uint::getter_significantBitCount (UNUSED_LOCATION_ARGS) const uint32_t v = mUIntValue ; uint32_t idx = 0 ; while (v != 0) { - idx ++ ; + idx += 1 ; v >>= 1 ; } result = GALGAS_uint (idx) ; @@ -383,7 +377,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 ; @@ -399,9 +393,9 @@ GALGAS_uint GALGAS_uint::getter_oneBitCount (UNUSED_LOCATION_ARGS) const { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_uint GALGAS_uint::getter_lsbIndex (C_Compiler * inCompiler +GALGAS_uint GALGAS_uint::getter_lsbIndex (Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_uint result ; uint32_t v = mUIntValue ; @@ -418,33 +412,33 @@ GALGAS_uint GALGAS_uint::getter_lsbIndex (C_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 (C_Compiler * inCompiler +void GALGAS_uint::increment_operation (Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (mUIntValue == UINT32_MAX) { @@ -456,9 +450,9 @@ void GALGAS_uint::increment_operation (C_Compiler * inCompiler } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void GALGAS_uint::decrement_operation (C_Compiler * inCompiler +void GALGAS_uint::decrement_operation (Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { //--- Overflow ? @@ -471,15 +465,15 @@ void GALGAS_uint::decrement_operation (C_Compiler * inCompiler } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_uint GALGAS_uint::add_operation (const GALGAS_uint & inOperand, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_uint result ; if (isValid () && inOperand.isValid ()) { - const uint32_t r = mUIntValue + inOperand.mUIntValue ; - const bool ovf = r < mUIntValue ; + uint32_t r ; + const bool ovf = __builtin_add_overflow (mUIntValue, inOperand.mUIntValue, &r) ; if (ovf) { inCompiler->onTheFlyRunTimeError ("@uint + operation overflow" COMMA_THERE) ; }else{ @@ -489,74 +483,66 @@ 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 ()) { - const uint32_t r = mUIntValue + inOperand.mUIntValue ; - const bool ovf = r < mUIntValue ; + uint32_t r ; + const bool ovf = __builtin_add_overflow (mUIntValue, inOperand.mUIntValue, &r) ; result = GALGAS_bool (!ovf) ; } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_uint::plusAssign_operation (const GALGAS_uint inOperand, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid () && inOperand.isValid ()) { - const uint32_t r = mUIntValue + inOperand.mUIntValue ; - const bool ovf = r < mUIntValue ; + const bool ovf = __builtin_add_overflow (mUIntValue, inOperand.mUIntValue, &mUIntValue) ; if (ovf) { inCompiler->onTheFlyRunTimeError ("@uint += operation overflow" COMMA_THERE) ; mIsValid = false ; - }else{ - mUIntValue = r ; } } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_uint::minusAssign_operation (const GALGAS_uint inOperand, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid () && inOperand.isValid ()) { - const bool ovf = mUIntValue < inOperand.mUIntValue ; + const bool ovf = __builtin_sub_overflow (mUIntValue, inOperand.mUIntValue, &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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid () && inOperand.isValid ()) { - const uint32_t r = mUIntValue * inOperand.mUIntValue ; - const bool ovf = (inOperand.mUIntValue != 0) && ((r / inOperand.mUIntValue) != mUIntValue) ; + const bool ovf = __builtin_mul_overflow (mUIntValue, 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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid () && inOperand.isValid ()) { if (inOperand.mUIntValue == 0) { @@ -568,7 +554,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 ; @@ -578,10 +564,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_uint result ; if (isValid () && inOperand.isValid ()) { @@ -596,7 +582,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 { @@ -607,7 +593,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 ; @@ -617,7 +603,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 ; @@ -627,15 +613,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_uint result ; if (isValid () && inOperand.isValid ()) { - const uint32_t r = mUIntValue * inOperand.mUIntValue ; - const bool ovf = (inOperand.mUIntValue != 0) && ((r / inOperand.mUIntValue) != mUIntValue) ; + uint32_t r ; + const bool ovf = __builtin_mul_overflow (mUIntValue, inOperand.mUIntValue, &r) ; if (ovf) { inCompiler->onTheFlyRunTimeError ("@uint * operation overflow" COMMA_THERE) ; }else{ @@ -645,23 +631,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 ()) { - const uint32_t r = mUIntValue * inOperand.mUIntValue ; - const bool ovf = (inOperand.mUIntValue != 0) && ((r / inOperand.mUIntValue) != mUIntValue) ; + uint32_t r ; + const bool ovf = __builtin_mul_overflow (mUIntValue, inOperand.mUIntValue, &r) ; result = GALGAS_bool (!ovf) ; } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_uint GALGAS_uint::divide_operation (const GALGAS_uint & inOperand, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_uint result ; if (isValid () && inOperand.isValid ()) { @@ -674,7 +660,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 { @@ -685,7 +671,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 ; @@ -695,10 +681,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_uint result ; if (isValid () && inOperand.isValid ()) { @@ -711,10 +697,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 C_Compiler * /* inCompiler*/ + class Compiler * /* inCompiler*/ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_uint result ; if (isValid () && inOperand.isValid ()) { @@ -723,14 +709,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 C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_uint result ; if (isValid () && inShiftOperand.isValid ()) { - if (inShiftOperand.bigintValue().isNegative ()) { + if (inShiftOperand.bigintValue().isStrictlyNegative ()) { inCompiler->onTheFlyRunTimeError ("@uint left shift by a negative amount" COMMA_THERE) ; }else{ result = GALGAS_uint (mUIntValue << (inShiftOperand.bigintValue().uint32 () & 31)) ; @@ -739,10 +725,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 C_Compiler * /* inCompiler*/ + class Compiler * /* inCompiler*/ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_uint result ; if (isValid () && inOperand.isValid ()) { @@ -751,14 +737,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 C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_uint result ; if (isValid () && inShiftOperand.isValid ()) { - if (inShiftOperand.bigintValue().isNegative ()) { + if (inShiftOperand.bigintValue().isStrictlyNegative ()) { inCompiler->onTheFlyRunTimeError ("@uint right shift by a negative amount" COMMA_THERE) ; }else{ result = GALGAS_uint (mUIntValue >> (inShiftOperand.bigintValue().uint32 () & 31)) ; @@ -767,4 +753,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 156ee4021..fa446ccfb 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 "galgas2/C_Compiler.h" +#include "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,13 +35,7 @@ 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 (), @@ -49,16 +43,16 @@ mIsValid (false), mUInt64Value (0) { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_uint_36__34_ GALGAS_uint_36__34_::constructor_max (UNUSED_LOCATION_ARGS) { +GALGAS_uint_36__34_ GALGAS_uint_36__34_::class_func_max (UNUSED_LOCATION_ARGS) { return GALGAS_uint_36__34_ (UINT64_MAX) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_uint_36__34_ GALGAS_uint_36__34_::constructor_uint_36__34_MaskWithCompressedBitString (const GALGAS_string & inBitString, - C_Compiler * inCompiler +GALGAS_uint_36__34_ GALGAS_uint_36__34_::class_func_uint_36__34_MaskWithCompressedBitString (const GALGAS_string & inBitString, + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_uint_36__34_ result ; if (inBitString.isValid ()) { @@ -67,7 +61,7 @@ GALGAS_uint_36__34_ GALGAS_uint_36__34_::constructor_uint_36__34_MaskWithCompres 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)) ; @@ -232,10 +226,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 C_Compiler * /* inCompiler*/ + class Compiler * /* inCompiler*/ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_uint_36__34_ result ; if (isValid () && inShiftOperand.isValid ()) { @@ -244,14 +238,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 C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_uint_36__34_ result ; if (isValid () && inShiftOperand.isValid ()) { - if (inShiftOperand.bigintValue().isNegative ()) { + if (inShiftOperand.bigintValue().isStrictlyNegative ()) { inCompiler->onTheFlyRunTimeError ("@uint64 right shift by a negative amount" COMMA_THERE) ; }else{ result = GALGAS_uint_36__34_ (mUInt64Value >> (inShiftOperand.bigintValue ().uint32 () & 63)) ; @@ -260,10 +254,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_uint_36__34_ result ; if (isValid () && inOperand.isValid ()) { @@ -278,7 +272,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 { @@ -291,10 +285,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_uint_36__34_ result ; if (isValid () && inOperand.isValid ()) { @@ -307,7 +301,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 { @@ -318,7 +312,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 ; @@ -328,21 +322,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 (C_Compiler * inCompiler +void GALGAS_uint_36__34_::increment_operation (Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (mUInt64Value == UINT64_MAX) { @@ -354,9 +348,9 @@ void GALGAS_uint_36__34_::increment_operation (C_Compiler * inCompiler } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void GALGAS_uint_36__34_::decrement_operation (C_Compiler * inCompiler +void GALGAS_uint_36__34_::decrement_operation (Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (mUInt64Value == 0) { @@ -368,7 +362,7 @@ void GALGAS_uint_36__34_::decrement_operation (C_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 ; @@ -378,10 +372,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_uint_36__34_ result ; if (isValid () && inOperand.isValid ()) { @@ -397,10 +391,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid () && inOperand.isValid ()) { const uint64_t r = mUInt64Value + inOperand.mUInt64Value ; @@ -414,10 +408,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid () && inOperand.isValid ()) { const bool ovf = mUInt64Value < inOperand.mUInt64Value ; @@ -430,10 +424,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid () && inOperand.isValid ()) { const uint64_t r = mUInt64Value * inOperand.mUInt64Value ; @@ -447,10 +441,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid () && inOperand.isValid ()) { if (inOperand.mUInt64Value == 0) { @@ -462,7 +456,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 { @@ -475,7 +469,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 ; @@ -485,7 +479,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 ; @@ -495,10 +489,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_uint_36__34_ result ; if (isValid () && inOperand.isValid ()) { @@ -513,7 +507,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 { @@ -524,7 +518,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 ; @@ -540,15 +534,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_ (C_Compiler * inCompiler +GALGAS_sint_36__34_ GALGAS_uint_36__34_::getter_sint_36__34_ (Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_sint_36__34_ result ; if (mUInt64Value > ((uint64_t) INT64_MAX)) { @@ -559,9 +553,9 @@ GALGAS_sint_36__34_ GALGAS_uint_36__34_::getter_sint_36__34_ (C_Compiler * inCom return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_sint GALGAS_uint_36__34_::getter_sint (C_Compiler * inCompiler +GALGAS_sint GALGAS_uint_36__34_::getter_sint (Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_sint result ; if (mUInt64Value > ((uint64_t) INT32_MAX)) { @@ -572,9 +566,9 @@ GALGAS_sint GALGAS_uint_36__34_::getter_sint (C_Compiler * inCompiler return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_uint GALGAS_uint_36__34_::getter_uint (C_Compiler * inCompiler +GALGAS_uint GALGAS_uint_36__34_::getter_uint (Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_uint result ; if (mUInt64Value > ((uint64_t) UINT32_MAX)) { @@ -585,17 +579,17 @@ GALGAS_uint GALGAS_uint_36__34_::getter_uint (C_Compiler * inCompiler return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_bigint GALGAS_uint_36__34_::getter_bigint (UNUSED_LOCATION_ARGS) const { GALGAS_bigint result ; if (isValid ()) { - result = GALGAS_bigint (C_BigInt (mUInt64Value, false)) ; + result = GALGAS_bigint (BigSigned (true, mUInt64Value)) ; } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_double GALGAS_uint_36__34_::getter_double (UNUSED_LOCATION_ARGS) const { GALGAS_double result ; @@ -605,17 +599,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 ()) { - C_String s = "aaaaaaaaaaaaaa" ; // 2**64 values needs 14 characters (base 26) : n = 64 * log (2) / log (26) + 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.setUnicodeCharacterAtIndex (c, idx COMMA_HERE) ; + s.setCharAtIndex (c, idx COMMA_HERE) ; idx -= 1 ; v /= 26 ; } @@ -624,24 +618,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 ()) { - C_String s ; + 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 ()) { - C_String s ; + String s ; s.appendCString ("0x") ; s.appendUnsignedHex16 (mUInt64Value) ; result = GALGAS_string (s) ; @@ -649,11 +643,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_string result ; if (isValid () && inSeparator.isValid () && inGroup.isValid ()) { @@ -661,48 +655,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{ - C_String s ; + 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 (C_String ("0x") + s) ; + result = GALGAS_string (String ("0x") + s) ; } } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_string GALGAS_uint_36__34_::getter_xString (UNUSED_LOCATION_ARGS) const { GALGAS_string result ; if (isValid ()) { - C_String s ; + String s ; s.appendUnsignedHex16 (mUInt64Value) ; result = GALGAS_string (s) ; } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void GALGAS_uint_36__34_::description (C_String & ioString, +void GALGAS_uint_36__34_::description (String & ioString, const int32_t /* inIndentation */) const { - ioString << "<@uint64:" ; + ioString.appendCString ("<@uint64:") ; if (isValid ()) { ioString.appendUnsigned (mUInt64Value) ; }else{ - ioString << "not built" ; + ioString.appendCString ("not built") ; } - ioString << ">" ; + ioString.appendCString (">") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_uint GALGAS_uint_36__34_::getter_uintSlice (const GALGAS_uint & inStartBit, const GALGAS_uint & inBitCount, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_uint result ; if (inStartBit.isValid () && inBitCount.isValid ()) { @@ -719,4 +713,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 new file mode 100644 index 000000000..e55f6565a --- /dev/null +++ b/goil/build/libpm/galgas2/Lexique-parsing.cpp @@ -0,0 +1,950 @@ +//-------------------------------------------------------------------------------------------------- +// +// '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 new file mode 100644 index 000000000..978803942 --- /dev/null +++ b/goil/build/libpm/galgas2/Lexique.cpp @@ -0,0 +1,869 @@ +//-------------------------------------------------------------------------------------------------- +// +// '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/C_Lexique.h b/goil/build/libpm/galgas2/Lexique.h similarity index 59% rename from goil/build/libpm/galgas2/C_Lexique.h rename to goil/build/libpm/galgas2/Lexique.h index 1b3b88ef8..04422fb1b 100644 --- a/goil/build/libpm/galgas2/C_Lexique.h +++ b/goil/build/libpm/galgas2/Lexique.h @@ -1,11 +1,11 @@ -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -// 'C_Lexique' : an abstract lexique class ; +// 'Lexique' : an abstract lexique class ; // Galgas generated scanner classes inherit from this class. // // This file is part of libpm library // -// Copyright (C) 1996, ..., 2022 Pierre Molinaro. +// Copyright (C) 1996, ..., 2023 Pierre Molinaro. // // e-mail : pierre@pcmolinaro.name // @@ -17,43 +17,63 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #pragma once -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -#include "galgas2/C_Compiler.h" -#include "galgas2/cProductionNameDescriptor.h" -#include "galgas2/cTemplateDelimiter.h" -#include "galgas2/C_galgas_io.h" +#include "Compiler.h" +#include "cProductionNameDescriptor.h" +#include "cTemplateDelimiter.h" +#include "C_galgas_io.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class cIndexingDictionary ; -//---------------------------------------------------------------------------------------------------------------------- -// -// Lexique class -// -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// 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 +//-------------------------------------------------------------------------------------------------- -class C_Lexique : public C_Compiler { +class Lexique : public Compiler { //--- Constructors and destructor - public: C_Lexique (C_Compiler * inCallerCompiler, - const C_String & inSourceFileName - COMMA_LOCATION_ARGS) ; + public: Lexique (Compiler * inCallerCompiler, + const String & inSourceFileName + COMMA_LOCATION_ARGS) ; - public: C_Lexique (C_Compiler * inCallerCompiler, - const C_String & inSourceString, - const C_String & inStringForError - COMMA_LOCATION_ARGS) ; + public: Lexique (Compiler * inCallerCompiler, + const String & inSourceString, + const String & inStringForError + COMMA_LOCATION_ARGS) ; - public: virtual ~C_Lexique (void) ; + public: virtual ~Lexique (void) ; //--- No copy - private: C_Lexique (const C_Lexique &) ; - private: C_Lexique & operator = (const C_Lexique &) ; + private: Lexique (const Lexique &) = delete ; + private: Lexique & operator = (const Lexique &) = delete ; //--- Indexing public: void enterIndexing (const uint32_t inIndexingKind, @@ -63,7 +83,7 @@ class C_Lexique : public C_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 @@ -72,7 +92,7 @@ class C_Lexique : public C_Compiler { private: cToken * mCurrentTokenPtr ; protected: void enterTokenFromPointer (cToken * inToken) ; private: int32_t mLastSeparatorIndex ; - public: void appendLastSeparatorTo (C_String & ioString) const ; + public: void appendLastSeparatorTo (String & ioString) const ; protected: cToken * currentTokenPtr (LOCATION_ARGS) const { macroValidPointerThere (mCurrentTokenPtr) ; @@ -80,8 +100,8 @@ class C_Lexique : public C_Compiler { } //--- Syntax directed translation : accessing current token - public: virtual C_String separatorString (void) const ; - public: C_String tokenString (void) const ; + public: virtual String separatorString (void) const ; + public: String tokenString (void) const ; //--- Current character protected: utf32 mCurrentChar ; @@ -93,15 +113,15 @@ class C_Lexique : public C_Compiler { } //--- Locations for current token (significant only during lexical analysis phase) - protected: C_LocationInSource mTokenStartLocation ; - protected: C_LocationInSource mTokenEndLocation ; + protected: LocationInSource mTokenStartLocation ; + protected: LocationInSource mTokenEndLocation ; //--- Advance protected: void advance (void) ; // One character protected: void advance (const int32_t inCount) ; // Several characters //--- For Debugging parser - private: C_String mTriggerNonTerminalSymbolList ; + private: String mTriggerNonTerminalSymbolList ; private: uint16_t mDebugDepthCounter ; private: bool mDebugIsRunning ; @@ -110,7 +130,7 @@ class C_Lexique : public C_Compiler { const char * inTag) ; public: void didParseTerminal (const char * inTerminalName, - const C_String & inValue) ; + const String & inValue) ; public: void exitProduction (void) ; @@ -118,8 +138,8 @@ class C_Lexique : public C_Compiler { private: void resetForSecondPass (void) ; //--- Handling parsing context (for parse ... rewind ... end parse ; instruction) - public: C_parsingContext parsingContext (void) const ; - public: void setParsingContext (const C_parsingContext & inContext) ; + public: ParsingContext parsingContext (void) const ; + public: void setParsingContext (const ParsingContext & inContext) ; //--- Internal error during bottom-up parsing public: void internalBottomUpParserError (LOCATION_ARGS) ; @@ -127,11 +147,11 @@ class C_Lexique : public C_Compiler { //--- Handling lexical error protected: void unknownCharacterLexicalError (LOCATION_ARGS) ; - public: void lexicalError (const C_String & inLexicalErrorMessage + public: void lexicalError (const String & inLexicalErrorMessage COMMA_LOCATION_ARGS) ; //--- Signal a lexical warning - protected: void lexicalWarning (const C_String & messageAlerte COMMA_LOCATION_ARGS) ; + protected: void lexicalWarning (const String & messageAlerte COMMA_LOCATION_ARGS) ; //--- Handling syntax error private: void parsingError (const TC_UniqueArray & inExpectedTerminalsArray, @@ -141,16 +161,16 @@ class C_Lexique : public C_Compiler { COMMA_LOCATION_ARGS) ; //--- Get message for terminal - protected: virtual C_String getMessageForTerminal (const int32_t inTerminalSymbol) const = 0 ; + protected: virtual 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 C_String & inString, - const C_unicode_lexique_table_entry inTable [], + protected: static int32_t searchInList (const String & inString, + const C_unicode_lexique_table_entry * inTableArray, const int32_t inTableSize) ; //--- Get Token String - public: virtual C_String getCurrentTokenString (const cToken * inTokenPtr) const = 0 ; + public: virtual String getCurrentTokenString (const cToken * inTokenPtr) const = 0 ; //--- Lexical analysis methods public: void performLexicalAnalysis (void) ; @@ -162,12 +182,10 @@ class C_Lexique : public C_Compiler { protected: bool testForInputUTF32Char (const utf32 inTestCharacter) ; - protected: bool testForInputUTF32String (const utf32 * inTestString, - const int32_t inStringLength, + protected: bool testForInputUTF32String (const std::initializer_list & inTestString, const bool inAdvanceOnMatch) ; - protected: bool notTestForInputUTF32String (const utf32 * inTestString, - const int32_t inStringLength, + protected: bool notTestForInputUTF32String (const std::initializer_list & inTestString, const char * inEndOfFileErrorMessage COMMA_LOCATION_ARGS) ; @@ -179,40 +197,40 @@ class C_Lexique : public C_Compiler { public: virtual int32_t terminalVocabularyCount (void) const = 0 ; //--- Perform top down parsing (called by LL (1) parser) - 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 [], + 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, 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 inProductions [], - const int32_t inProductionIndexes [], - const int32_t inFirstProductionIndex [], - const int32_t inDecisionTable [], - const int32_t inDecisionTableIndexes [], + const int32_t * inProductionArray, + const int32_t * inProductionIndexArray, + const int32_t * inFirstProductionIndexArray, + const int32_t * inDecisionTableArray, + const int32_t * inDecisionTableIndexArray, TC_UniqueArray & outExpectedTerminalsArray) ; private: bool 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 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) ; //--- Perform bottom up parsing (called by SLR and LR(1) parsers) - public: bool performBottomUpParsing (const int32_t inActionTable [], - const char * inNonTerminalSymbolNames [], - const uint32_t inActionTableIndex [], - const int32_t * inSuccessorTable [], - const int32_t inProductionsTable []) ; + public: bool performBottomUpParsing (const int32_t * inActionTableArray, + const char * * inNonTerminalSymbolNameArray, + const uint32_t * inActionTableIndexArray, + const int32_t * * inSuccessorTableArray, + const int32_t * inProductionsTableArray) ; //--- Scanner pure virtual methods protected: virtual bool parseLexicalToken (void) = 0 ; @@ -222,7 +240,7 @@ class C_Lexique : public C_Compiler { private: int32_t mIndexForSecondPassParsing ; //--- Latex string (for --mode=latex command line option) - private: C_String mLatexOutputString ; + private: String mLatexOutputString ; private: int32_t mLatexNextCharacterToEnterIndex ; private: void generateLatexFile (void) ; private: void appendCharacterToLatexFile (const utf32 inUnicodeCharacter) ; @@ -230,7 +248,7 @@ class C_Lexique : public C_Compiler { protected: void signalLexicalErrorInLatexOutput (void) ; //--- Style name protected: virtual uint32_t styleIndexForTerminal (const int32_t inTerminalIndex) const = 0 ; - protected: virtual C_String styleNameForIndex (const uint32_t inStyleIndex) const = 0 ; + protected: virtual String styleNameForIndex (const uint32_t inStyleIndex) const = 0 ; } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/C_LocationInSource.cpp b/goil/build/libpm/galgas2/LocationInSource.cpp similarity index 59% rename from goil/build/libpm/galgas2/C_LocationInSource.cpp rename to goil/build/libpm/galgas2/LocationInSource.cpp index 08b4034ae..2374709cb 100644 --- a/goil/build/libpm/galgas2/C_LocationInSource.cpp +++ b/goil/build/libpm/galgas2/LocationInSource.cpp @@ -1,6 +1,6 @@ -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -// 'C_LocationInSource' +// '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 "galgas2/C_LocationInSource.h" -#include "galgas2/C_SourceTextInString.h" -#include "strings/C_String.h" +#include "LocationInSource.h" +#include "SourceTextInString.h" +#include "String-class.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_LocationInSource::C_LocationInSource (void) : +LocationInSource::LocationInSource (void) : mIndex (0), mLineNumber (1), mColumnNumber (1), mSourceText () { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void C_LocationInSource::gotoNextLocation (void) { +void LocationInSource::gotoNextLocation (void) { if (mIndex < mSourceText.sourceString ().length ()) { - const utf32 currentChar = mSourceText.sourceString () (mIndex COMMA_HERE) ; + const utf32 currentChar = mSourceText.sourceString ().charAtIndex (mIndex COMMA_HERE) ; const bool previousCharWasEndOfLine = UNICODE_VALUE (currentChar) == '\n' ; if (previousCharWasEndOfLine) { mLineNumber ++ ; @@ -47,9 +47,9 @@ void C_LocationInSource::gotoNextLocation (void) { } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void C_LocationInSource::goForward (const uint32_t inCount) { +void LocationInSource::goForward (const uint32_t inCount) { uint32_t count = inCount ; while (count > 0) { gotoNextLocation () ; @@ -57,33 +57,39 @@ void C_LocationInSource::goForward (const uint32_t inCount) { } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void C_LocationInSource::resetLocation (void) { +void LocationInSource::resetLocation (void) { mIndex = 0 ; mLineNumber = 1 ; mColumnNumber = 1 ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void C_LocationInSource::resetWithSourceText (const C_SourceTextInString & inSourceText) { +void LocationInSource::resetWithSourceText (const SourceTextInString & inSourceText) { mIndex = 0 ; mLineNumber = 1 ; mColumnNumber = 1 ; mSourceText = inSourceText ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_String C_LocationInSource::sourceFilePath (void) const { +String LocationInSource::sourceFilePath (void) const { return mSourceText.sourceFilePath () ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -//LineColumnContents C_LocationInSource::lineColumnNumber (void) const { -// return mSourceText.sourceString ().lineAndColumnFromIndex (mIndex) ; -//} +int32_t LocationInSource::lineNumber (void) const { + return mLineNumber ; +} + +//-------------------------------------------------------------------------------------------------- + +int32_t LocationInSource::columnNumber (void) const { + return mColumnNumber ; +} -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/C_LocationInSource.h b/goil/build/libpm/galgas2/LocationInSource.h similarity index 59% rename from goil/build/libpm/galgas2/C_LocationInSource.h rename to goil/build/libpm/galgas2/LocationInSource.h index cab2fb23a..36c07cbed 100644 --- a/goil/build/libpm/galgas2/C_LocationInSource.h +++ b/goil/build/libpm/galgas2/LocationInSource.h @@ -1,6 +1,6 @@ -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -// 'C_LocationInSource' +// '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 "utilities/M_machine.h" -#include "utilities/MF_Assert.h" -#include "galgas2/C_SourceTextInString.h" +#include "M_machine.h" +#include "macroAssert.h" +#include "SourceTextInString.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -class C_String ; +class String ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Class for referencing a location in source text // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -class C_LocationInSource final { +class LocationInSource final { private: int32_t mIndex ; private: int32_t mLineNumber ; private: int32_t mColumnNumber ; - private: C_SourceTextInString mSourceText ; + private: SourceTextInString mSourceText ; - public: C_LocationInSource (void) ; + public: LocationInSource (void) ; public: void gotoNextLocation (void) ; @@ -50,17 +50,15 @@ class C_LocationInSource final { public: void resetLocation (void) ; - public: void resetWithSourceText (const C_SourceTextInString & inSourceText) ; + public: void resetWithSourceText (const SourceTextInString & inSourceText) ; public: inline int32_t index (void) const { return mIndex ; } - public: inline int32_t lineNumber (void) const { return mLineNumber ; } + public: int32_t lineNumber (void) const ; - public: inline int32_t columnNumber (void) const { return mColumnNumber ; } + public: int32_t columnNumber (void) const ; -// public: LineColumnContents lineColumnNumber (void) const ; - - public: C_String sourceFilePath (void) const ; + public: String sourceFilePath (void) const ; } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/C_SourceTextInString.cpp b/goil/build/libpm/galgas2/SourceTextInString.cpp similarity index 58% rename from goil/build/libpm/galgas2/C_SourceTextInString.cpp rename to goil/build/libpm/galgas2/SourceTextInString.cpp index 70098a88a..6724f3153 100644 --- a/goil/build/libpm/galgas2/C_SourceTextInString.cpp +++ b/goil/build/libpm/galgas2/SourceTextInString.cpp @@ -1,6 +1,6 @@ -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -// 'C_SourceTextInString' +// '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 "galgas2/C_SourceTextInString.h" -#include "galgas2/C_LocationInSource.h" +#include "SourceTextInString.h" +#include "LocationInSource.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_SourceTextInString::C_SourceTextInString (void) : +SourceTextInString::SourceTextInString (void) : mObject (nullptr) { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_SourceTextInString::C_SourceTextInString (const C_String & inSourceString, - const C_String & inFilePath, +SourceTextInString::SourceTextInString (const String & inSourceString, + const String & inFilePath, const bool inShowSourceOnDetailledErrorMessage) : mObject (nullptr) { macroMyNew (mObject, cSourceTextInString (inSourceString, inFilePath, inShowSourceOnDetailledErrorMessage COMMA_HERE)) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_SourceTextInString::~ C_SourceTextInString (void) { +SourceTextInString::~ SourceTextInString (void) { macroDetachSharedObject (mObject) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_SourceTextInString::C_SourceTextInString (const C_SourceTextInString & inSource) : +SourceTextInString::SourceTextInString (const SourceTextInString & inSource) : mObject (nullptr) { macroAssignSharedObject (mObject, inSource.mObject) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_SourceTextInString & C_SourceTextInString::operator = (const C_SourceTextInString & inSource) { +SourceTextInString & SourceTextInString::operator = (const SourceTextInString & inSource) { if (this != & inSource) { macroAssignSharedObject (mObject, inSource.mObject) ; } return *this ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_String C_SourceTextInString::getLineForLocation (const C_LocationInSource & inLocation) const { - C_String errorLine ; +String SourceTextInString::getLineForLocation (const LocationInSource & inLocation) const { + String errorLine ; if (nullptr != mObject) { const int32_t sourceTextLength = mObject->mSourceString.length () ; int32_t index = 0 ; @@ -76,23 +76,23 @@ C_String C_SourceTextInString::getLineForLocation (const C_LocationInSource & in } //--- Get error line text for (int32_t i=index ; (imSourceString.readCharOrNul (i COMMA_HERE)) != '\n') ; i++) { - const utf32 character = mObject->mSourceString (i COMMA_HERE) ; - errorLine.appendUnicodeCharacter (character COMMA_HERE) ; + const utf32 character = mObject->mSourceString.charAtIndex (i COMMA_HERE) ; + errorLine.appendChar (character) ; } } return errorLine ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void C_SourceTextInString::appendSourceContents (C_String & ioMessage) const { +void SourceTextInString::appendSourceContents (String & ioMessage) const { if ((nullptr != mObject) && mObject->mShowSourceOnDetailledErrorMessage) { - 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" ; + 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") ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/C_SourceTextInString.h b/goil/build/libpm/galgas2/SourceTextInString.h similarity index 51% rename from goil/build/libpm/galgas2/C_SourceTextInString.h rename to goil/build/libpm/galgas2/SourceTextInString.h index c3a46f7ca..6d1e69d35 100644 --- a/goil/build/libpm/galgas2/C_SourceTextInString.h +++ b/goil/build/libpm/galgas2/SourceTextInString.h @@ -1,6 +1,6 @@ -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -// 'C_SourceTextInString' +// 'SourceTextInString' // // This file is part of libpm library // @@ -16,81 +16,78 @@ // 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_SharedObject.h" +#include "String-class.h" +#include "SharedObject.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Classes for handling source text // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -class cSourceTextInString final : public C_SharedObject { +class cSourceTextInString final : public SharedObject { //--- Constructor - public: cSourceTextInString (const C_String & inSourceString, - const C_String & inFilePath, + public: cSourceTextInString (const String & inSourceString, + const String & inFilePath, const bool inShowSourceOnDetailledErrorMessage COMMA_LOCATION_ARGS) : - C_SharedObject (THERE), + SharedObject (THERE), mFilePath (inFilePath), mSourceString (inSourceString), mShowSourceOnDetailledErrorMessage (inShowSourceOnDetailledErrorMessage) { } - public: C_String mFilePath ; - public: C_String mSourceString ; + public: String mFilePath ; + public: String mSourceString ; public: bool mShowSourceOnDetailledErrorMessage ; //--- No copy - private: cSourceTextInString (const cSourceTextInString &) ; - private: cSourceTextInString & operator = (const cSourceTextInString &) ; + private: cSourceTextInString (const cSourceTextInString &) = delete ; + private: cSourceTextInString & operator = (const cSourceTextInString &) = delete ; } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -class C_SourceTextInString { +class SourceTextInString final { //--- Default constructor - public: C_SourceTextInString (void) ; + public: SourceTextInString (void) ; //--- Constructor - public: C_SourceTextInString (const C_String & inSourceString, - const C_String & inFilePath, - const bool inShowSourceOnDetailledErrorMessage) ; + public: SourceTextInString (const String & inSourceString, + const String & inFilePath, + const bool inShowSourceOnDetailledErrorMessage) ; //--- Default constructor - public: virtual ~ C_SourceTextInString (void) ; + public: ~ SourceTextInString (void) ; //--- Handle copy - public: C_SourceTextInString (const C_SourceTextInString & inSource) ; - public: C_SourceTextInString & operator = (const C_SourceTextInString & inSource) ; + public: SourceTextInString (const SourceTextInString & inSource) ; + public: SourceTextInString & operator = (const SourceTextInString & inSource) ; -//--- Source file Name - private: cSourceTextInString * mObject ; - - public: inline C_String sourceFilePath (void) const { - return (mObject == nullptr) ? "" : mObject->mFilePath ; + public: inline String sourceFilePath (void) const { + return (mObject == nullptr) ? String () : mObject->mFilePath ; } //--- Source text - public: inline C_String sourceString (void) const { - return (mObject == nullptr) ? "" : mObject->mSourceString ; + public: inline String sourceString (void) const { + return (mObject == nullptr) ? String () : mObject->mSourceString ; } public: inline bool isValid (void) const { return mObject != nullptr ; } - public: inline bool operator == (const C_SourceTextInString & inOther) const { + public: inline bool operator == (const SourceTextInString & inOther) const { return mObject == inOther.mObject ; } - public: inline bool operator != (const C_SourceTextInString & inOther) const { + public: inline bool operator != (const SourceTextInString & inOther) const { return mObject != inOther.mObject ; } @@ -102,13 +99,12 @@ class C_SourceTextInString { return (mObject == nullptr) ? TO_UNICODE (0) : mObject->mSourceString.readCharOrNul (inIndex COMMA_THERE) ; } - public: const utf32 * temporaryUTF32StringAtIndex (const int32_t inIndex COMMA_LOCATION_ARGS) const { - return (mObject == nullptr) ? nullptr : & (mObject->mSourceString.utf32String (THERE)) [inIndex] ; - } + public: String getLineForLocation (const class LocationInSource & inLocation) const ; - public: C_String getLineForLocation (const class C_LocationInSource & inLocation) const ; + public: void appendSourceContents (String & ioMessage) const ; - public: void appendSourceContents (C_String & ioMessage) const ; +//--- Private property + private: cSourceTextInString * mObject ; } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/acPtr_class.cpp b/goil/build/libpm/galgas2/acPtr_class.cpp index 12bd61cd4..eb4983f3e 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 "galgas2/acPtr_class.h" +#include "acPtr_class.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- acPtr_class::acPtr_class (LOCATION_ARGS) : -C_SharedObject (THERE) { +SharedObject (THERE) { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/acPtr_class.h b/goil/build/libpm/galgas2/acPtr_class.h index 8c08e8f2b..5bb933693 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 "utilities/C_SharedObject.h" -#include "galgas2/typeComparisonResult.h" +#include "SharedObject.h" +#include "typeComparisonResult.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -class C_String ; +class String ; class C_galgas_type_descriptor ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -class acPtr_class : public C_SharedObject { +class acPtr_class : public SharedObject { public: acPtr_class (LOCATION_ARGS) ; - public: virtual void description (C_String & ioString, + public: virtual void description (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 C_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 fa26d30d2..01399cf09 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 "galgas2/acStrongPtr_class.h" -#include "galgas2/cPtr_weakReference_proxy.h" -#include "utilities/cpp-allocation.h" +#include "acStrongPtr_class.h" +#include "cPtr_weakReference_proxy.h" +#include "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 71237af05..e872ecfe5 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 "galgas2/acPtr_class.h" +#include "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 a198bc428..a28c33841 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 "galgas2/cCollectionElement.h" +#include "cCollectionElement.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cCollectionElement::cCollectionElement (LOCATION_ARGS) : -C_SharedObject (THERE) { +SharedObject (THERE) { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/cCollectionElement.h b/goil/build/libpm/galgas2/cCollectionElement.h index 3fc65ee9e..0c4c78038 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 "utilities/C_SharedObject.h" -#include "galgas2/typeComparisonResult.h" +#include "SharedObject.h" +#include "typeComparisonResult.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -class C_String ; +class String ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -class cCollectionElement : public C_SharedObject { +class cCollectionElement : public SharedObject { //--- Default constructor public: cCollectionElement (LOCATION_ARGS) ; @@ -49,7 +49,7 @@ class cCollectionElement : public C_SharedObject { public: virtual cCollectionElement * copy (void) = 0 ; //--- Description - public: virtual void description (C_String & ioString, const int32_t inIndentation) const = 0 ; + public: virtual void description (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 80bf310ac..5d87eeefa 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 069bf7fcf..e0819cd4b 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 "galgas2/cGenericAbstractEnumerator.h" +#include "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 54abf764b..384e24eff 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 "galgas2/cGenericAbstractEnumerator.h" +#include "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 59626b87b..dd5d63127 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 "galgas2/capCollectionElementArray.h" +#include "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 b8f04b31a..ce49d0636 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, ..., 2012 Pierre Molinaro. +// Copyright (C) 2010, ..., 2023 Pierre Molinaro. // // e-mail : pierre@pcmolinaro.name // @@ -16,45 +16,43 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -#include "galgas2/cIndexingDictionary.h" -#include "strings/C_String.h" -#include "files/C_FileManager.h" +#include "cIndexingDictionary.h" +#include "String-class.h" +#include "FileManager.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Entry Dictionary #endif -//---------------------------------------------------------------------------------------------------------------------- -// -// c I n d e x E n t r y N o d e -// -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// cIndexEntryNode +//-------------------------------------------------------------------------------------------------- -class cIndexEntryNode { +class cIndexEntryNode final { public: cIndexEntryNode * mInfPtr ; public: cIndexEntryNode * mSupPtr ; public: int32_t mBalance ; - public: const C_String mKey ; - public: TC_UniqueArray mDescriptorArray ; + public: const String mKey ; + public: TC_UniqueArray mDescriptorArray ; //--- Constructor - public: cIndexEntryNode (const C_String & inKey) ; + public: cIndexEntryNode (const String & inKey) ; //--- Destructor - public: virtual ~ cIndexEntryNode (void) ; + public: ~ cIndexEntryNode (void) ; //--- No copy - private: cIndexEntryNode (const cIndexEntryNode &) ; - private: cIndexEntryNode & operator = (const cIndexEntryNode &) ; + private: cIndexEntryNode (const cIndexEntryNode &) = delete ; + private: cIndexEntryNode & operator = (const cIndexEntryNode &) = delete ; } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -cIndexEntryNode::cIndexEntryNode (const C_String & inKey) : +cIndexEntryNode::cIndexEntryNode (const String & inKey) : mInfPtr (nullptr), mSupPtr (nullptr), mBalance (0), @@ -62,14 +60,14 @@ mKey (inKey), mDescriptorArray () { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cIndexEntryNode::~ cIndexEntryNode (void) { macroMyDelete (mInfPtr) ; macroMyDelete (mSupPtr) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- static void rotateLeft (cIndexEntryNode * & ioRootPtr) { cIndexEntryNode * b = ioRootPtr->mSupPtr ; @@ -90,7 +88,7 @@ static void rotateLeft (cIndexEntryNode * & ioRootPtr) { ioRootPtr = b ; } -//--------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- static void rotateRight (cIndexEntryNode * & ioRootPtr) { cIndexEntryNode * b = ioRootPtr->mInfPtr ; @@ -110,10 +108,10 @@ static void rotateRight (cIndexEntryNode * & ioRootPtr) { ioRootPtr = b ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cIndexEntryNode * cIndexingDictionary::findOrAddEntry (cIndexEntryNode * & ioRootPtr, - const C_String & inKey, + const String & inKey, bool & ioExtension) { cIndexEntryNode * result = nullptr ; if (ioRootPtr == nullptr) { @@ -159,86 +157,84 @@ 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 C_String & inIndexedKey, - const C_String & inSourceFilePath, + const String & inIndexedString, + const 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, inIndexedKey, extension) ; + cIndexEntryNode * entryNode = findOrAddEntry (mEntryRoot, inIndexedString, extension) ; //--- Register index - C_String entryDescriptor ; - entryDescriptor << cStringWithUnsigned (inIndexingKind) ; - entryDescriptor << ":" ; - entryDescriptor << cStringWithUnsigned (inTokenLineInSource) ; - entryDescriptor << ":" ; - entryDescriptor << cStringWithUnsigned (inTokenLocationInSource) ; - entryDescriptor << ":" ; - entryDescriptor << cStringWithUnsigned (inTokenLengthInSource) ; - entryDescriptor << ":" ; - entryDescriptor << inSourceFilePath ; + 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) ; entryNode->mDescriptorArray.appendObject (entryDescriptor) ; } -//--------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- static void enumerateEntries (const cIndexEntryNode * inNode, - C_String & ioContents) { + String & ioContents) { if (nullptr != inNode) { enumerateEntries (inNode->mInfPtr, ioContents) ; - ioContents << "" << inNode->mKey.HTMLRepresentation () << "" ; - ioContents << "" ; + ioContents.appendCString ("") ; + ioContents.appendString (inNode->mKey.HTMLRepresentation ()) ; + ioContents.appendCString ("") ; + ioContents.appendCString ("") ; for (int32_t i=0 ; imDescriptorArray.count () ; i++) { - ioContents << "" << inNode->mDescriptorArray (i COMMA_HERE).HTMLRepresentation () << "" ; + ioContents.appendCString ("") ; + ioContents.appendString (inNode->mDescriptorArray (i COMMA_HERE).HTMLRepresentation ()) ; + ioContents.appendCString ("") ; } - ioContents << "" ; + ioContents.appendCString ("") ; enumerateEntries (inNode->mSupPtr, ioContents) ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void cIndexingDictionary::generateIndexFile (const C_String & inOutputIndexFilePath) const { - C_String contents = "" - "" - "" ; +void cIndexingDictionary::generateIndexFile (const String & inOutputIndexFilePath) const { + String contents = "" + "" + "" ; //--- Write entries as dictionary - contents << "" ; + contents.appendCString ("") ; enumerateEntries (mEntryRoot, contents) ; - contents << "" ; + contents.appendCString ("") ; //--- End of file - contents << "" ; - C_FileManager::writeStringToFile (contents, inOutputIndexFilePath) ; + contents.appendCString ("") ; + FileManager::writeStringToFile (contents, inOutputIndexFilePath) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/cIndexingDictionary.h b/goil/build/libpm/galgas2/cIndexingDictionary.h index 2f1bbc85f..4ab9f0674 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 "utilities/M_machine.h" +#include "M_machine.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -class C_String ; +class 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 C_String & inIndexedKey, - const C_String & inSourceFilePath, + const String & inIndexedKey, + const 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 C_String & inOutputIndexFilePath) const ; + public: void generateIndexFile (const String & inOutputIndexFilePath) const ; //--- Internal private method private: cIndexEntryNode * findOrAddEntry (cIndexEntryNode * & ioRootPtr, - const C_String & inKey, + const 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 94157f74c..7fa5c4196 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 "galgas2/cIssueDescriptor.h" +#include "cIssueDescriptor.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cIssueDescriptor::cIssueDescriptor (void) : mIsError (false), @@ -31,14 +31,14 @@ mEndColumn (0), mMessage ("") { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cIssueDescriptor::cIssueDescriptor (const bool inIsError, - const C_String & inFile, + const String & inFile, const int32_t inLine, const int32_t inStartColumn, const int32_t inEndColumn, - const C_String & inMessage) : + const 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,19 +72,31 @@ cIssueDescriptor & cIssueDescriptor::operator = (const cIssueDescriptor & inSour return *this ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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" - << " }" ; +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" + " }") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/cIssueDescriptor.h b/goil/build/libpm/galgas2/cIssueDescriptor.h index 26c001a12..7dc518b03 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 "strings/C_String.h" +#include "String-class.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // cIssueDescriptor // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class cIssueDescriptor final { //--- Default constructor @@ -36,11 +36,11 @@ class cIssueDescriptor final { //--- Constructor public: cIssueDescriptor (const bool inIsError, - const C_String & inFile, + const String & inFile, const int32_t inLine, const int32_t inStartColumn, const int32_t inEndColumn, - const C_String & inMessage) ; + const 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 (C_String & ioJSONstring, const bool inIsFirstIssue) const ; + public: void appendToJSONstring (String & ioJSONstring, const bool inIsFirstIssue) const ; //--- Properties private: bool mIsError ; // false: warning - private: C_String mFile ; + private: String mFile ; private: int32_t mLine ; private: int32_t mStartColumn ; private: int32_t mEndColumn ; - private: C_String mMessage ; + private: String mMessage ; } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/cLexiqueIntrospection.cpp b/goil/build/libpm/galgas2/cLexiqueIntrospection.cpp index e29e0ca08..e9800e61c 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 "galgas2/cLexiqueIntrospection.h" -#include "galgas2/C_galgas_CLI_Options.h" -#include "galgas2/C_Compiler.h" -#include "files/C_FileManager.h" +#include "cLexiqueIntrospection.h" +#include "C_galgas_CLI_Options.h" +#include "Compiler.h" +#include "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 & out } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void cLexiqueIntrospection::getKeywordListForIdentifier (const C_String & inIdentifier, +void cLexiqueIntrospection::getKeywordListForIdentifier (const String & inIdentifier, bool & outFound, - TC_UniqueArray & outList) { + TC_UniqueArray & outList) { outFound = false ; outList.removeAllKeepingCapacity () ; cLexiqueIntrospection * p = gLexiqueIntrospectionRoot ; @@ -60,69 +60,86 @@ void cLexiqueIntrospection::getKeywordListForIdentifier (const C_String & inIden p->mGetKeywordsForIdentifier (inIdentifier, outFound, outList) ; p = p->mNext ; } +//--- Sort keyword list + outList.sortArrayUsingComparisonOperators () ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void cLexiqueIntrospection::handleGetKeywordListOption (C_Compiler * inCompiler) { - const C_String option = gOption_galgas_5F_builtin_5F_options_outputKeywordList.readProperty_value () ; +void cLexiqueIntrospection::handleGetKeywordListOption (Compiler * inCompiler) { + const String option = gOption_galgas_5F_builtin_5F_options_outputKeywordList.readProperty_value () ; if (option != "") { - 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 ; + 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 ; option.componentsSeparatedByString (":", components) ; if (components.count () != 6) { - C_String message = "invalid option ; should be \"--" ; - message << gOption_galgas_5F_builtin_5F_options_outputKeywordList.mCommandString << "=" << optionFormat + "\"" ; + String message = "invalid option ; should be \"--" ; + message.appendString (gOption_galgas_5F_builtin_5F_options_outputKeywordList.mCommandString) ; + message.appendCString ("=") ; + message.appendString (optionFormat + "\"") ; inCompiler->onTheFlyRunTimeError (message COMMA_HERE) ; }else if (!components (2 COMMA_HERE).isUnsignedInteger ()) { - C_String message = "invalid option ; in \"--" ; - message << gOption_galgas_5F_builtin_5F_options_outputKeywordList.mCommandString << "=" << optionFormat + "\", " - << "\"columns\" should be an decimal unsigned number" ; + 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") ; inCompiler->onTheFlyRunTimeError (message COMMA_HERE) ; }else{ const uint32_t columns = components (2 COMMA_HERE).unsignedIntegerValue () ; - 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 ; + 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 ; bool found = false ; getKeywordListForIdentifier (identifier, found, nameList) ; if (!found) { - 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) ; + 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) ; for (int32_t i=0 ; ionTheFlyRunTimeError (message COMMA_HERE) ; }else{ uint32_t idx = 0 ; - C_String s ; + 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 C_String & inIdentifier, +typedef void (* Type_getKeywordsForIdentifier) (const 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 C_String & inIdentifier, + public: static void getKeywordListNames (TC_UniqueArray & outList) ; + public: static void getKeywordListForIdentifier (const String & inIdentifier, bool & outFound, - TC_UniqueArray & outList) ; + TC_UniqueArray & outList) ; - public: static void handleGetKeywordListOption (class C_Compiler * inCompiler) ; + public: static void handleGetKeywordListOption (class 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 a5604ec87..6bf2ec151 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 "galgas2/cObjectArray.h" +#include "cObjectArray.h" #include "all-predefined-types.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cObjectArray::cObjectArray (const GALGAS_objectlist & inObjectList, - C_Compiler * inCompiler + 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 { - MF_AssertThere (inIndex < mCount, "inIndex (%ld) >= mCount (%ld)", inIndex, mCount) ; + macroAssertThere (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 2b1e1a92a..a48afc2e9 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 "utilities/C_SharedObject.h" +#include "SharedObject.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_object ; class GALGAS_objectlist ; -class C_Compiler ; +class Compiler ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class cObjectArray final { //--- Default constructor public: cObjectArray (const GALGAS_objectlist & inObjectList, - C_Compiler * inCompiler + 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 ba8af553f..3ff1326d5 100644 --- a/goil/build/libpm/galgas2/cProductionNameDescriptor.h +++ b/goil/build/libpm/galgas2/cProductionNameDescriptor.h @@ -1,6 +1,6 @@ -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -// 'C_Lexique' : an abstract lexique class ; +// '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 "utilities/M_machine.h" +#include "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 71914e45f..c2428bbc4 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 "galgas2/cPtr_object.h" +#include "cPtr_object.h" #include "all-predefined-types.h" -#include "utilities/MF_MemoryControl.h" +#include "MF_MemoryControl.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cPtr_object::cPtr_object (LOCATION_ARGS) : -C_SharedObject (THERE), +SharedObject (THERE), mEmbeddedObjectPtr (nullptr) { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cPtr_object::cPtr_object (AC_GALGAS_root * inObjectPointer COMMA_LOCATION_ARGS) : -C_SharedObject (THERE), +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 1f50dc2e9..f476a836d 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 "utilities/C_SharedObject.h" +#include "SharedObject.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_type ; class AC_GALGAS_root ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -class cPtr_object : public C_SharedObject { +class cPtr_object : public SharedObject { //--- Default Constructor public: cPtr_object (LOCATION_ARGS) ; @@ -55,4 +55,4 @@ class cPtr_object : public C_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 773a8bf99..a1d27e427 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 "galgas2/cPtr_weakReference_proxy.h" -#include "galgas2/acStrongPtr_class.h" -#include "strings/C_String.h" +#include "cPtr_weakReference_proxy.h" +#include "acStrongPtr_class.h" +#include "String-class.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 ca6ac6cbf..cda4ce8ab 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 "galgas2/acPtr_class.h" +#include "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 (C_String &, const int32_t) const {} // Never invoked + public: virtual void description (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 18c687c7b..2fe46e426 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 "galgas2/cSortedListElement.h" +#include "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 a539cf189..f19690569 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 "galgas2/cCollectionElement.h" +#include "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 a889ad553..b89085c58 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 "galgas2/C_Compiler.h" +#include "Compiler.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -class C_Lexique ; +class 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 utf32 * mStartString ; + public: const std::initializer_list mStartString ; public: const int32_t mStartStringLength ; - public: const utf32 * mEndString ; + public: const std::initializer_list mEndString ; public: const int32_t mEndStringLength ; - public: void (* mReplacementFunction) (C_Lexique & inLexique, const C_String & inElementString, C_String & ioTemplateString) ; + public: void (* mReplacementFunction) (Lexique & inLexique, const String & inElementString, String & ioTemplateString) ; public: const bool mDiscardStartString ; //--- Constructor - 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) ; + 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) ; //--- Copy public: cTemplateDelimiter (const cTemplateDelimiter & inOperand) ; //--- No assignment - private: cTemplateDelimiter & operator = (const cTemplateDelimiter &) ; + private: cTemplateDelimiter & operator = (const cTemplateDelimiter &) = delete ; } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/capCollectionElement.cpp b/goil/build/libpm/galgas2/capCollectionElement.cpp index db674b7e1..ae57bf221 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 "galgas2/capCollectionElement.h" -#include "galgas2/cCollectionElement.h" -#include "strings/C_String.h" +#include "capCollectionElement.h" +#include "cCollectionElement.h" +#include "String-class.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 (C_String & ioString, const int32_t inIndentation) const { +void capCollectionElement::description (String & ioString, const int32_t inIndentation) const { if (nullptr == mPtr) { - ioString << "NULL" ; + ioString.appendCString ("NULL") ; }else{ mPtr->description (ioString, inIndentation) ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/capCollectionElement.h b/goil/build/libpm/galgas2/capCollectionElement.h index 6b5a5cdf0..73d5a415d 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 "utilities/C_SharedObject.h" -#include "galgas2/typeComparisonResult.h" +#include "SharedObject.h" +#include "typeComparisonResult.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -class C_String ; +class String ; class cCollectionElement ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class capCollectionElement final { //--- Private pointer @@ -69,7 +69,7 @@ class capCollectionElement final { public: capCollectionElement copy (void) ; //--- Description - public: void description (C_String & ioString, const int32_t inIndentation) const ; + public: void description (String & ioString, const int32_t inIndentation) const ; } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/capCollectionElementArray.cpp b/goil/build/libpm/galgas2/capCollectionElementArray.cpp index f8559a864..ae8de139c 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 "galgas2/capCollectionElementArray.h" -#include "utilities/MF_MemoryControl.h" -#include "strings/C_String.h" -#include "galgas2/C_Compiler.h" +#include "capCollectionElementArray.h" +#include "MF_MemoryControl.h" +#include "String-class.h" +#include "Compiler.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // capCollectionRoot -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark capCollectionRoot #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -class capCollectionRoot : public C_SharedObject { +class capCollectionRoot : public SharedObject { //--- Default constructor public: capCollectionRoot (void) ; @@ -56,19 +56,19 @@ class capCollectionRoot : public C_SharedObject { friend class capCollectionElementArray ; } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- capCollectionRoot::capCollectionRoot (void) : -C_SharedObject (HERE), +SharedObject (HERE), mArray (nullptr), mCapacity (0), mCount (0) { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- capCollectionRoot::capCollectionRoot (const capCollectionRoot * inSource) : -C_SharedObject (HERE), +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) ; - MF_Assert (count () < capacity (), "mCount (%lld) >= mCapacity (%lld)", count (), capacity ()) ; + macroAssert (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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { setCapacity (count () + 1) ; macroUniqueSharedObject (mSharedRoot) ; - MF_Assert (count () < capacity (), "mCount (%lld) >= mCapacity (%lld)", count (), capacity ()) ; + macroAssert (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,21 +203,24 @@ void capCollectionElementArray::insertObjectAtIndex (const capCollectionElement mSharedRoot->mArray [inInsertionIndex] = inObject ; mSharedRoot->mCount ++ ; }else{ - C_String s = "insertAtIndex: insertion index (" ; - s << cStringWithUnsigned (inInsertionIndex) << ") > length (" << cStringWithUnsigned (count ()) << ")" ; + String s ("insertAtIndex: insertion index (") ; + s.appendUnsigned (inInsertionIndex) ; + s.appendCString (") > length (") ; + s.appendUnsigned (count ()) ; + s.appendCString (")") ; inCompiler->onTheFlyRunTimeError (s COMMA_THERE) ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void capCollectionElementArray::removeObjectAtIndex (capCollectionElement & outObject, const uint32_t inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { insulateOrCreate () ; macroUniqueSharedObject (mSharedRoot) ; - MF_Assert (count () > 0, "empty array", 0, 0) ; + macroAssert (count () > 0, "empty array", 0, 0) ; if (inIndex < mSharedRoot->mCount) { outObject = mSharedRoot->mArray [inIndex] ; for (uint32_t i=inIndex + 1 ; imCount ; i++) { @@ -226,21 +229,24 @@ void capCollectionElementArray::removeObjectAtIndex (capCollectionElement & outO mSharedRoot->mCount -- ; mSharedRoot->mArray [mSharedRoot->mCount].drop () ; }else{ - C_String s = "removeObjectAtIndex: index (" ; - s << cStringWithUnsigned (inIndex) << ") >= length (" << cStringWithUnsigned (count ()) << ")" ; + String s ("removeObjectAtIndex: index (") ; + s.appendUnsigned (inIndex) ; + s.appendCString (") >= length (") ; + s.appendUnsigned (count ()) ; + s.appendCString (")") ; inCompiler->onTheFlyRunTimeError (s COMMA_THERE) ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void capCollectionElementArray::removeFirstObject (capCollectionElement & outObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { insulateOrCreate () ; macroUniqueSharedObject (mSharedRoot) ; if (count () == 0) { - C_String s = "removeFirstObject: empty list" ; + String s = "removeFirstObject: empty list" ; inCompiler->onTheFlyRunTimeError (s COMMA_THERE) ; }else{ outObject = mSharedRoot->mArray [0] ; @@ -252,28 +258,28 @@ void capCollectionElementArray::removeFirstObject (capCollectionElement & outObj } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void capCollectionElementArray::readFirstObject (capCollectionElement & outObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { if (count () == 0) { - C_String s = "firstObject: empty list" ; + String s = "firstObject: empty list" ; inCompiler->onTheFlyRunTimeError (s COMMA_THERE) ; }else{ outObject = mSharedRoot->mArray [0] ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void capCollectionElementArray::removeLastObject (capCollectionElement & outObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { insulateOrCreate () ; macroUniqueSharedObject (mSharedRoot) ; if (count () == 0) { - C_String s = "removeLastObject: empty list" ; + String s = "removeLastObject: empty list" ; inCompiler->onTheFlyRunTimeError (s COMMA_THERE) ; }else{ mSharedRoot->mCount -- ; @@ -282,63 +288,63 @@ void capCollectionElementArray::removeLastObject (capCollectionElement & outObje } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void capCollectionElementArray::readLastObject (capCollectionElement & outObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { if (count () == 0) { - C_String s = "lastObject: empty list" ; + 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) ; - MF_AssertThere (inIndex < count (), "inIndex (%ld) >= mCount (%ld)", inIndex, count ()) ; + macroAssertThere (inIndex < count (), "inIndex (%ld) >= mCount (%ld)", inIndex, count ()) ; mSharedRoot->mArray [inIndex] = inObject ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- capCollectionElement capCollectionElementArray::objectAtIndex (const uint32_t inIndex COMMA_LOCATION_ARGS) const { - MF_AssertThere (inIndex < count (), "inIndex (%ld) >= mCount (%ld)", inIndex, count ()) ; + macroAssertThere (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) ; - MF_AssertThere (inIndex < count (), "inIndex (%ld) >= mCount (%ld)", inIndex, count ()) ; + macroAssertThere (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 { - MF_AssertThere (inIndex < count (), "inIndex (%ld) >= mCount (%ld)", inIndex, count ()) ; + macroAssertThere (inIndex < count (), "inIndex (%ld) >= mCount (%ld)", inIndex, count ()) ; return mSharedRoot->mArray [inIndex].ptr () ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void capCollectionElementArray::removeObjectAtIndex (const uint32_t inIndex) { insulateOrCreate () ; macroUniqueSharedObject (mSharedRoot) ; - MF_Assert (count () > inIndex, "mCount (%ld) <= inIndex (%lld)", count (), inIndex) ; + macroAssert (count () > inIndex, "mCount (%ld) <= inIndex (%lld)", count (), inIndex) ; for (uint32_t i=inIndex+1 ; imCount ; i++) { mSharedRoot->mArray [i - 1] = mSharedRoot->mArray [i] ; } @@ -346,12 +352,12 @@ void capCollectionElementArray::removeObjectAtIndex (const uint32_t inIndex) { mSharedRoot->mArray [mSharedRoot->mCount].drop () ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void capCollectionElementArray::predendObject (const capCollectionElement & inObject) { setCapacity (count () + 1) ; macroUniqueSharedObject (mSharedRoot) ; - MF_Assert (count () < capacity (), "mCount (%lld) >= mCapacity (%lld)", count (), capacity ()) ; + macroAssert (count () < capacity (), "mCount (%lld) >= mCapacity (%lld)", count (), capacity ()) ; for (uint32_t i=count () ; i>0 ; i--) { mSharedRoot->mArray [i] = mSharedRoot->mArray [i-1] ; } @@ -359,7 +365,7 @@ void capCollectionElementArray::predendObject (const capCollectionElement & inOb mSharedRoot->mCount ++ ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void capCollectionElementArray::removeAllObjects (void) { insulateOrCreate () ; @@ -370,7 +376,7 @@ void capCollectionElementArray::removeAllObjects (void) { mSharedRoot->mCount = 0 ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void capCollectionElementArray::appendObjects (const capCollectionElementArray inObjects) { const uint32_t operandCount = inObjects.count () ; @@ -385,7 +391,7 @@ void capCollectionElementArray::appendObjects (const capCollectionElementArray i } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult capCollectionElementArray::compareCollectionElementArray (const capCollectionElementArray & inOperand) const { typeComparisonResult result = kOperandEqual ; @@ -401,33 +407,34 @@ typeComparisonResult capCollectionElementArray::compareCollectionElementArray (c return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void capCollectionElementArray::description (C_String & ioString, +void capCollectionElementArray::description (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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { outSubList.removeAllObjects () ; outOk = false ; if (inIndex >= count ()) { - C_String s ; - s << "Cannot get a sub list from index " - << cStringWithUnsigned (inIndex) - << " with a list of length " - << cStringWithUnsigned (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 ()) ; inCompiler->onTheFlyRunTimeError (s COMMA_THERE) ; }else{ const uint32_t length = inIndex + 1 ; @@ -439,24 +446,24 @@ void capCollectionElementArray::subListToIndex (capCollectionElementArray & outS } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void capCollectionElementArray::subListWithRange (capCollectionElementArray & outSubList, const uint32_t inStartIndex, const uint32_t inLength, bool & outOk, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { outOk = false ; outSubList.removeAllObjects () ; if ((inStartIndex + inLength) > count ()) { - C_String s ; - s << "Cannot get a sub list of range [" - << cStringWithUnsigned (inStartIndex) - << ":" - << cStringWithUnsigned (inLength) - << "] from a list of length " - << cStringWithUnsigned (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 ()) ; inCompiler->onTheFlyRunTimeError (s COMMA_THERE) ; }else{ outSubList.setCapacity (inLength) ; @@ -467,21 +474,20 @@ void capCollectionElementArray::subListWithRange (capCollectionElementArray & ou } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void capCollectionElementArray::subListFromIndex (capCollectionElementArray & outSubList, const uint32_t inIndex, bool & outOk, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { outOk = false ; outSubList.removeAllObjects () ; if (inIndex > count ()) { - C_String s ; - s << "Cannot get a sub list from index " - << cStringWithUnsigned (inIndex) - << " with a list of length " - << cStringWithUnsigned (count ()) ; + String s ("Cannot get a sub list from index ") ; + s.appendUnsigned (inIndex) ; + s.appendCString (" with a list of length ") ; + s.appendUnsigned (count ()) ; inCompiler->onTheFlyRunTimeError (s COMMA_THERE) ; }else{ const uint32_t length = count () - inIndex ; @@ -493,4 +499,4 @@ void capCollectionElementArray::subListFromIndex (capCollectionElementArray & ou } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/capCollectionElementArray.h b/goil/build/libpm/galgas2/capCollectionElementArray.h index e906f0029..11e22824a 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 "galgas2/capCollectionElement.h" +#include "capCollectionElement.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -class C_Compiler ; +class Compiler ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class capCollectionElementArray final { //--- Default constructor @@ -52,28 +52,28 @@ class capCollectionElementArray final { public: void insertObjectAtIndex (const capCollectionElement & inObject, const uint32_t inInsertionIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: void removeObjectAtIndex (capCollectionElement & outObject, const uint32_t inInsertionIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: void removeFirstObject (capCollectionElement & outObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: void readFirstObject (capCollectionElement & outObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: void removeLastObject (capCollectionElement & outObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: void readLastObject (capCollectionElement & outObject, - C_Compiler * inCompiler + 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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: void subListWithRange (capCollectionElementArray & ioSubList, const uint32_t inStartIndex, const uint32_t inLength, bool & outOk, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: void subListFromIndex (capCollectionElementArray & ioSubList, const uint32_t inIndex, bool & outOk, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--- Compare public: typeComparisonResult compareCollectionElementArray (const capCollectionElementArray & inOperand) const ; //--- Description - public: void description (C_String & ioString, + public: void description (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 5e5d313f5..a2f575332 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 "galgas2/capSortedListElement.h" -#include "galgas2/cSortedListElement.h" -#include "strings/C_String.h" +#include "capSortedListElement.h" +#include "cSortedListElement.h" +#include "String-class.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 (C_String & ioString, const int32_t inIndentation) const { +void capSortedListElement::description (String & ioString, const int32_t inIndentation) const { if (nullptr == mPtr) { - ioString << "NULL" ; + ioString.appendCString ("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 779c0ae02..db527a310 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 "utilities/C_SharedObject.h" -#include "galgas2/typeComparisonResult.h" +#include "SharedObject.h" +#include "typeComparisonResult.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -class C_String ; +class String ; class cSortedListElement ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class capSortedListElement final { //--- Private pointer @@ -69,10 +69,10 @@ class capSortedListElement final { public: capSortedListElement copy (void) ; //--- Description - public: void description (C_String & ioString, const int32_t inIndentation) const ; + public: void description (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 5e1760396..d90311b07 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 "galgas2/scanner_actions.h" -#include "strings/unicode_character_cpp.h" -#include "big-integers/C_BigInt.h" +#include "scanner_actions.h" +#include "unicode_character_cpp.h" +#include "BigSigned.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #include #include -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS - #define LINE_AND_SOURCE_FILE_FOR_SCANNER_ACTIONS , inLexique.sourceText ().sourceFilePath ().cString (HERE), inLexique.lineNumber () + #define LINE_AND_SOURCE_FILE_FOR_SCANNER_ACTIONS , inLexique.sourceText ().sourceFilePath ().cString (), 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 (C_Lexique & inLexique, +void scanner_routine_enterHexDigitIntoASCIIcharacter (Lexique & inLexique, utf32 & ioValue, const utf32 inChar, const char * inErrorCodeGreaterThan255, @@ -65,9 +65,9 @@ void scanner_routine_enterHexDigitIntoASCIIcharacter (C_Lexique & inLexique, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void scanner_routine_enterDigitIntoASCIIcharacter (C_Lexique & inLexique, +void scanner_routine_enterDigitIntoASCIIcharacter (Lexique & inLexique, utf32 & ioValue, const utf32 inChar, const char * inErrorCodeGreaterThan255, @@ -86,21 +86,21 @@ void scanner_routine_enterDigitIntoASCIIcharacter (C_Lexique & inLexique, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void scanner_routine_enterCharacterIntoString (C_Lexique & /* inLexique */, - C_String & ioString, +void scanner_routine_enterCharacterIntoString (Lexique & /* inLexique */, + String & ioString, const utf32 inChar) { - ioString.appendUnicodeCharacter (inChar COMMA_HERE) ; + ioString.appendChar (inChar) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void scanner_routine_convertStringToDouble (C_Lexique & inLexique, - const C_String & inString, +void scanner_routine_convertStringToDouble (Lexique & inLexique, + const String & inString, double & outValue, const char * inConversionError) { - const double value = ::strtod (inString.cString (HERE), nullptr) ; + const double value = ::strtod (inString.cString (), nullptr) ; if (errno == ERANGE) { inLexique.lexicalError (inConversionError LINE_AND_SOURCE_FILE_FOR_SCANNER_ACTIONS) ; }else{ @@ -108,35 +108,35 @@ void scanner_routine_convertStringToDouble (C_Lexique & inLexique, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void scanner_routine_enterCharacterIntoCharacter (C_Lexique & /* inLexique */, +void scanner_routine_enterCharacterIntoCharacter (Lexique & /* inLexique */, utf32 & outCharacter, const utf32 inCharacter) { outCharacter = inCharacter ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -utf32 scanner_function_toLower (C_Lexique & /* inLexique */, const utf32 c) { +utf32 scanner_function_toLower (Lexique & /* inLexique */, const utf32 c) { return unicodeToLower (c) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -utf32 scanner_function_toUpper (C_Lexique & /* inLexique */, const utf32 c) { +utf32 scanner_function_toUpper (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 (C_Lexique & inLexique, +void scanner_routine_negateSInt (Lexique & inLexique, int32_t & ioValue, const char * inNumberTooLargeError) { if (ioValue == INT32_MIN) { @@ -146,9 +146,9 @@ void scanner_routine_negateSInt (C_Lexique & inLexique, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void scanner_routine_negateSInt64 (C_Lexique & inLexique, +void scanner_routine_negateSInt64 (Lexique & inLexique, int64_t & ioValue, const char * inNumberTooLargeError) { if (ioValue == INT64_MIN) { @@ -158,9 +158,9 @@ void scanner_routine_negateSInt64 (C_Lexique & inLexique, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void scanner_routine_convertUIntToSInt (C_Lexique & inLexique, +void scanner_routine_convertUIntToSInt (Lexique & inLexique, const uint32_t inValue, int32_t & outValue, const char * inNumberTooLargeError) { @@ -171,9 +171,9 @@ void scanner_routine_convertUIntToSInt (C_Lexique & inLexique, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void scanner_routine_convertUInt64ToSInt64 (C_Lexique & inLexique, +void scanner_routine_convertUInt64ToSInt64 (Lexique & inLexique, const uint64_t inValue, int64_t & outValue, const char * inNumberTooLargeError) { @@ -184,9 +184,9 @@ void scanner_routine_convertUInt64ToSInt64 (C_Lexique & inLexique, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void scanner_routine_enterDigitIntoUInt (C_Lexique & inLexique, +void scanner_routine_enterDigitIntoUInt (Lexique & inLexique, const utf32 inCharacter, uint32_t & inValue, const char * inNumberTooLargeError, @@ -206,9 +206,9 @@ void scanner_routine_enterDigitIntoUInt (C_Lexique & inLexique, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void scanner_routine_enterDigitIntoUInt64 (C_Lexique & inLexique, +void scanner_routine_enterDigitIntoUInt64 (Lexique & inLexique, const utf32 inCharacter, uint64_t & ioValue, const char * inNumberTooLargeError, @@ -228,9 +228,9 @@ void scanner_routine_enterDigitIntoUInt64 (C_Lexique & inLexique, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void scanner_routine_enterHexDigitIntoUInt (C_Lexique & inLexique, +void scanner_routine_enterHexDigitIntoUInt (Lexique & inLexique, const utf32 inCharacter, uint32_t & ioValue, const char * inNumberTooLargeError, @@ -257,9 +257,9 @@ void scanner_routine_enterHexDigitIntoUInt (C_Lexique & inLexique, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void scanner_routine_enterHexDigitIntoUInt64 (C_Lexique & inLexique, +void scanner_routine_enterHexDigitIntoUInt64 (Lexique & inLexique, const utf32 inCharacter, uint64_t & ioValue, const char * inNumberTooLargeError, @@ -286,10 +286,10 @@ void scanner_routine_enterHexDigitIntoUInt64 (C_Lexique & inLexique, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void scanner_routine_convertDecimalStringIntoUInt (C_Lexique & inLexique, - const C_String & inDecimalString, +void scanner_routine_convertDecimalStringIntoUInt (Lexique & inLexique, + const String & inDecimalString, uint32_t & outValue, const char * inNumberTooLargeError, const char * inCharacterIsNotDecimalDigitError) { @@ -297,7 +297,7 @@ void scanner_routine_convertDecimalStringIntoUInt (C_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 (C_Lexique & inLexique, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void scanner_routine_convertDecimalStringIntoSInt (C_Lexique & inLexique, - const C_String & inDecimalString, +void scanner_routine_convertDecimalStringIntoSInt (Lexique & inLexique, + const 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 (C_Lexique & inLexique, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void scanner_routine_convertDecimalStringIntoUInt64 (C_Lexique & inLexique, - const C_String & inDecimalString, +void scanner_routine_convertDecimalStringIntoUInt64 (Lexique & inLexique, + const 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 (C_Lexique & inLexique, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void scanner_routine_convertDecimalStringIntoSInt64 (C_Lexique & inLexique, - const C_String & inDecimalString, +void scanner_routine_convertDecimalStringIntoSInt64 (Lexique & inLexique, + const 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 (C_Lexique & inLexique, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Predefined Scanner Actions (from GALGAS 1.4.3) #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void scanner_routine_enterBinDigitIntoUInt (C_Lexique & inLexique, +void scanner_routine_enterBinDigitIntoUInt (Lexique & inLexique, const utf32 inCharacter, uint32_t & inValue, const char * inNumberTooLargeError, @@ -429,9 +429,9 @@ void scanner_routine_enterBinDigitIntoUInt (C_Lexique & inLexique, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void scanner_routine_enterBinDigitIntoUInt64 (C_Lexique & inLexique, +void scanner_routine_enterBinDigitIntoUInt64 (Lexique & inLexique, const utf32 inCharacter, uint64_t & ioValue, const char * inNumberTooLargeError, @@ -449,15 +449,15 @@ void scanner_routine_enterBinDigitIntoUInt64 (C_Lexique & inLexique, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Predefined Scanner Actions (from GALGAS 1.4.7) #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void scanner_routine_enterOctDigitIntoUInt (C_Lexique & inLexique, +void scanner_routine_enterOctDigitIntoUInt (Lexique & inLexique, const utf32 inCharacter, uint32_t & inValue, const char * inNumberTooLargeError, @@ -475,9 +475,9 @@ void scanner_routine_enterOctDigitIntoUInt (C_Lexique & inLexique, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void scanner_routine_enterOctDigitIntoUInt64 (C_Lexique & inLexique, +void scanner_routine_enterOctDigitIntoUInt64 (Lexique & inLexique, const utf32 inCharacter, uint64_t & ioValue, const char * inNumberTooLargeError, @@ -495,15 +495,15 @@ void scanner_routine_enterOctDigitIntoUInt64 (C_Lexique & inLexique, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Predefined Scanner Actions (from GALGAS 1.6.9) #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void scanner_routine_multiplyUInt (C_Lexique & inLexique, +void scanner_routine_multiplyUInt (Lexique & inLexique, const uint32_t inFactor, uint32_t & ioValue, const char * inResultTooLargeError) { @@ -517,9 +517,9 @@ void scanner_routine_multiplyUInt (C_Lexique & inLexique, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void scanner_routine_multiplyUInt64 (C_Lexique & inLexique, +void scanner_routine_multiplyUInt64 (Lexique & inLexique, const uint64_t inFactor, uint64_t & ioValue, const char * inResultTooLargeError) { @@ -537,16 +537,16 @@ void scanner_routine_multiplyUInt64 (C_Lexique & inLexique, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Predefined Scanner Actions (from GALGAS 1.7.7) #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void scanner_routine_convertHexStringIntoUInt (C_Lexique & inLexique, - const C_String & inHexString, +void scanner_routine_convertHexStringIntoUInt (Lexique & inLexique, + const String & inHexString, uint32_t & outValue, const char * inNumberTooLargeError, const char * inCharacterIsNotHexDigitError) { @@ -554,7 +554,7 @@ void scanner_routine_convertHexStringIntoUInt (C_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 (C_Lexique & inLexique, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void scanner_routine_convertHexStringIntoUInt64 (C_Lexique & inLexique, - const C_String & inHexString, +void scanner_routine_convertHexStringIntoUInt64 (Lexique & inLexique, + const String & inHexString, uint64_t & outValue, const char * inNumberTooLargeError, const char * inCharacterIsNotHexDigitError) { @@ -585,7 +585,7 @@ void scanner_routine_convertHexStringIntoUInt64 (C_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 (C_Lexique & inLexique, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void scanner_routine_convertHexStringIntoSInt (C_Lexique & inLexique, - const C_String & inHexString, +void scanner_routine_convertHexStringIntoSInt (Lexique & inLexique, + const String & inHexString, int32_t & outValue, const char * inNumberTooLargeError, const char * inCharacterIsNotHexDigitError) { @@ -616,7 +616,7 @@ void scanner_routine_convertHexStringIntoSInt (C_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 (C_Lexique & inLexique, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void scanner_routine_convertHexStringIntoSInt64 (C_Lexique & inLexique, - const C_String & inHexString, +void scanner_routine_convertHexStringIntoSInt64 (Lexique & inLexique, + const String & inHexString, int64_t & outValue, const char * inNumberTooLargeError, const char * inCharacterIsNotHexDigitError) { @@ -647,7 +647,7 @@ void scanner_routine_convertHexStringIntoSInt64 (C_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 (C_Lexique & inLexique, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Predefined Scanner Actions (from GALGAS 1.8.3) #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void scanner_routine_convertUnsignedNumberToUnicodeChar (C_Lexique & inLexique, +void scanner_routine_convertUnsignedNumberToUnicodeChar (Lexique & inLexique, uint32_t & ioValue, utf32 & outUnicodeCharacter, const char * inUnassignedUnicodeValueError) { @@ -686,32 +686,32 @@ void scanner_routine_convertUnsignedNumberToUnicodeChar (C_Lexique & inLexique, ioValue = 0 ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void scanner_routine_convertHTMLSequenceToUnicodeCharacter (C_Lexique & inLexique, - C_String & ioStringValue, +void scanner_routine_convertHTMLSequenceToUnicodeCharacter (Lexique & inLexique, + 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.setLengthToZero () ; + ioStringValue.removeAllKeepingCapacity () ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void scanner_routine_codePointToUnicode (C_Lexique & inLexique, - const C_String & inElementString, - C_String & ioTemplateString) { +void scanner_routine_codePointToUnicode (Lexique & inLexique, + const String & inElementString, + String & ioTemplateString) { if (inElementString.length () == 0) { inLexique.lexicalError ("the escape sequence '&#...;' contains no character(s)" COMMA_HERE) ; - }else if ((UNICODE_VALUE (inElementString (0 COMMA_HERE)) == 'x') || (UNICODE_VALUE (inElementString (0 COMMA_HERE)) == 'X')) { + }else if ((UNICODE_VALUE (inElementString.charAtIndex (0 COMMA_HERE)) == 'x') || (UNICODE_VALUE (inElementString.charAtIndex (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 (C_Lexique & inLexique, } } if (isUnicodeCharacterAssigned (TO_UNICODE (code))) { - ioTemplateString.appendUnicodeCharacter (TO_UNICODE (code) COMMA_HERE) ; + ioTemplateString.appendChar (TO_UNICODE (code)) ; }else{ inLexique.lexicalError ("the escape sequence '&#...;' is not an assigned unicode character" COMMA_HERE) ; } @@ -733,7 +733,7 @@ void scanner_routine_codePointToUnicode (C_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 (C_Lexique & inLexique, } } if (isUnicodeCharacterAssigned (TO_UNICODE (code))) { - ioTemplateString.appendUnicodeCharacter (TO_UNICODE (code) COMMA_HERE) ; + ioTemplateString.appendChar (TO_UNICODE (code)) ; }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 (C_Lexique & /* inLexique */, - C_String & ioString) { - ioString.setLengthToZero () ; +void scanner_routine_resetString (Lexique & /* inLexique */, + String & ioString) { + ioString.removeAllKeepingCapacity () ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifdef PRAGMA_MARK_ALLOWED #pragma mark Predefined Scanner Actions (from GALGAS 3.1.0) #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void scanner_routine_enterDecimalDigitIntoBigInt (C_Lexique & inLexique, +void scanner_routine_enterDecimalDigitIntoBigInt (Lexique & inLexique, const utf32 inCharacter, - C_BigInt & ioBigInt, + BigSigned & 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 uint32_t digit = UNICODE_VALUE (inCharacter) - '0' ; + const uint8_t digit = uint8_t (UNICODE_VALUE (inCharacter) - '0') ; ioBigInt *= 10 ; ioBigInt += digit ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void scanner_routine_enterHexDigitIntoBigInt (C_Lexique & inLexique, +void scanner_routine_enterHexDigitIntoBigInt (Lexique & inLexique, const utf32 inCharacter, - C_BigInt & ioBigInt, + BigSigned & ioBigInt, const char * inCharacterIsNotDecimalDigitError) { if ((UNICODE_VALUE (inCharacter) >= '0') && (UNICODE_VALUE (inCharacter) <= '9')) { - const uint32_t digit = UNICODE_VALUE (inCharacter) - '0' ; + const uint8_t digit = uint8_t (UNICODE_VALUE (inCharacter) - '0') ; ioBigInt *= 16 ; ioBigInt += digit ; }else if ((UNICODE_VALUE (inCharacter) >= 'A') && (UNICODE_VALUE (inCharacter) <= 'F')) { - const uint32_t digit = UNICODE_VALUE (inCharacter) - 'A' + 10 ; + const uint8_t digit = uint8_t (UNICODE_VALUE (inCharacter) - 'A' + 10) ; ioBigInt *= 16 ; ioBigInt += digit ; }else if ((UNICODE_VALUE (inCharacter) >= 'a') && (UNICODE_VALUE (inCharacter) <= 'f')) { - const uint32_t digit = UNICODE_VALUE (inCharacter) - 'a' + 10 ; + const uint8_t digit = uint8_t (UNICODE_VALUE (inCharacter) - 'a' + 10) ; ioBigInt *= 16 ; ioBigInt += digit ; }else{ @@ -807,73 +807,73 @@ void scanner_routine_enterHexDigitIntoBigInt (C_Lexique & inLexique, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void scanner_routine_convertDecimalStringIntoBigInt (C_Lexique & inLexique, - const C_String & inDecimalString, - C_BigInt & outValue, +void scanner_routine_convertDecimalStringIntoBigInt (Lexique & inLexique, + const String & inDecimalString, + BigSigned & outValue, const char * inCharacterIsNotDecimalDigitError) { bool ok = true ; - outValue = C_BigInt (inDecimalString.cString (HERE), 10, ok) ; + outValue = BigSigned (inDecimalString.cString (), BigUnsignedBase::ten, ok) ; if (! ok) { inLexique.lexicalError (inCharacterIsNotDecimalDigitError LINE_AND_SOURCE_FILE_FOR_SCANNER_ACTIONS) ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void scanner_routine_convertHexStringIntoBigInt (C_Lexique & inLexique, - const C_String & inHexString, - C_BigInt & outValue, +void scanner_routine_convertHexStringIntoBigInt (Lexique & inLexique, + const String & inHexString, + BigSigned & outValue, const char * inCharacterIsNotHexDigitError) { bool ok = true ; - outValue = C_BigInt (inHexString.cString (HERE), 16, ok) ; + outValue = BigSigned (inHexString.cString (), BigUnsignedBase::sixteen, 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 (C_Lexique & inLexique, +void scanner_routine_enterBinaryDigitIntoBigInt (Lexique & inLexique, const utf32 inCharacter, - C_BigInt & ioBigInt, + BigSigned & 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 uint32_t digit = UNICODE_VALUE (inCharacter) - '0' ; + const uint8_t digit = uint8_t (UNICODE_VALUE (inCharacter) - '0') ; ioBigInt *= 2 ; ioBigInt += digit ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void scanner_routine_convertBinaryStringIntoBigInt (C_Lexique & inLexique, - const C_String & inBinaryString, - C_BigInt & outValue, +void scanner_routine_convertBinaryStringIntoBigInt (Lexique & inLexique, + const String & inBinaryString, + BigSigned & outValue, const char * inCharacterIsNotBinaryDigitError) { bool ok = true ; - outValue = C_BigInt (inBinaryString.cString (HERE), 2, ok) ; + outValue = BigSigned (inBinaryString.cString (), BigUnsignedBase::two, ok) ; if (! ok) { inLexique.lexicalError (inCharacterIsNotBinaryDigitError LINE_AND_SOURCE_FILE_FOR_SCANNER_ACTIONS) ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void scanner_routine_negateBigInt (C_Lexique & /* inLexique */, - C_BigInt & ioValue) { +void scanner_routine_negateBigInt (Lexique & /* inLexique */, + BigSigned & ioValue) { ioValue.negateInPlace () ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/scanner_actions.h b/goil/build/libpm/galgas2/scanner_actions.h index a028d6735..f93e3710b 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, ..., 2016 Pierre Molinaro. +// Copyright (C) 2009, ..., 2023 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 "galgas2/C_Lexique.h" +#include "Lexique.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS - #define LINE_AND_SOURCE_FILE sourceText ().sourceFilePath ().cString (HERE), lineNumber () + #define LINE_AND_SOURCE_FILE sourceText ().sourceFilePath ().cString (), 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 (C_Lexique & inLexique, +void scanner_routine_multiplyUInt (Lexique & inLexique, const uint32_t inFactor, uint32_t & ioValue, const char * inResultTooLargeError) ; -void scanner_routine_multiplyUInt64 (C_Lexique & inLexique, +void scanner_routine_multiplyUInt64 (Lexique & inLexique, const uint64_t inFactor, uint64_t & ioValue, const char * inResultTooLargeError) ; -void scanner_routine_enterCharacterIntoCharacter (C_Lexique & inLexique, +void scanner_routine_enterCharacterIntoCharacter (Lexique & inLexique, utf32 & outCharacter, const utf32 inCharacter) ; -void scanner_routine_convertStringToDouble (C_Lexique & inLexique, - const C_String & inString, +void scanner_routine_convertStringToDouble (Lexique & inLexique, + const String & inString, double & outValue, const char * inConversionError) ; -void scanner_routine_enterCharacterIntoString (C_Lexique & inLexique, - C_String & ioString, +void scanner_routine_enterCharacterIntoString (Lexique & inLexique, + String & ioString, const utf32 inCharacter) ; -void scanner_routine_enterHexDigitIntoASCIIcharacter (C_Lexique & inLexique, +void scanner_routine_enterHexDigitIntoASCIIcharacter (Lexique & inLexique, utf32 & ioValue, const utf32 inCharacter, const char * inNumberTooLargeError, const char * inCharacterIsNotHexDigitError) ; -void scanner_routine_enterDigitIntoASCIIcharacter (C_Lexique & inLexique, +void scanner_routine_enterDigitIntoASCIIcharacter (Lexique & inLexique, utf32 & ioValue, const utf32 inCharacter, const char * inNumberTooLargeError, @@ -77,81 +77,81 @@ void scanner_routine_enterDigitIntoASCIIcharacter (C_Lexique & inLexique, //--- Methods introduced in GALGAS 1.4.0 -void scanner_routine_convertDecimalStringIntoUInt (C_Lexique & inLexique, - const C_String & inDecimalString, +void scanner_routine_convertDecimalStringIntoUInt (Lexique & inLexique, + const String & inDecimalString, uint32_t & outValue, const char * inNumberTooLargeError, const char * inCharacterIsNotDecimalDigitError) ; -void scanner_routine_convertDecimalStringIntoSInt (C_Lexique & inLexique, - const C_String & inDecimalString, +void scanner_routine_convertDecimalStringIntoSInt (Lexique & inLexique, + const String & inDecimalString, int32_t & outValue, const char * inNumberTooLargeError, const char * inCharacterIsNotDecimalDigitError) ; -void scanner_routine_convertDecimalStringIntoUInt64 (C_Lexique & inLexique, - const C_String & inDecimalString, +void scanner_routine_convertDecimalStringIntoUInt64 (Lexique & inLexique, + const String & inDecimalString, uint64_t & outValue, const char * inNumberTooLargeError, const char * inCharacterIsNotDecimalDigitError) ; -void scanner_routine_convertDecimalStringIntoSInt64 (C_Lexique & inLexique, - const C_String & inDecimalString, +void scanner_routine_convertDecimalStringIntoSInt64 (Lexique & inLexique, + const String & inDecimalString, int64_t & outValue, const char * inNumberTooLargeError, const char * inCharacterIsNotDecimalDigitError) ; -void scanner_routine_enterDigitIntoUInt (C_Lexique & inLexique, +void scanner_routine_enterDigitIntoUInt (Lexique & inLexique, const utf32 inCharacter, uint32_t & ioValue, const char * inNumberTooLargeError, const char * inCharacterIsNotDecimalDigitError) ; -void scanner_routine_enterDigitIntoUInt64 (C_Lexique & inLexique, +void scanner_routine_enterDigitIntoUInt64 (Lexique & inLexique, const utf32 inCharacter, uint64_t & ioValue, const char * inNumberTooLargeError, const char * inCharacterIsNotDecimalDigitError) ; -void scanner_routine_enterHexDigitIntoUInt (C_Lexique & inLexique, +void scanner_routine_enterHexDigitIntoUInt (Lexique & inLexique, const utf32 inCharacter, uint32_t & ioValue, const char * inNumberTooLargeError, const char * inCharacterIsNotHexDigitError) ; -void scanner_routine_enterHexDigitIntoUInt64 (C_Lexique & inLexique, +void scanner_routine_enterHexDigitIntoUInt64 (Lexique & inLexique, const utf32 inCharacter, uint64_t & ioValue, const char * inNumberTooLargeError, const char * inCharacterIsNotHexDigitError) ; -void scanner_routine_convertUIntToSInt (C_Lexique & inLexique, +void scanner_routine_convertUIntToSInt (Lexique & inLexique, const uint32_t inValue, int32_t & outValue, const char * inNumberTooLargeError) ; -void scanner_routine_convertUInt64ToSInt64 (C_Lexique & inLexique, +void scanner_routine_convertUInt64ToSInt64 (Lexique & inLexique, const uint64_t inValue, int64_t & outValue, const char * inNumberTooLargeError) ; -void scanner_routine_negateSInt (C_Lexique & inLexique, +void scanner_routine_negateSInt (Lexique & inLexique, int32_t & ioValue, const char * inNumberTooLargeError) ; -void scanner_routine_negateSInt64 (C_Lexique & inLexique, +void scanner_routine_negateSInt64 (Lexique & inLexique, int64_t & ioValue, const char * inNumberTooLargeError) ; //--- Methods introduced in GALGAS 1.4.3 (thanks to Mikael Briday) -void scanner_routine_enterBinDigitIntoUInt (C_Lexique & inLexique, +void scanner_routine_enterBinDigitIntoUInt (Lexique & inLexique, const utf32 inCharacter, uint32_t & ioValue, const char * inNumberTooLargeError, const char * inCharacterIsNotBinDigitError) ; -void scanner_routine_enterBinDigitIntoUInt64 (C_Lexique & inLexique, +void scanner_routine_enterBinDigitIntoUInt64 (Lexique & inLexique, const utf32 inCharacter, uint64_t & ioValue, const char * inNumberTooLargeError, @@ -159,103 +159,103 @@ void scanner_routine_enterBinDigitIntoUInt64 (C_Lexique & inLexique, //--- Methods introduced in GALGAS 1.4.7 (thanks to Mikael Briday) -void scanner_routine_enterOctDigitIntoUInt (C_Lexique & inLexique, +void scanner_routine_enterOctDigitIntoUInt (Lexique & inLexique, const utf32 inCharacter, uint32_t & ioValue, const char * inNumberTooLargeError, const char * inCharacterIsNotOctDigitError) ; -void scanner_routine_enterOctDigitIntoUInt64 (C_Lexique & inLexique, +void scanner_routine_enterOctDigitIntoUInt64 (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 (C_Lexique & inLexique, - const C_String & inDecimalString, +void scanner_routine_convertHexStringIntoUInt (Lexique & inLexique, + const String & inDecimalString, uint32_t & outValue, const char * inNumberTooLargeError, const char * inCharacterIsNotHexDigitError) ; -void scanner_routine_convertHexStringIntoUInt64 (C_Lexique & inLexique, - const C_String & inDecimalString, +void scanner_routine_convertHexStringIntoUInt64 (Lexique & inLexique, + const String & inDecimalString, uint64_t & outValue, const char * inNumberTooLargeError, const char * inCharacterIsNotHexDigitError) ; -void scanner_routine_convertHexStringIntoSInt (C_Lexique & inLexique, - const C_String & inDecimalString, +void scanner_routine_convertHexStringIntoSInt (Lexique & inLexique, + const String & inDecimalString, int32_t & outValue, const char * inNumberTooLargeError, const char * inCharacterIsNotHexDigitError) ; -void scanner_routine_convertHexStringIntoSInt64 (C_Lexique & inLexique, - const C_String & inHexString, +void scanner_routine_convertHexStringIntoSInt64 (Lexique & inLexique, + const String & inHexString, int64_t & outValue, const char * inNumberTooLargeError, const char * inCharacterIsNotHexDigitError) ; //--- Methods introduced in GALGAS 1.8.3 -void scanner_routine_convertUnsignedNumberToUnicodeChar (C_Lexique & inLexique, +void scanner_routine_convertUnsignedNumberToUnicodeChar (Lexique & inLexique, uint32_t & ioValue, utf32 & outUnicodeCharacter, const char * inUnassignedUnicodeValueError) ; -void scanner_routine_convertHTMLSequenceToUnicodeCharacter (C_Lexique & inLexique, - C_String & ioStringValue, +void scanner_routine_convertHTMLSequenceToUnicodeCharacter (Lexique & inLexique, + String & ioStringValue, utf32 & outUnicodeCharacter, const char * inUnassignedHTMLSequenceError) ; void -scanner_routine_codePointToUnicode (C_Lexique & inLexique, - const C_String & inElementString, - C_String & ioTemplateString) ; +scanner_routine_codePointToUnicode (Lexique & inLexique, + const String & inElementString, + String & ioTemplateString) ; //--- Methods introduced in GALGAS 3.0.0 -void scanner_routine_resetString (C_Lexique & inLexique, - C_String & ioString) ; +void scanner_routine_resetString (Lexique & inLexique, + String & ioString) ; //--- Methods introduced in GALGAS 3.1.0 -void scanner_routine_enterDecimalDigitIntoBigInt (C_Lexique & inLexique, +void scanner_routine_enterDecimalDigitIntoBigInt (Lexique & inLexique, const utf32 inCharacter, - class C_BigInt & ioBigInt, + class BigSigned & ioBigInt, const char * inCharacterIsNotDecimalDigitError) ; -void scanner_routine_enterHexDigitIntoBigInt (C_Lexique & inLexique, +void scanner_routine_enterHexDigitIntoBigInt (Lexique & inLexique, const utf32 inCharacter, - class C_BigInt & ioBigInt, + class BigSigned & ioBigInt, const char * inCharacterIsNotDecimalDigitError) ; -void scanner_routine_convertDecimalStringIntoBigInt (C_Lexique & inLexique, - const C_String & inDecimalString, - C_BigInt & outValue, +void scanner_routine_convertDecimalStringIntoBigInt (Lexique & inLexique, + const String & inDecimalString, + BigSigned & outValue, const char * inCharacterIsNotDecimalDigitError) ; -void scanner_routine_convertHexStringIntoBigInt (C_Lexique & inLexique, - const C_String & inHexString, - C_BigInt & outValue, +void scanner_routine_convertHexStringIntoBigInt (Lexique & inLexique, + const String & inHexString, + BigSigned & outValue, const char * inCharacterIsNotHexDigitError) ; //--- Methods introduced in GALGAS 3.1.6 -void scanner_routine_enterBinaryDigitIntoBigInt (C_Lexique & inLexique, +void scanner_routine_enterBinaryDigitIntoBigInt (Lexique & inLexique, const utf32 inCharacter, - class C_BigInt & ioBigInt, + class BigSigned & ioBigInt, const char * inCharacterIsNotBinaryDigitError) ; -void scanner_routine_convertBinaryStringIntoBigInt (C_Lexique & inLexique, - const C_String & inBinaryString, - C_BigInt & outValue, +void scanner_routine_convertBinaryStringIntoBigInt (Lexique & inLexique, + const String & inBinaryString, + BigSigned & outValue, const char * inCharacterIsNotBinaryDigitError) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -utf32 scanner_function_toLower (C_Lexique & inLexique, const utf32 inCharacter) ; +utf32 scanner_function_toLower (Lexique & inLexique, const utf32 inCharacter) ; -utf32 scanner_function_toUpper (C_Lexique & inLexique, const utf32 inCharacter) ; +utf32 scanner_function_toUpper (Lexique & inLexique, const utf32 inCharacter) ; -void scanner_routine_negateBigInt (C_Lexique & inLexique, - C_BigInt & ioValue) ; +void scanner_routine_negateBigInt (Lexique & inLexique, + BigSigned & ioValue) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/galgas2/typeComparisonResult.cpp b/goil/build/libpm/galgas2/typeComparisonResult.cpp index 4cd506f23..be6f4ba9f 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 "galgas2/typeComparisonResult.h" +#include "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 a62d479d0..42e1c775a 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 c88a3b640..10719d8e5 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 "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" +#include "SharedObject.h" +#include "M_SourceLocation.h" +#include "TF_Swap.h" +#include "MF_MemoryControl.h" +#include "cpp-allocation.h" +#include "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 C_SharedObject { +template class cSharedArray final : public SharedObject { //--- Default Constructor public: cSharedArray (void) : - C_SharedObject (HERE), + SharedObject (HERE), mUniqueArray () { } @@ -60,14 +60,14 @@ template class cSharedArray final : public C_SharedObject { //--- Allocation Constructor (empty array) public: cSharedArray (const int inCapacity COMMA_LOCATION_ARGS) : - C_SharedObject (THERE), + SharedObject (THERE), mUniqueArray (inCapacity COMMA_THERE) { } //--- Allocation Constructor (array initialized with inValue) public: cSharedArray (const int inCount, const TYPE & inValue COMMA_LOCATION_ARGS) : - C_SharedObject (THERE), + SharedObject (THERE), mUniqueArray (inCount, inValue COMMA_THERE) { } @@ -75,11 +75,11 @@ template class cSharedArray final : public C_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 4484d2c16..43000ed05 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 "utilities/MF_Assert.h" -#include "utilities/M_SourceLocation.h" -#include "utilities/TF_Swap.h" -#include "utilities/MF_MemoryControl.h" -#include "utilities/cpp-allocation.h" +#include "macroAssert.h" +#include "M_SourceLocation.h" +#include "TF_Swap.h" +#include "MF_MemoryControl.h" +#include "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,8 +175,7 @@ template class TC_UniqueArray final { //--- Force entry public: void forceObjectAtIndex (const int32_t inIndex, const TYPE & inValue, - const TYPE & inDefaultValue - COMMA_LOCATION_ARGS) ; + const TYPE & inDefaultValue) ; //--- Prepend object public: void prependObject (const TYPE & inValue) ; // inValue is copied @@ -315,11 +314,11 @@ template class TC_UniqueArray final { } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Default Constructor // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- template TC_UniqueArray ::TC_UniqueArray (void) : mArray ((TYPE *) nullptr), @@ -327,18 +326,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 - MF_AssertThere (inCapacity >= 0, "inCapacity (%ld) < 0", inCapacity, 0) ; + macroAssertThere (inCapacity >= 0, "inCapacity (%ld) < 0", inCapacity, 0) ; #endif if (inCapacity > 0) { macroMyNewArray (mArray, TYPE, uint32_t (inCapacity)) ; @@ -346,11 +345,11 @@ mCapacity (0) { } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Allocation Constructor // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- template TC_UniqueArray ::TC_UniqueArray (const int32_t inCapacity, const TYPE & inValue @@ -359,7 +358,7 @@ mArray (nullptr), mCount (0), mCapacity (0) { #ifndef DO_NOT_GENERATE_CHECKINGS - MF_AssertThere (inCapacity >= 0, "inCapacity (%ld) < 0", inCapacity, 0) ; + macroAssertThere (inCapacity >= 0, "inCapacity (%ld) < 0", inCapacity, 0) ; #endif if (inCapacity > 0) { macroMyNewArray (mArray, TYPE, uint32_t (inCapacity)) ; @@ -371,11 +370,11 @@ mCapacity (0) { } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Allocation Constructor // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- template void TC_UniqueArray ::setDataFromPointer (TYPE * & ioDataPtr, const int32_t inDataLength) { @@ -386,7 +385,7 @@ template void TC_UniqueArray ::setDataFromPointer (TYPE * ioDataPtr = nullptr ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- template void TC_UniqueArray ::appendDataFromPointer (const TYPE * inDataPtr, const int32_t inDataLength) { @@ -395,31 +394,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 () ; @@ -428,11 +427,11 @@ template void TC_UniqueArray ::copyTo (TC_UniqueArray void TC_UniqueArray ::setCapacity (const int32_t inNewCapacity) { if (mCapacity < inNewCapacity) { @@ -450,43 +449,35 @@ 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 - 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) { @@ -504,11 +495,11 @@ template void TC_UniqueArray ::setCapacityUsingSwap (const } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Remove all objects and deallocate // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- template void TC_UniqueArray ::removeAll (void) { mCount = 0 ; @@ -516,11 +507,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) { @@ -530,11 +521,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 ; @@ -548,11 +539,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) { @@ -565,11 +556,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) ; @@ -577,11 +568,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) ; @@ -590,11 +581,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) { @@ -606,20 +597,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 { - MF_AssertThere (inIndex >= 0, "inIndex (%ld) < 0", inIndex, 0) ; - MF_AssertThere (inIndex <= mCount, "inIndex (%d) > mCount (%ld)", inIndex, mCount) ; + macroAssertThere (inIndex >= 0, "inIndex (%ld) < 0", inIndex, 0) ; + macroAssertThere (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 ; @@ -635,7 +626,7 @@ template void TC_UniqueArray ::prependObjects (const TC_Un } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- template void TC_UniqueArray ::prependObject (const TYPE & inValue) { // inValue is copied setCapacity (mCount + 1) ; @@ -645,7 +636,7 @@ template void TC_UniqueArray ::prependObject (const TYPE & mArray [0] = inValue ; mCount ++ ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- template void TC_UniqueArray ::insertObjectAtIndex (const TYPE & inValue, const int32_t inIndex @@ -661,11 +652,11 @@ template void TC_UniqueArray ::insertObjectAtIndex (const mCount ++ ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Insert objects at index // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- template void TC_UniqueArray ::insertObjectsAtIndex (const int32_t inCount, const TYPE & inValue, @@ -686,11 +677,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 @@ -705,11 +696,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, @@ -729,11 +720,11 @@ insertObjectsUsingExchangeAndClear (const int32_t inCount, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // remove last object // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- template void TC_UniqueArray ::removeLastObject (LOCATION_ARGS) { #ifndef DO_NOT_GENERATE_CHECKINGS @@ -742,11 +733,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) { @@ -757,11 +748,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 @@ -775,11 +766,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 @@ -791,11 +782,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) { @@ -811,11 +802,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 ; @@ -827,20 +818,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 { - MF_AssertThere (inIndex >= 0, "inIndex (%lld) < 0", inIndex, 0) ; - MF_AssertThere (inIndex < mCount, "inIndex (%lld) >= mCount (%lld)", inIndex, mCount) ; + macroAssertThere (inIndex >= 0, "inIndex (%lld) < 0", inIndex, 0) ; + macroAssertThere (inIndex < mCount, "inIndex (%lld) >= mCount (%lld)", inIndex, mCount) ; } #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- template void TC_UniqueArray ::setObjectAtIndex (const TYPE & inObject, const int32_t inIndex @@ -853,7 +844,7 @@ template void TC_UniqueArray ::setObjectAtIndex (const TYP } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- template void TC_UniqueArray ::incrementAtIndex (const int32_t inIndex COMMA_LOCATION_ARGS) { @@ -863,7 +854,7 @@ template void TC_UniqueArray ::incrementAtIndex (const int mArray [inIndex] ++ ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- template void TC_UniqueArray ::decrementAtIndex (const int32_t inIndex COMMA_LOCATION_ARGS) { @@ -873,7 +864,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 @@ -882,7 +873,7 @@ template TYPE & TC_UniqueArray ::operator () (const int32_ return mArray [inIndex] ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- template TYPE & TC_UniqueArray :: operator () (const int32_t inIndex COMMA_LOCATION_ARGS) const { @@ -892,7 +883,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 @@ -901,7 +892,7 @@ template TYPE TC_UniqueArray ::lastObject (LOCATION_ARGS) return mArray [mCount-1] ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- template TYPE & TC_UniqueArray ::lastObject (LOCATION_ARGS) { #ifndef DO_NOT_GENERATE_CHECKINGS @@ -910,11 +901,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), @@ -930,11 +921,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) { @@ -959,17 +950,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) { @@ -994,17 +985,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) { @@ -1029,17 +1020,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, @@ -1065,17 +1056,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, @@ -1102,7 +1093,7 @@ internalSortArrayUsingFunction (const int32_t inFirst, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- template void TC_UniqueArray:: sortArrayUsingFunction (int32_t (* inSortFunction) (const TYPE & inOperand1, const TYPE & inOperand2)) { @@ -1111,11 +1102,11 @@ sortArrayUsingFunction (int32_t (* inSortFunction) (const TYPE & inOperand1, con } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Reverse sort array using comparison function // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- template void TC_UniqueArray:: internalReverseSortArrayUsingFunction (const int32_t inFirst, @@ -1142,7 +1133,7 @@ internalReverseSortArrayUsingFunction (const int32_t inFirst, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- template void TC_UniqueArray :: reverseSortArrayUsingFunction (int32_t (* inSortFunction) (const TYPE & inOperand1, const TYPE & inOperand2)) { @@ -1151,11 +1142,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 ; @@ -1165,11 +1156,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 ; @@ -1194,11 +1185,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) { @@ -1227,11 +1218,11 @@ removeObjectsFromArrayUsingSwapAndClear (const TC_UniqueArray & inArray) mCount = targetIndex ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Remove identical objects (based on == operator) // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- template void TC_UniqueArray ::removeIdenticalObjects (void) { int32_t sourceIndex = 1 ; @@ -1255,11 +1246,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 ; @@ -1286,11 +1277,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 ; @@ -1300,11 +1291,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 ; @@ -1314,11 +1305,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 { @@ -1331,11 +1322,11 @@ countObjectsThatRespondsTrueToFunction (bool (inFunction) (const TYPE & inObject return matchCount ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Intersection with an other array // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- template void TC_UniqueArray :: intersectionWithArray (const TC_UniqueArray & inOperand, @@ -1361,11 +1352,11 @@ intersectionWithArray (const TC_UniqueArray & inOperand, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Multi Set Intersection with an other array // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- template void TC_UniqueArray :: multiSetIntersectionWithArray (const TC_UniqueArray & inOperand, @@ -1402,11 +1393,11 @@ multiSetIntersectionWithArray (const TC_UniqueArray & inOperand, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Union with an other array // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- template void TC_UniqueArray ::unionWithArray (const TC_UniqueArray & inOperand, TC_UniqueArray & outResult) const { @@ -1431,21 +1422,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, @@ -1455,26 +1446,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 @@ -1510,11 +1501,11 @@ template void TC_UniqueArray ::appendUniqueObjectInOrdered #endif } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // indexOfObjectInOrderedArray // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- template int32_t TC_UniqueArray ::indexOfObjectInOrderedArray (const TYPE & inValue) const { //--- Search @@ -1537,11 +1528,11 @@ template int32_t TC_UniqueArray ::indexOfObjectInOrderedAr return found ? idx : -1 ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // intersectionOfOrderedArraies // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- template void TC_UniqueArray ::intersectionOfOrderedArraies (const TC_UniqueArray & inOperand, @@ -1566,11 +1557,11 @@ void TC_UniqueArray ::intersectionOfOrderedArraies (const TC_UniqueArray void TC_UniqueArray ::unionOfOrderedArraies (const TC_UniqueArray & inOperand, @@ -1605,11 +1596,11 @@ void TC_UniqueArray ::unionOfOrderedArraies (const TC_UniqueArray & #endif } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // substractOfOrderedArraies // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- template void TC_UniqueArray ::substractOfOrderedArraies (const TC_UniqueArray & inSubstractedSet, @@ -1638,11 +1629,11 @@ void TC_UniqueArray ::substractOfOrderedArraies (const TC_UniqueArray operators) // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- template void TC_UniqueArray ::removeObjectFromOrderedArray (const TYPE & inKey) { bool found = false ; @@ -1666,4 +1657,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 09934b1e7..6edad0e64 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 "utilities/MF_MemoryControl.h" -#include "utilities/TF_Swap.h" +#include "MF_MemoryControl.h" +#include "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 { - 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) ; + 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) ; 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 deleted file mode 100644 index 95cc2d335..000000000 --- a/goil/build/libpm/gmp/32-mp_bases.c +++ /dev/null @@ -1,269 +0,0 @@ -/* 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 deleted file mode 100644 index 73ddaf6d0..000000000 --- a/goil/build/libpm/gmp/32-mp_bases.h +++ /dev/null @@ -1,11 +0,0 @@ -/* 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 deleted file mode 100644 index 787513763..000000000 --- a/goil/build/libpm/gmp/64-mp_bases.c +++ /dev/null @@ -1,269 +0,0 @@ -/* 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 deleted file mode 100644 index 49abbb21c..000000000 --- a/goil/build/libpm/gmp/64-mp_bases.h +++ /dev/null @@ -1,11 +0,0 @@ -/* 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 deleted file mode 100644 index 7a9d2bfc7..000000000 --- a/goil/build/libpm/gmp/gmp-impl.h +++ /dev/null @@ -1,5245 +0,0 @@ -/* 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 deleted file mode 100644 index 9c9e9bad5..000000000 --- a/goil/build/libpm/gmp/gmp.h +++ /dev/null @@ -1,2299 +0,0 @@ -/* 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 deleted file mode 100644 index af8863a30..000000000 --- a/goil/build/libpm/gmp/longlong.h +++ /dev/null @@ -1,2171 +0,0 @@ -/* 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 deleted file mode 100644 index d4c0cb5ee..000000000 --- a/goil/build/libpm/gmp/mini-gmp.c.h +++ /dev/null @@ -1,4388 +0,0 @@ -/* 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 deleted file mode 100644 index e9e9def1e..000000000 --- a/goil/build/libpm/gmp/mini-gmp.h +++ /dev/null @@ -1,295 +0,0 @@ -/* 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 deleted file mode 100644 index 559f26133..000000000 --- a/goil/build/libpm/gmp/mpn-add.c +++ /dev/null @@ -1,34 +0,0 @@ -/* 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 deleted file mode 100644 index ca2d86685..000000000 --- a/goil/build/libpm/gmp/mpn-add_1.c +++ /dev/null @@ -1,34 +0,0 @@ -/* 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 deleted file mode 100644 index 1a0767090..000000000 --- a/goil/build/libpm/gmp/mpn-add_n.c +++ /dev/null @@ -1,90 +0,0 @@ -/* 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 deleted file mode 100644 index d76b4ad13..000000000 --- a/goil/build/libpm/gmp/mpn-addmul_1.c +++ /dev/null @@ -1,139 +0,0 @@ -/* 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 deleted file mode 100644 index 22c3cfd2c..000000000 --- a/goil/build/libpm/gmp/mpn-bdiv_dbm1c.c +++ /dev/null @@ -1,59 +0,0 @@ -/* 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 deleted file mode 100644 index 18c7b4284..000000000 --- a/goil/build/libpm/gmp/mpn-cmp.c +++ /dev/null @@ -1,34 +0,0 @@ -/* 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 deleted file mode 100644 index 5f5b86fc0..000000000 --- a/goil/build/libpm/gmp/mpn-dcpi1_div_qr.c +++ /dev/null @@ -1,249 +0,0 @@ -/* 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 deleted file mode 100644 index e753d6606..000000000 --- a/goil/build/libpm/gmp/mpn-dive_1.c +++ /dev/null @@ -1,147 +0,0 @@ -/* 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 deleted file mode 100644 index 3c29f27d1..000000000 --- a/goil/build/libpm/gmp/mpn-divrem_1.c +++ /dev/null @@ -1,255 +0,0 @@ -/* 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 deleted file mode 100644 index 30d24bb10..000000000 --- a/goil/build/libpm/gmp/mpn-divrem_2.c +++ /dev/null @@ -1,119 +0,0 @@ -/* 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 deleted file mode 100644 index 438e9feab..000000000 --- a/goil/build/libpm/gmp/mpn-get_str.c +++ /dev/null @@ -1,554 +0,0 @@ -/* 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 deleted file mode 100644 index 33fdf0068..000000000 --- a/goil/build/libpm/gmp/mpn-invertappr.c +++ /dev/null @@ -1,304 +0,0 @@ -/* 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 deleted file mode 100644 index 518263297..000000000 --- a/goil/build/libpm/gmp/mpn-lshift.c +++ /dev/null @@ -1,73 +0,0 @@ -/* 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 deleted file mode 100644 index e8051b7b9..000000000 --- a/goil/build/libpm/gmp/mpn-lshiftc.c +++ /dev/null @@ -1,74 +0,0 @@ -/* 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 deleted file mode 100644 index 8e421c135..000000000 --- a/goil/build/libpm/gmp/mpn-mu_div_qr.c +++ /dev/null @@ -1,410 +0,0 @@ -/* 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 deleted file mode 100644 index a832e8582..000000000 --- a/goil/build/libpm/gmp/mpn-mul.c +++ /dev/null @@ -1,424 +0,0 @@ -/* 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 deleted file mode 100644 index 6b2ee59a2..000000000 --- a/goil/build/libpm/gmp/mpn-mul_1.c +++ /dev/null @@ -1,97 +0,0 @@ -/* 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 deleted file mode 100644 index a7f96ee61..000000000 --- a/goil/build/libpm/gmp/mpn-mul_basecase.c +++ /dev/null @@ -1,166 +0,0 @@ -/* 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 deleted file mode 100644 index 16499026a..000000000 --- a/goil/build/libpm/gmp/mpn-mul_fft.c +++ /dev/null @@ -1,1014 +0,0 @@ -/* 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 deleted file mode 100644 index 5df8b16fa..000000000 --- a/goil/build/libpm/gmp/mpn-mul_n.c +++ /dev/null @@ -1,97 +0,0 @@ -/* 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 deleted file mode 100644 index e660457c3..000000000 --- a/goil/build/libpm/gmp/mpn-mulmod_bnm1.c +++ /dev/null @@ -1,353 +0,0 @@ -/* 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 deleted file mode 100644 index d2bf19ad5..000000000 --- a/goil/build/libpm/gmp/mpn-nussbaumer_mul.c +++ /dev/null @@ -1,71 +0,0 @@ -/* 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 deleted file mode 100644 index 2de74575c..000000000 --- a/goil/build/libpm/gmp/mpn-pre_divrem_1.c +++ /dev/null @@ -1,146 +0,0 @@ -/* 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 deleted file mode 100644 index ec61f2f7e..000000000 --- a/goil/build/libpm/gmp/mpn-rshift.c +++ /dev/null @@ -1,70 +0,0 @@ -/* 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 deleted file mode 100644 index 0c3e4cb72..000000000 --- a/goil/build/libpm/gmp/mpn-sbpi1_div_qr.c +++ /dev/null @@ -1,110 +0,0 @@ -/* 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 deleted file mode 100644 index 3e7cf91ba..000000000 --- a/goil/build/libpm/gmp/mpn-sbpi1_divappr_q.c +++ /dev/null @@ -1,199 +0,0 @@ -/* 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 deleted file mode 100644 index d11160360..000000000 --- a/goil/build/libpm/gmp/mpn-set_str.c +++ /dev/null @@ -1,375 +0,0 @@ -/* 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 deleted file mode 100644 index 3743761f7..000000000 --- a/goil/build/libpm/gmp/mpn-sqr.c +++ /dev/null @@ -1,99 +0,0 @@ -/* 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 deleted file mode 100644 index e30609437..000000000 --- a/goil/build/libpm/gmp/mpn-sqr_basecase.c +++ /dev/null @@ -1,322 +0,0 @@ -/* 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 deleted file mode 100644 index c7cc2f05b..000000000 --- a/goil/build/libpm/gmp/mpn-sqrmod_bnm1.c +++ /dev/null @@ -1,311 +0,0 @@ -/* 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 deleted file mode 100644 index 3fbcbbe98..000000000 --- a/goil/build/libpm/gmp/mpn-sub.c +++ /dev/null @@ -1,34 +0,0 @@ -/* 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 deleted file mode 100644 index db2e6f948..000000000 --- a/goil/build/libpm/gmp/mpn-sub_1.c +++ /dev/null @@ -1,34 +0,0 @@ -/* 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 deleted file mode 100644 index 29de2d2d8..000000000 --- a/goil/build/libpm/gmp/mpn-sub_n.c +++ /dev/null @@ -1,90 +0,0 @@ -/* 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 deleted file mode 100644 index 9cd84839c..000000000 --- a/goil/build/libpm/gmp/mpn-submul_1.c +++ /dev/null @@ -1,139 +0,0 @@ -/* 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 deleted file mode 100644 index ef9109f50..000000000 --- a/goil/build/libpm/gmp/mpn-tdiv_qr.c +++ /dev/null @@ -1,390 +0,0 @@ -/* 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 deleted file mode 100644 index 2ad9b2963..000000000 --- a/goil/build/libpm/gmp/mpn-toom22_mul.c +++ /dev/null @@ -1,209 +0,0 @@ -/* 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 deleted file mode 100644 index e79e2276a..000000000 --- a/goil/build/libpm/gmp/mpn-toom2_sqr.c +++ /dev/null @@ -1,146 +0,0 @@ -/* 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 deleted file mode 100644 index 3402f21de..000000000 --- a/goil/build/libpm/gmp/mpn-toom32_mul.c +++ /dev/null @@ -1,319 +0,0 @@ -/* 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 deleted file mode 100644 index ceafb75aa..000000000 --- a/goil/build/libpm/gmp/mpn-toom33_mul.c +++ /dev/null @@ -1,309 +0,0 @@ -/* 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 deleted file mode 100644 index 91c4e4235..000000000 --- a/goil/build/libpm/gmp/mpn-toom3_sqr.c +++ /dev/null @@ -1,227 +0,0 @@ -/* 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 deleted file mode 100644 index c253d2ca2..000000000 --- a/goil/build/libpm/gmp/mpn-toom42_mul.c +++ /dev/null @@ -1,234 +0,0 @@ -/* 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 deleted file mode 100644 index 4a18ecaeb..000000000 --- a/goil/build/libpm/gmp/mpn-toom43_mul.c +++ /dev/null @@ -1,234 +0,0 @@ -/* 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 deleted file mode 100644 index 689e342da..000000000 --- a/goil/build/libpm/gmp/mpn-toom44_mul.c +++ /dev/null @@ -1,236 +0,0 @@ -/* 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 deleted file mode 100644 index 5a9296c96..000000000 --- a/goil/build/libpm/gmp/mpn-toom4_sqr.c +++ /dev/null @@ -1,164 +0,0 @@ -/* 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 deleted file mode 100644 index 7519803be..000000000 --- a/goil/build/libpm/gmp/mpn-toom53_mul.c +++ /dev/null @@ -1,332 +0,0 @@ -/* 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 deleted file mode 100644 index 663db7ed2..000000000 --- a/goil/build/libpm/gmp/mpn-toom63_mul.c +++ /dev/null @@ -1,232 +0,0 @@ -/* 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 deleted file mode 100644 index 3a0a12afb..000000000 --- a/goil/build/libpm/gmp/mpn-toom6_sqr.c +++ /dev/null @@ -1,182 +0,0 @@ -/* 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 deleted file mode 100644 index 5651f5d85..000000000 --- a/goil/build/libpm/gmp/mpn-toom6h_mul.c +++ /dev/null @@ -1,263 +0,0 @@ -/* 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 deleted file mode 100644 index 4c3e8f40d..000000000 --- a/goil/build/libpm/gmp/mpn-toom8_sqr.c +++ /dev/null @@ -1,226 +0,0 @@ -/* 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 deleted file mode 100644 index c4dbeede8..000000000 --- a/goil/build/libpm/gmp/mpn-toom8h_mul.c +++ /dev/null @@ -1,306 +0,0 @@ -/* 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 deleted file mode 100644 index fcbc257f4..000000000 --- a/goil/build/libpm/gmp/mpn-toom_couple_handling.c +++ /dev/null @@ -1,82 +0,0 @@ -/* 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 deleted file mode 100644 index 896c623a0..000000000 --- a/goil/build/libpm/gmp/mpn-toom_eval_dgr3_pm1.c +++ /dev/null @@ -1,73 +0,0 @@ -/* 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 deleted file mode 100644 index 930a0664a..000000000 --- a/goil/build/libpm/gmp/mpn-toom_eval_dgr3_pm2.c +++ /dev/null @@ -1,98 +0,0 @@ -/* 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 deleted file mode 100644 index 7706e68f6..000000000 --- a/goil/build/libpm/gmp/mpn-toom_eval_pm1.c +++ /dev/null @@ -1,90 +0,0 @@ -/* 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 deleted file mode 100644 index fee4d72d5..000000000 --- a/goil/build/libpm/gmp/mpn-toom_eval_pm2.c +++ /dev/null @@ -1,132 +0,0 @@ -/* 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 deleted file mode 100644 index f3a1cdddf..000000000 --- a/goil/build/libpm/gmp/mpn-toom_eval_pm2exp.c +++ /dev/null @@ -1,127 +0,0 @@ -/* 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 deleted file mode 100644 index 527b88e86..000000000 --- a/goil/build/libpm/gmp/mpn-toom_interpolate_16pts.c +++ /dev/null @@ -1,525 +0,0 @@ -/* 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 deleted file mode 100644 index 3c50245a3..000000000 --- a/goil/build/libpm/gmp/mpn-toom_interpolate_5pts.c +++ /dev/null @@ -1,200 +0,0 @@ -/* 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 deleted file mode 100644 index bdc8aa698..000000000 --- a/goil/build/libpm/gmp/mpn-toom_interpolate_6pts.c +++ /dev/null @@ -1,240 +0,0 @@ -/* 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 deleted file mode 100644 index dab9cb0dd..000000000 --- a/goil/build/libpm/gmp/mpn-toom_interpolate_7pts.c +++ /dev/null @@ -1,266 +0,0 @@ -/* 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 deleted file mode 100644 index 27b9d4633..000000000 --- a/goil/build/libpm/gmp/mpn-toom_interpolate_8pts.c +++ /dev/null @@ -1,213 +0,0 @@ -/* 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 deleted file mode 100644 index 20d80eec5..000000000 --- a/goil/build/libpm/gmp/mpz-abs.c +++ /dev/null @@ -1,55 +0,0 @@ -/* 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 deleted file mode 100644 index 03fcb5957..000000000 --- a/goil/build/libpm/gmp/mpz-add.c +++ /dev/null @@ -1,34 +0,0 @@ -/* 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 deleted file mode 100644 index d15bb7287..000000000 --- a/goil/build/libpm/gmp/mpz-add_ui.c +++ /dev/null @@ -1,34 +0,0 @@ -/* 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 deleted file mode 100644 index 420b948df..000000000 --- a/goil/build/libpm/gmp/mpz-and.c +++ /dev/null @@ -1,244 +0,0 @@ -/* 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 deleted file mode 100644 index c08bde66f..000000000 --- a/goil/build/libpm/gmp/mpz-aors.h +++ /dev/null @@ -1,127 +0,0 @@ -/* 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 deleted file mode 100644 index 5173e96d9..000000000 --- a/goil/build/libpm/gmp/mpz-aors_ui.h +++ /dev/null @@ -1,124 +0,0 @@ -/* 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 deleted file mode 100644 index 65be61431..000000000 --- a/goil/build/libpm/gmp/mpz-cdiv_q_ui.c +++ /dev/null @@ -1,103 +0,0 @@ -/* 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 deleted file mode 100644 index 762153ec2..000000000 --- a/goil/build/libpm/gmp/mpz-cdiv_qr.c +++ /dev/null @@ -1,65 +0,0 @@ -/* 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 deleted file mode 100644 index 8e1ce51f6..000000000 --- a/goil/build/libpm/gmp/mpz-cfdiv_q_2exp.c +++ /dev/null @@ -1,113 +0,0 @@ -/* 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 deleted file mode 100644 index 30f626c50..000000000 --- a/goil/build/libpm/gmp/mpz-clear.c +++ /dev/null @@ -1,40 +0,0 @@ -/* 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 deleted file mode 100644 index fffcffe88..000000000 --- a/goil/build/libpm/gmp/mpz-clrbit.c +++ /dev/null @@ -1,112 +0,0 @@ -/* 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 deleted file mode 100644 index 87f0f2ca3..000000000 --- a/goil/build/libpm/gmp/mpz-cmp.c +++ /dev/null @@ -1,54 +0,0 @@ -/* 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 deleted file mode 100644 index bd6de749f..000000000 --- a/goil/build/libpm/gmp/mpz-cmp_si.c +++ /dev/null @@ -1,70 +0,0 @@ -/* 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 deleted file mode 100644 index 790d8241d..000000000 --- a/goil/build/libpm/gmp/mpz-cmp_ui.c +++ /dev/null @@ -1,78 +0,0 @@ -/* 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 deleted file mode 100644 index 80b5bb8a3..000000000 --- a/goil/build/libpm/gmp/mpz-com.c +++ /dev/null @@ -1,88 +0,0 @@ -/* 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 deleted file mode 100644 index 7d3f7bae3..000000000 --- a/goil/build/libpm/gmp/mpz-combit.c +++ /dev/null @@ -1,103 +0,0 @@ -/* 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 deleted file mode 100644 index 237679548..000000000 --- a/goil/build/libpm/gmp/mpz-export.c +++ /dev/null @@ -1,192 +0,0 @@ -/* 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 deleted file mode 100644 index da27266e5..000000000 --- a/goil/build/libpm/gmp/mpz-fdiv_q_ui.c +++ /dev/null @@ -1,101 +0,0 @@ -/* 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 deleted file mode 100644 index 614c12cfe..000000000 --- a/goil/build/libpm/gmp/mpz-fdiv_qr.c +++ /dev/null @@ -1,65 +0,0 @@ -/* 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 deleted file mode 100644 index e7f21d1b2..000000000 --- a/goil/build/libpm/gmp/mpz-fits_s.h +++ /dev/null @@ -1,61 +0,0 @@ -/* 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 deleted file mode 100644 index 8f137d059..000000000 --- a/goil/build/libpm/gmp/mpz-fits_sint.c +++ /dev/null @@ -1,37 +0,0 @@ -/* 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 deleted file mode 100644 index a37e291b6..000000000 --- a/goil/build/libpm/gmp/mpz-fits_uint.c +++ /dev/null @@ -1,34 +0,0 @@ -/* 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 deleted file mode 100644 index 6e9752636..000000000 --- a/goil/build/libpm/gmp/mpz-get_si.c +++ /dev/null @@ -1,53 +0,0 @@ -/* 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 deleted file mode 100644 index 28091a5b0..000000000 --- a/goil/build/libpm/gmp/mpz-get_str.c +++ /dev/null @@ -1,119 +0,0 @@ -/* 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 deleted file mode 100644 index ca97788b7..000000000 --- a/goil/build/libpm/gmp/mpz-get_ui.c +++ /dev/null @@ -1,34 +0,0 @@ -/* 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 deleted file mode 100644 index 09df9df5c..000000000 --- a/goil/build/libpm/gmp/mpz-init.c +++ /dev/null @@ -1,45 +0,0 @@ -/* 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 deleted file mode 100644 index c6145c8ad..000000000 --- a/goil/build/libpm/gmp/mpz-ior.c +++ /dev/null @@ -1,230 +0,0 @@ -/* 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 deleted file mode 100644 index 879e173a6..000000000 --- a/goil/build/libpm/gmp/mpz-mul.c +++ /dev/null @@ -1,157 +0,0 @@ -/* 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 deleted file mode 100644 index bee8ea880..000000000 --- a/goil/build/libpm/gmp/mpz-mul_2exp.c +++ /dev/null @@ -1,74 +0,0 @@ -/* 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 deleted file mode 100644 index fd2de7732..000000000 --- a/goil/build/libpm/gmp/mpz-mul_i.h +++ /dev/null @@ -1,107 +0,0 @@ -/* 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 deleted file mode 100644 index 2a01419a4..000000000 --- a/goil/build/libpm/gmp/mpz-mul_ui.c +++ /dev/null @@ -1,34 +0,0 @@ -/* 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 deleted file mode 100644 index b5afadebc..000000000 --- a/goil/build/libpm/gmp/mpz-neg.c +++ /dev/null @@ -1,57 +0,0 @@ -/* 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 deleted file mode 100644 index e0130261c..000000000 --- a/goil/build/libpm/gmp/mpz-realloc.c +++ /dev/null @@ -1,71 +0,0 @@ -/* _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 deleted file mode 100644 index 8e147ce68..000000000 --- a/goil/build/libpm/gmp/mpz-set.c +++ /dev/null @@ -1,50 +0,0 @@ -/* 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 deleted file mode 100644 index 528e572d4..000000000 --- a/goil/build/libpm/gmp/mpz-set_str.c +++ /dev/null @@ -1,145 +0,0 @@ -/* 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 deleted file mode 100644 index 228b0cf47..000000000 --- a/goil/build/libpm/gmp/mpz-set_ui.c +++ /dev/null @@ -1,53 +0,0 @@ -/* 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 deleted file mode 100644 index f0bda9d48..000000000 --- a/goil/build/libpm/gmp/mpz-setbit.c +++ /dev/null @@ -1,105 +0,0 @@ -/* 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 deleted file mode 100644 index 0f3851ea8..000000000 --- a/goil/build/libpm/gmp/mpz-sizeinbase.c +++ /dev/null @@ -1,43 +0,0 @@ -/* 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 deleted file mode 100644 index 273158250..000000000 --- a/goil/build/libpm/gmp/mpz-sub.c +++ /dev/null @@ -1,34 +0,0 @@ -/* 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 deleted file mode 100644 index 7eaf0db22..000000000 --- a/goil/build/libpm/gmp/mpz-sub_ui.c +++ /dev/null @@ -1,34 +0,0 @@ -/* 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 deleted file mode 100644 index d0e975dc4..000000000 --- a/goil/build/libpm/gmp/mpz-swap.c +++ /dev/null @@ -1,55 +0,0 @@ -/* 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 deleted file mode 100644 index b36619a06..000000000 --- a/goil/build/libpm/gmp/mpz-tdiv_qr.c +++ /dev/null @@ -1,103 +0,0 @@ -/* 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 deleted file mode 100644 index 33c23a989..000000000 --- a/goil/build/libpm/gmp/mpz-tstbit.c +++ /dev/null @@ -1,81 +0,0 @@ -/* 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 deleted file mode 100644 index fac0a4991..000000000 --- a/goil/build/libpm/gmp/mpz-xor.c +++ /dev/null @@ -1,194 +0,0 @@ -/* 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 deleted file mode 100644 index 2e85e6bf6..000000000 --- a/goil/build/libpm/gmp/root-assert.c +++ /dev/null @@ -1,59 +0,0 @@ -/* 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 deleted file mode 100644 index 6f297e209..000000000 --- a/goil/build/libpm/gmp/root-bootstrap.c.h +++ /dev/null @@ -1,147 +0,0 @@ -/* 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 deleted file mode 100644 index d3c02ef4b..000000000 --- a/goil/build/libpm/gmp/root-errno.c +++ /dev/null @@ -1,70 +0,0 @@ -/* 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 deleted file mode 100644 index 1c4f685c9..000000000 --- a/goil/build/libpm/gmp/root-memory.c +++ /dev/null @@ -1,147 +0,0 @@ -/* 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 deleted file mode 100644 index 632805796..000000000 --- a/goil/build/libpm/gmp/root-mp_bpl.c +++ /dev/null @@ -1,35 +0,0 @@ -/* -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 deleted file mode 100644 index 7c9227e8b..000000000 --- a/goil/build/libpm/gmp/root-mp_clz_tab.c +++ /dev/null @@ -1,49 +0,0 @@ -/* __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 deleted file mode 100644 index c6d74eb3f..000000000 --- a/goil/build/libpm/gmp/root-mp_dv_tab.c +++ /dev/null @@ -1,78 +0,0 @@ -/* __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 deleted file mode 100644 index 522bd0184..000000000 --- a/goil/build/libpm/gmp/root-mp_minv_tab.c +++ /dev/null @@ -1,59 +0,0 @@ -/* 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 deleted file mode 100644 index ed162e552..000000000 --- a/goil/build/libpm/gmp/root-tal-notreent.c +++ /dev/null @@ -1,130 +0,0 @@ -/* 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 8a5a9e8fe..17da08b98 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++14") + result.append ("-std=c++17") 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 10ec2e249..f36689a58 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 4f5addf47..427b7b763 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", "-static"] + gmf.mLinkerOptions = ["-lComdlg32"] gmf.mExecutableSuffix = ".exe" gmf.mBuildDirName = BUILD_DIR_NAME #--- gmf.mCompilerTool = ["x86_64-w64-mingw32-gcc"] - gmf.mLinkerTool = ["x86_64-w64-mingw32-g++", "-std=c++11"] + gmf.mLinkerTool = ["x86_64-w64-mingw32-g++"] 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 a284ff405..debcc881a 100755 --- a/goil/build/libpm/python-makefiles/unix_gcc_tools.py +++ b/goil/build/libpm/python-makefiles/unix_gcc_tools.py @@ -10,8 +10,6 @@ #----------------------------------------------------------------------------------------- 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 @@ -33,7 +31,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.mLinkerTool.append ("-static") + gmf.mLinkerOptions = ["-lComdlg32"] gmf.mExecutableSuffix = ".exe" gmf.mCompilationMessage = "Compiling for Cygwin" gmf.mLinkingMessage = "Linking for Cygwin" @@ -41,7 +39,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 (["-O1"]) + gmf.mCompilerReleaseOptions = default_build_options.compilerReleaseOptions (["-O2"]) #--- 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 e9219615f..05e60c006 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"]) + gmf.m_Cpp_CompilerOptions = default_build_options.Cpp_CompilerOptions (["-Weffc++", "-Wsign-promo", "-std=c++14"]) #--- 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 deleted file mode 100644 index efc4dd7b3..000000000 --- a/goil/build/libpm/streams/AC_OutputStream.cpp +++ /dev/null @@ -1,744 +0,0 @@ -//---------------------------------------------------------------------------------------------------------------------- -// -// 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 deleted file mode 100644 index be1b5a603..000000000 --- a/goil/build/libpm/streams/AC_OutputStream.h +++ /dev/null @@ -1,180 +0,0 @@ -//---------------------------------------------------------------------------------------------------------------------- -// -// 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 new file mode 100644 index 000000000..1279411c4 --- /dev/null +++ b/goil/build/libpm/streams/AbstractOutputStream.cpp @@ -0,0 +1,594 @@ +//-------------------------------------------------------------------------------------------------- +// +// 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 new file mode 100644 index 000000000..cfb78ded8 --- /dev/null +++ b/goil/build/libpm/streams/AbstractOutputStream.h @@ -0,0 +1,160 @@ +//-------------------------------------------------------------------------------------------------- +// +// 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 0b4c50a4b..281348a58 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 9d1d13b3a..f022d03db 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 "streams/AC_OutputStream.h" +#include "AbstractOutputStream.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -class C_ColoredConsole : public AC_OutputStream { +class C_ColoredConsole : public AbstractOutputStream { //--- Set fore color public: void setForeColor (const consoleForeColorEnum inForeColor) ; @@ -84,4 +84,4 @@ class C_ColoredConsole : public AC_OutputStream { public: static bool usesTextAttributes (void) ; } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/streams/C_ConsoleOut.cpp b/goil/build/libpm/streams/C_ConsoleOut.cpp index d0e7451db..ee7eaac62 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,56 +16,53 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -#include "streams/C_ConsoleOut.h" -#include "strings/unicode_character_cpp.h" +#include "C_ConsoleOut.h" +#include "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::performActualCharArrayOutput (const char * inCharArray, +void C_ConsoleOut::handleAppendUTF8Array (const char * inCharArray, const int32_t inArrayCount) { if (inArrayCount > 0) { printf ("%.*s", (int) inArrayCount, inCharArray) ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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:: -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 deleted file mode 100644 index 0cac4e2b8..000000000 --- a/goil/build/libpm/strings/C_HTMLString.h +++ /dev/null @@ -1,67 +0,0 @@ -//---------------------------------------------------------------------------------------------------------------------- -// -// 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 deleted file mode 100644 index fa52a819e..000000000 --- a/goil/build/libpm/strings/C_String.cpp +++ /dev/null @@ -1,2193 +0,0 @@ -//---------------------------------------------------------------------------------------------------------------------- -// -// 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 deleted file mode 100644 index d359cc3cb..000000000 --- a/goil/build/libpm/strings/C_String.h +++ /dev/null @@ -1,381 +0,0 @@ -//---------------------------------------------------------------------------------------------------------------------- -// -// 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 new file mode 100644 index 000000000..534cde55f --- /dev/null +++ b/goil/build/libpm/strings/HTMLString.cpp @@ -0,0 +1,138 @@ +//-------------------------------------------------------------------------------------------------- +// +// 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 new file mode 100644 index 000000000..81abaac9b --- /dev/null +++ b/goil/build/libpm/strings/HTMLString.h @@ -0,0 +1,62 @@ +//-------------------------------------------------------------------------------------------------- +// +// 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 new file mode 100644 index 000000000..7bb746b89 --- /dev/null +++ b/goil/build/libpm/strings/String-class-getters.cpp @@ -0,0 +1,1276 @@ +//-------------------------------------------------------------------------------------------------- +// +// 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 new file mode 100644 index 000000000..d7bed762e --- /dev/null +++ b/goil/build/libpm/strings/String-class.cpp @@ -0,0 +1,759 @@ +//-------------------------------------------------------------------------------------------------- +// +// 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 873de0579..48255c829 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 -static const uint32_t kUnicodeCategory_Cs = 28 ; // Other, Surrogate +// Other, Surrogate (unused kUnicodeCategory_Cs) 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 5a317a435..cc2bdf5d7 100644 --- a/goil/build/libpm/strings/print.cpp +++ b/goil/build/libpm/strings/print.cpp @@ -4,19 +4,30 @@ // // Created by Pierre Molinaro on 14/09/2023. // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #include "print.h" #include -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void routine_print (const GALGAS_string inString, - class C_Compiler * /* inCompiler */ - COMMA_LOCATION_ARGS) { +void routine_println_3F_ (const GALGAS_string inString, + Compiler * /* inCompiler */ + COMMA_UNUSED_LOCATION_ARGS) { if (inString.isValid ()) { - std::cout << inString.stringValue ().cString (THERE) << "\n" ; + gCout.appendString (inString.stringValue ()) ; + gCout.appendNewLine () ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- + +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 694c9b9c8..a5c550712 100644 --- a/goil/build/libpm/strings/print.h +++ b/goil/build/libpm/strings/print.h @@ -4,18 +4,24 @@ // // Created by Pierre Molinaro on 14/09/2023. // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #pragma once -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #include "all-predefined-types.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void routine_print (const GALGAS_string inString, - class C_Compiler * inCompiler - COMMA_LOCATION_ARGS) ; +void routine_println_3F_ (const GALGAS_string inString, + class 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 134a19154..884cef1e8 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 9cf3fab27..84b3213f2 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 "strings/C_String.h" - C_String unicodeName (const utf32 inUnicodeCharacter) ; + #include "String-class.h" + 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 C_String & inString) ; + utf32 unicodeCharacterFromHTMLSequence (const 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 C_Data ; + class U8Data ; 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 00b2af4f3..2389a6ca8 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 "strings/unicode_character_cpp.h" +#include "unicode_character_cpp.h" #include "cUnicodeData.h" -#include "strings/C_String.h" +#include "String-class.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 7c4f237f7..210dd49b3 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 "strings/string_encodings.h" -#include "utilities/M_machine.h" +#include "string_encodings.h" +#include "M_machine.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -class C_String ; +class String ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -#include "strings/unicode_character_base.h" +#include "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 6780e726b..e58042f2c 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 - C_String unicodeName (const utf32 inUnicodeCharacter) { - C_String result ; + String unicodeName (const utf32 inUnicodeCharacter) { + String result ; if (! isUnicodeCharacterAssigned (inUnicodeCharacter)) { - result << "invalid unicode character \\U" ; + result.appendCString ("invalid unicode character \\U") ; result.appendUnsignedHex8 (UNICODE_VALUE (inUnicodeCharacter)) ; }else{ const uint32_t pageIndex = UNICODE_VALUE (inUnicodeCharacter) / gNamePageSize ; @@ -80,15 +80,17 @@ bool isUnicodeCharacterAssigned (const utf32 inUnicodeCharacter) { case 0 : // Prefix break ; case 0x40 : // Enter name, append space character - result << gPartNames [idx] << " " ; + result.appendString (gPartNames [idx]) ; + result.appendCString (" ") ; idx = 0 ; break ; case 0x80 : // Enter name, append minus character - result << gPartNames [idx] << "-" ; + result.appendString (gPartNames [idx]) ; + result.appendCString ("-") ; idx = 0 ; break ; default : // Enter name, exit - result << gPartNames [idx] ; + result.appendString (gPartNames [idx]) ; completed = true ; break ; } @@ -97,10 +99,10 @@ bool isUnicodeCharacterAssigned (const utf32 inUnicodeCharacter) { } if (result.length () == 0) { if (UNICODE_VALUE (inUnicodeCharacter) < 0x10000) { - result << "\\u" ; + result.appendCString ("\\u") ; result.appendUnsignedHex4 (UNICODE_VALUE (inUnicodeCharacter)) ; }else{ - result << "\\U" ; + result.appendCString ("\\U") ; result.appendUnsignedHex8 (UNICODE_VALUE (inUnicodeCharacter)) ; } } @@ -109,7 +111,7 @@ bool isUnicodeCharacterAssigned (const utf32 inUnicodeCharacter) { } #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifdef __OBJC__ NSString * unicodeName (const utf32 inUnicodeCharacter) { @@ -159,7 +161,7 @@ bool isUnicodeCharacterAssigned (const utf32 inUnicodeCharacter) { } #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- utf32 unicodeToLower (const utf32 inUnicodeCharacter) { utf32 result = inUnicodeCharacter ; @@ -176,7 +178,7 @@ utf32 unicodeToLower (const utf32 inUnicodeCharacter) { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- utf32 unicodeToUpper (const utf32 inUnicodeCharacter) { utf32 result = inUnicodeCharacter ; @@ -193,7 +195,7 @@ utf32 unicodeToUpper (const utf32 inUnicodeCharacter) { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- bool isUnicodeLetter (const utf32 inUnicodeCharacter) { bool ok = (0x61 <= UNICODE_VALUE (inUnicodeCharacter)) && (UNICODE_VALUE (inUnicodeCharacter) <= 0x7A) ; @@ -227,7 +229,7 @@ bool isUnicodeLetter (const utf32 inUnicodeCharacter) { return ok ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- bool isUnicodeMark (const utf32 inUnicodeCharacter) { bool result = false ; @@ -245,7 +247,7 @@ bool isUnicodeMark (const utf32 inUnicodeCharacter) { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- bool isUnicodeNumber (const utf32 inUnicodeCharacter) { bool result = false ; @@ -263,7 +265,7 @@ bool isUnicodeNumber (const utf32 inUnicodeCharacter) { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- bool isUnicodeDecimalDigit (const utf32 inUnicodeCharacter) { bool result = false ; @@ -281,7 +283,7 @@ bool isUnicodeDecimalDigit (const utf32 inUnicodeCharacter) { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- uint32_t unicodeDecimalValue (const utf32 inUnicodeCharacter) { uint32_t result = 0 ; @@ -300,7 +302,7 @@ uint32_t unicodeDecimalValue (const utf32 inUnicodeCharacter) { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- bool isUnicodeASCIIHexDigit (const utf32 inUnicodeCharacter) { return @@ -310,7 +312,7 @@ bool isUnicodeASCIIHexDigit (const utf32 inUnicodeCharacter) { ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- uint32_t ASCIIHexValue (const utf32 inUnicodeCharacter) { uint32_t result = 0 ; @@ -324,7 +326,7 @@ uint32_t ASCIIHexValue (const utf32 inUnicodeCharacter) { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- bool isUnicodeSeparator (const utf32 inUnicodeCharacter) { bool result = false ; @@ -342,7 +344,7 @@ bool isUnicodeSeparator (const utf32 inUnicodeCharacter) { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- bool isUnicodeCommand (const utf32 inUnicodeCharacter) { bool result = true ; // Undefined character has 'Cn' category @@ -360,7 +362,7 @@ bool isUnicodeCommand (const utf32 inUnicodeCharacter) { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- bool isUnicodePunctuation (const utf32 inUnicodeCharacter) { bool result = false ; @@ -378,7 +380,7 @@ bool isUnicodePunctuation (const utf32 inUnicodeCharacter) { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- bool isUnicodeSymbol (const utf32 inUnicodeCharacter) { bool result = false ; @@ -396,7 +398,7 @@ bool isUnicodeSymbol (const utf32 inUnicodeCharacter) { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- uint32_t utf8Length (const utf32 inUnicodeCharacter) { uint32_t r = 1 ; @@ -410,10 +412,10 @@ uint32_t utf8Length (const utf32 inUnicodeCharacter) { return r ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifdef __cplusplus - utf32 unicodeCharacterFromHTMLSequence (const C_String & inString) { + utf32 unicodeCharacterFromHTMLSequence (const String & inString) { utf32 result = TO_UNICODE (0) ; // Means not found int32_t lowIndex = 0 ; int32_t highIndex = kHTMLtoUnicodeConversionTableSize - 1 ; @@ -432,7 +434,7 @@ uint32_t utf8Length (const utf32 inUnicodeCharacter) { } #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifdef __OBJC__ utf32 unicodeCharacterFromHTMLSequence (NSString * inString) { @@ -454,11 +456,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 ; @@ -467,11 +469,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}, @@ -494,7 +496,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) ; @@ -508,7 +510,7 @@ utf32 unicodeCharacterForSingleByteCharacter (const char inChar, const PMStringE return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- char singleByteCharacterForUnicodeCharacter (const utf32 inUnicodeChar, const PMStringEncoding inStringEncoding) { @@ -526,7 +528,6 @@ char singleByteCharacterForUnicodeCharacter (const utf32 inUnicodeChar, }else if (UNICODE_VALUE (inUnicodeChar) < mapping [mid].mUnicode) { high = mid - 1 ; }else{ // Found - // printf ("found") ; result = mapping [mid].mSingleByteCode ; } } @@ -537,7 +538,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 @@ -584,7 +585,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, @@ -651,7 +652,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 66a7b1275..8af28ae49 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 "strings/string_encodings.h" +#import "string_encodings.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typedef UInt32 utf32 ; #define UNICODE_VALUE(n) (n) #define TO_UNICODE(v) (v) -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -#include "strings/unicode_character_base.h" +#include "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 1be3f99a1..44fed7f63 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 deleted file mode 100644 index c1024b5a0..000000000 --- a/goil/build/libpm/strings/unicode_string_routines.cpp +++ /dev/null @@ -1,124 +0,0 @@ -//---------------------------------------------------------------------------------------------------------------------- -// -// 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 deleted file mode 100644 index ff429b05d..000000000 --- a/goil/build/libpm/strings/unicode_string_routines.h +++ /dev/null @@ -1,43 +0,0 @@ -//---------------------------------------------------------------------------------------------------------------------- -// -// 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/C_DateTime.cpp b/goil/build/libpm/time/DateTime.cpp similarity index 63% rename from goil/build/libpm/time/C_DateTime.cpp rename to goil/build/libpm/time/DateTime.cpp index dbe083132..fb0f66a62 100644 --- a/goil/build/libpm/time/C_DateTime.cpp +++ b/goil/build/libpm/time/DateTime.cpp @@ -1,10 +1,10 @@ -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Class for date handling. // // This file is part of libpm library // -// Copyright (C) 1999, ..., 2009 Pierre Molinaro. +// Copyright (C) 1999, ..., 2023 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 "time/C_DateTime.h" -#include "strings/C_String.h" +#include "DateTime.h" +#include "String-class.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #include -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_DateTime::C_DateTime (void) : +DateTime::DateTime (void) : mDate (std::chrono::system_clock::now ()) { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_DateTime::C_DateTime (const time_t inTimeInSeconds) : +DateTime::DateTime (const time_t inTimeInSeconds) : mDate (std::chrono::system_clock::from_time_t (inTimeInSeconds)) { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_DateTime::~C_DateTime (void) { +DateTime::~DateTime (void) { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -const char * C_DateTime::getMonthName (void) const { +const char * 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 * C_DateTime::getMonthName (void) const { case 10 : return "november" ; case 11 : return "december" ; } - return (const char *) nullptr ; + return nullptr ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -const char * C_DateTime::getDayName (void) const { +const char * 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 * C_DateTime::getDayName (void) const { case 5 : return "friday" ; case 6 : return "saturday" ; } - return (const char *) nullptr ; + return nullptr ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -int32_t C_DateTime::getYearCount (void) const { +int32_t 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 C_DateTime::getYearCount (void) const { return 1900 + time.tm_year ; // (1900, ...) } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -int32_t C_DateTime::getMonthCount (void) const { +int32_t 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 C_DateTime::getMonthCount (void) const { return 1 + time.tm_mon ; // (1, 12) } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -int32_t C_DateTime::getDayOfMonth (void) const { +int32_t 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 C_DateTime::getDayOfMonth (void) const { return time.tm_mday ; // (1, 31) } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -int32_t C_DateTime::getHourOfDay (void) const { +int32_t 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 C_DateTime::getHourOfDay (void) const { return time.tm_hour ; // (0, 23) } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -int32_t C_DateTime::getMinuteOfHour (void) const { +int32_t 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 C_DateTime::getMinuteOfHour (void) const { return time.tm_min ; // (0, 59) } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -int32_t C_DateTime::getSecondOfMinute (void) const { +int32_t 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 C_DateTime::getSecondOfMinute (void) const { return time.tm_sec ; // (0, 59) } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -int32_t C_DateTime::getDayOfWeek (void) const { +int32_t 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,80 +182,83 @@ int32_t C_DateTime::getDayOfWeek (void) const { return time.tm_wday ; // 0 = dimanche } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -bool C_DateTime::operator == (const C_DateTime & inDate) const { +bool DateTime::operator == (const DateTime & inDate) const { return mDate == inDate.mDate ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -bool C_DateTime::operator != (const C_DateTime & inDate) const { +bool DateTime::operator != (const DateTime & inDate) const { return mDate != inDate.mDate ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -bool C_DateTime::operator > (const C_DateTime & inDate) const { +bool DateTime::operator > (const DateTime & inDate) const { return mDate > inDate.mDate ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -bool C_DateTime::operator < (const C_DateTime & inDate) const { +bool DateTime::operator < (const DateTime & inDate) const { return mDate < inDate.mDate ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -bool C_DateTime::operator >= (const C_DateTime & inDate) const { +bool DateTime::operator >= (const DateTime & inDate) const { return mDate >= inDate.mDate ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -bool C_DateTime::operator <= (const C_DateTime & inDate) const { +bool DateTime::operator <= (const DateTime & inDate) const { return mDate <= inDate.mDate ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -AC_OutputStream & operator << (AC_OutputStream & inStream, - const C_DateTime & inDate) { - const int32_t dayOfMonth = inDate.getDayOfMonth () ; - inStream << inDate.getMonthName () - << " " - << cStringWithSigned (dayOfMonth) ; +String DateTime::string (void) const { + String result ; + const int32_t dayOfMonth = getDayOfMonth () ; + result.appendCString (getMonthName ()) ; + result.appendCString (" ") ; + result.appendSigned (dayOfMonth) ; switch (dayOfMonth) { case 1 : - inStream << "st" ; + result.appendCString ("st") ; break ; case 2 : - inStream << "nd" ; + result.appendCString ("nd") ; break ; case 3 : - inStream << "rd" ; + result.appendCString ("rd") ; break ; default : - inStream << "th" ; + result.appendCString ("th") ; break ; } - inStream << ", " - << cStringWithSigned (inDate.getYearCount ()) - << ", at " - << cStringWithSigned (inDate.getHourOfDay ()) << "h" - << cStringWithSigned (inDate.getMinuteOfHour ()) << "\'" - << cStringWithSigned (inDate.getSecondOfMinute ()) << "\"" ; - return inStream ; + 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 ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- static time_t gCurrentToolModificationTime ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void C_DateTime::enterCurrentToolModificationTime (const char * inMainRoutineFirstArgument) { +void DateTime::enterCurrentToolModificationTime (const char * inMainRoutineFirstArgument) { struct stat fileProperties ; const int err = ::stat (inMainRoutineFirstArgument, & fileProperties) ; if ((err == 0) && ((fileProperties.st_mode & S_IFREG) != 0)) { @@ -263,10 +266,10 @@ void C_DateTime::enterCurrentToolModificationTime (const char * inMainRoutineFir } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_DateTime C_DateTime::currentToolModificationTime (void) { - return C_DateTime (gCurrentToolModificationTime) ; +DateTime DateTime::currentToolModificationTime (void) { + return DateTime (gCurrentToolModificationTime) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/time/C_DateTime.h b/goil/build/libpm/time/DateTime.h similarity index 61% rename from goil/build/libpm/time/C_DateTime.h rename to goil/build/libpm/time/DateTime.h index 7bc4ab978..6b9db42ca 100644 --- a/goil/build/libpm/time/C_DateTime.h +++ b/goil/build/libpm/time/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 "streams/AC_OutputStream.h" +#include "AbstractOutputStream.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #include -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -class C_DateTime final { +class DateTime final { private: std::chrono::time_point mDate ; //--- Constructors et destructor - public: C_DateTime (void) ; // Current date - public: C_DateTime (const time_t inTimeInSeconds) ; - public: ~C_DateTime (void) ; + public: DateTime (void) ; // Current date + public: DateTime (const time_t inTimeInSeconds) ; + public: ~DateTime (void) ; //--- Get date components public: int32_t getYearCount (void) const ; // (1900, ...) @@ -48,24 +48,20 @@ class C_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 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 ; + 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 ; //--- Modification date of current tool public: static void enterCurrentToolModificationTime (const char * inMainRoutineFirstArgument) ; - public: static C_DateTime currentToolModificationTime (void) ; + public: static DateTime currentToolModificationTime (void) ; } ; -//---------------------------------------------------------------------------------------------------------------------- - -AC_OutputStream & operator << (AC_OutputStream & inStream, - const C_DateTime & inDate) ; - -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/time/C_Timer.cpp b/goil/build/libpm/time/Timer.cpp similarity index 55% rename from goil/build/libpm/time/C_Timer.cpp rename to goil/build/libpm/time/Timer.cpp index bd67b6252..6c109ddcd 100644 --- a/goil/build/libpm/time/C_Timer.cpp +++ b/goil/build/libpm/time/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 "time/C_Timer.h" -#include "utilities/M_machine.h" -#include "strings/C_String.h" +#include "Timer.h" +#include "M_machine.h" +#include "String-class.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_Timer::C_Timer (void) : +Timer::Timer (void) : mStart (::clock ()), mEnd (::clock ()), mRunning (true) { mEnd = mStart ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void C_Timer::stopTimer (void) { +void Timer::stopTimer (void) { if (mRunning) { mEnd = ::clock () ; mRunning = false ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void C_Timer::startTimer (void) { +void Timer::startTimer (void) { mStart = ::clock () ; mEnd = mStart ; mRunning = true ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -uint32_t C_Timer::msFromStart (void) const { +uint32_t Timer::msFromStart (void) const { clock_t duration ; if (mRunning) { duration = ::clock () - mStart ; @@ -61,49 +61,24 @@ uint32_t C_Timer::msFromStart (void) const { return uint32_t (duration) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_String C_Timer::timeString (void) const { +String 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 ; - C_String result ; + String result ; if (minutes > 0) { result.appendUnsigned (minutes) ; - result << " min " ; + result.appendCString (" min ") ; } result.appendUnsigned (secondes) ; - result << " s " ; + result.appendCString (" 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/C_Timer.h b/goil/build/libpm/time/Timer.h similarity index 64% rename from goil/build/libpm/time/C_Timer.h rename to goil/build/libpm/time/Timer.h index 2af1d7e48..77d3041d1 100644 --- a/goil/build/libpm/time/C_Timer.h +++ b/goil/build/libpm/time/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 AC_OutputStream ; -class C_String ; +class AbstractOutputStream ; +class String ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -class C_Timer final { +class Timer final { private: clock_t mStart ; private: clock_t mEnd ; private: bool mRunning ; - public: C_Timer (void) ; + public: Timer (void) ; public: void stopTimer (void) ; @@ -47,18 +47,9 @@ class C_Timer final { public: uint32_t msFromStart (void) const ; - public: C_String timeString (void) const ; + public: 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/C_DirectedGraph.cpp b/goil/build/libpm/utilities/DirectedGraph.cpp similarity index 76% rename from goil/build/libpm/utilities/C_DirectedGraph.cpp rename to goil/build/libpm/utilities/DirectedGraph.cpp index 85e40c28f..44292eafd 100644 --- a/goil/build/libpm/utilities/C_DirectedGraph.cpp +++ b/goil/build/libpm/utilities/DirectedGraph.cpp @@ -1,6 +1,6 @@ -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -// C_DirectedGraph : algorithms on ordered graphs +// 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 "utilities/C_DirectedGraph.h" +#include "DirectedGraph.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_DirectedGraph::C_DirectedGraph (void) : +DirectedGraph::DirectedGraph (void) : mNodes (), mEdges (), mReverseEdges () { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_DirectedGraph C_DirectedGraph::reversedGraph (void) const { - C_DirectedGraph result ; +DirectedGraph DirectedGraph::reversedGraph (void) const { + DirectedGraph result ; result.mNodes = mNodes ; result.mEdges = mReverseEdges ; result.mReverseEdges = mEdges ; @@ -41,45 +41,45 @@ C_DirectedGraph C_DirectedGraph::reversedGraph (void) const { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void C_DirectedGraph::addNode (const uint32_t inNodeIndex) { +void DirectedGraph::addNode (const uint32_t inNodeIndex) { mNodes.add (inNodeIndex) ; while (((int32_t) inNodeIndex) >= mEdges.count ()) { - mEdges.appendObject (C_UIntSet ()) ; - mReverseEdges.appendObject (C_UIntSet ()) ; + mEdges.appendObject (UInt32Set ()) ; + mReverseEdges.appendObject (UInt32Set ()) ; } #ifndef DO_NOT_GENERATE_CHECKINGS checkGraph (HERE) ; #endif } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void C_DirectedGraph::addNodes (const C_UIntSet inNodes) { +void DirectedGraph::addNodes (const UInt32Set inNodes) { mNodes |= inNodes ; const uint32_t lastPlusOne = mNodes.firstValueNotIsSet () ; while (lastPlusOne > (uint32_t) mEdges.count ()) { - mEdges.appendObject (C_UIntSet ()) ; - mReverseEdges.appendObject (C_UIntSet ()) ; + mEdges.appendObject (UInt32Set ()) ; + mReverseEdges.appendObject (UInt32Set ()) ; } #ifndef DO_NOT_GENERATE_CHECKINGS checkGraph (HERE) ; #endif } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void C_DirectedGraph::removeNode (const uint32_t inNodeIndex) { +void DirectedGraph::removeNode (const uint32_t inNodeIndex) { if (inNodeIndex < (uint32_t) mEdges.count ()) { mNodes.remove (inNodeIndex) ; - const C_UIntSet targetSet = mEdges ((int32_t) inNodeIndex COMMA_HERE) ; + const UInt32Set targetSet = mEdges ((int32_t) inNodeIndex COMMA_HERE) ; TC_UniqueArray targetList ; targetSet.getValueArray (targetList) ; for (int32_t i=0 ; i & outNodes) const { +void DirectedGraph::getNodeBoolArray (TC_UniqueArray & outNodes) const { mNodes.getBoolValueArray (outNodes) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void C_DirectedGraph::getNodeValueArray (TC_UniqueArray & outNodes) const { +void DirectedGraph::getNodeValueArray (TC_UniqueArray & outNodes) const { mNodes.getValueArray (outNodes) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -bool C_DirectedGraph::isNodeDefined (const uint32_t inNodeIndex) const { +bool DirectedGraph::isNodeDefined (const uint32_t inNodeIndex) const { return mNodes.contains (inNodeIndex) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -uint32_t C_DirectedGraph::nodeCount (void) const { +uint32_t DirectedGraph::nodeCount (void) const { return mNodes.count () ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -uint32_t C_DirectedGraph::edgeCount (void) const { +uint32_t DirectedGraph::edgeCount (void) const { uint32_t result = 0 ; for (int32_t i=0 ; i & inNodeNameArray) const { - C_String s = "digraph G {\n" ; +String DirectedGraph::graphvizString (const TC_UniqueArray & inNodeNameArray) const { + String s = "digraph G {\n" ; for (int32_t i=0 ; i targetList ; targetSet.getValueArray (targetList) ; for (int32_t j=0 ; j " - << inNodeNameArray (int32_t (targetIndex) COMMA_HERE).utf8RepresentationEnclosedWithin ('"', false) - << " ;\n" ; + s.appendCString (" ") ; + s.appendString (inNodeNameArray (i COMMA_HERE).utf8RepresentationEnclosedWithin ('"', false)) ; + s.appendCString (" -> ") ; + s.appendString (inNodeNameArray (int32_t (targetIndex) COMMA_HERE).utf8RepresentationEnclosedWithin ('"', false)) ; + s.appendCString (" ;\n") ; } } } - s << "}\n" ; + s.appendCString ("}\n") ; return s ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS - 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 ()) ; + 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 ()) ; //--- 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 & inNo TC_UniqueArray sourceList ; mReverseEdges ((int32_t) i COMMA_HERE).getValueArray (sourceList) ; for (int32_t j=0 ; j & outEdges) const { +void 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 C_DirectedGraph::getEdges (TC_UniqueArray & outEdges) const { } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void C_DirectedGraph::getNodesWithNoPredecessor (TC_UniqueArray & outNodes) const { +void 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 C_DirectedGraph::getNodesWithNoPredecessor (TC_UniqueArray & out } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void C_DirectedGraph::getNodesWithNoSuccessor (TC_UniqueArray & outNodes) const { +void 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 C_DirectedGraph::getNodesWithNoSuccessor (TC_UniqueArray & outNo } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void C_DirectedGraph::getNodesInvolvedInCircularities (TC_UniqueArray & outNodes) const { +void DirectedGraph::getNodesInvolvedInCircularities (TC_UniqueArray & outNodes) const { outNodes.removeAllKeepingCapacity () ; //--- Get working copies TC_UniqueArray nodes ; getNodeBoolArray (nodes) ; @@ -264,13 +264,13 @@ void C_DirectedGraph::getNodesInvolvedInCircularities (TC_UniqueArray } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_DirectedGraph C_DirectedGraph::subGraphFromNodes (const C_UIntSet & inStartNodes, - const C_UIntSet & inNodesToExclude) const { +DirectedGraph DirectedGraph::subGraphFromNodes (const UInt32Set & inStartNodes, + const UInt32Set & inNodesToExclude) const { TC_UniqueArray nodeBoolArray ; mNodes.getBoolValueArray (nodeBoolArray) ; - C_DirectedGraph result ; - { C_UIntSet nodeSet = inStartNodes ; + DirectedGraph result ; + { UInt32Set nodeSet = inStartNodes ; nodeSet -= inNodesToExclude ; result.addNodes (nodeSet) ; } @@ -283,7 +283,7 @@ C_DirectedGraph C_DirectedGraph::subGraphFromNodes (const C_UIntSet & inStartNod if (nodeBoolArray ((int32_t) sourceNodeIndex COMMA_HERE)) { loop = true ; nodeBoolArray.setObjectAtIndex (false, (int32_t) sourceNodeIndex COMMA_HERE) ; - C_UIntSet s = mEdges ((int32_t) sourceNodeIndex COMMA_HERE) ; + UInt32Set 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 DirectedGraph::topologicalSort (TC_UniqueArray & outSortedNodes, TC_UniqueArray & outUnsortedNodes) const { outSortedNodes.removeAllKeepingCapacity () ; outUnsortedNodes.removeAllKeepingCapacity () ; @@ -382,9 +382,9 @@ void C_DirectedGraph::topologicalSort (TC_UniqueArray & outSortedNode } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void C_DirectedGraph::depthFirstTopologicalSort (TC_UniqueArray & outSortedNodes, +void DirectedGraph::depthFirstTopologicalSort (TC_UniqueArray & outSortedNodes, TC_UniqueArray & outUnsortedNodes) const { outSortedNodes.removeAllKeepingCapacity () ; outUnsortedNodes.removeAllKeepingCapacity () ; @@ -433,26 +433,26 @@ void C_DirectedGraph::depthFirstTopologicalSort (TC_UniqueArray & out } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // 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 C_DirectedGraph::getDominators (TC_UniqueArray & outDominators +void 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) ; - MF_AssertThere (startNodeArray.count () == 1, "startNodeArray.count () == %lld != 1", startNodeArray.count (), 0) ; + macroAssertThere (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 C_DirectedGraph::removeEdgesToDominator (LOCATION_ARGS) { - TC_UniqueArray dominators ; getDominators (dominators COMMA_THERE) ; +void 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: String graphvizString (const TC_UniqueArray & inNodeNameArray) const ; public: void getNodeBoolArray (TC_UniqueArray & outNodes) const ; @@ -75,7 +75,7 @@ class C_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 C_DirectedGraph final { public: void depthFirstTopologicalSort (TC_UniqueArray & outSortedNodes, TC_UniqueArray & outUnsortedNodes) const ; - public: C_DirectedGraph reversedGraph (void) const ; + public: DirectedGraph reversedGraph (void) const ; - public: C_DirectedGraph subGraphFromNodes (const C_UIntSet & inStartNodes, - const C_UIntSet & inNodesToExclude) const ; + public: DirectedGraph subGraphFromNodes (const UInt32Set & inStartNodes, + const UInt32Set & inNodesToExclude) const ; #ifndef DO_NOT_GENERATE_CHECKINGS protected: void checkGraph (LOCATION_ARGS) const ; #endif //--- Attributes - private: C_UIntSet mNodes ; - private: TC_Array mEdges ; - private: TC_Array mReverseEdges ; + private: UInt32Set mNodes ; + private: TC_Array mEdges ; + private: TC_Array mReverseEdges ; } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/utilities/F_DisplayException.cpp b/goil/build/libpm/utilities/F_DisplayException.cpp index 58235ba0d..6285266ab 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 "utilities/F_DisplayException.h" -#include "streams/C_ConsoleOut.h" -#include "streams/C_ErrorOut.h" +#include "F_DisplayException.h" +#include "C_ConsoleOut.h" +#include "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,24 +51,26 @@ } #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // 'F_default_display_exception' for UNIX // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #if COMPILE_FOR_WINDOWS == 0 void F_default_display_exception (const ::std:: exception & inException) { - co.flush () ; - ce << "\n*** Exception: " << inException.what () << " ***\n" ; + gCout.flush () ; + gCout.appendCString ("\n*** Exception: ") ; + gCout.appendCString (inException.what ()) ; + gCout.appendCString (" ***\n") ; } #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // 'F_default_display_unknown_exception' for WIN 32 // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #if COMPILE_FOR_WINDOWS == 1 void F_default_display_unknown_exception (void) { @@ -79,11 +81,11 @@ } #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // 'F_default_display_unknown_exception' for UNIX // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #if COMPILE_FOR_WINDOWS == 0 void F_default_display_unknown_exception (void) { @@ -92,4 +94,4 @@ } #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/utilities/F_DisplayException.h b/goil/build/libpm/utilities/F_DisplayException.h index e334550fd..7f09cfe16 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 "utilities/M_machine.h" +#include "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 37bd82277..9b9776a2b 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 "utilities/F_GetPrime.h" +#include "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 260d6ec0a..4ce57be75 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 "utilities/M_machine.h" +#include "M_machine.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Get a prime integer greater than argument // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- uint32_t getPrimeGreaterThan (const uint32_t inValue) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/utilities/MF_MemoryControl.cpp b/goil/build/libpm/utilities/MF_MemoryControl.cpp index 5045d4972..d17d29846 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 "utilities/M_machine.h" -#include "utilities/MF_MemoryControl.h" -#include "utilities/basic-allocation.h" +#include "M_machine.h" +#include "MF_MemoryControl.h" +#include "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 - co << "macroMyDeleteStructC -> " + gCout << "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 - co << "macroMyDelete -> " + gCout << "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 - co << "macroMyDeleteArray -> " + gCout << "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 { + class cPointerDescriptor final { 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,25 +627,34 @@ } #endif -//---------------------------------------------------------------------------------------------------------------------- -// -// Routine garantissant la nullite d'un pointeur -// -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// Routine garantissant la nullite d'un pointeur +//-------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS - void routineVoidPointer (const void * inPointer COMMA_LOCATION_ARGS) { + void routineCheckPointerIsNull (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) { @@ -659,7 +668,7 @@ } #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS static void recursiveDisplay (const cPointerDescriptor * inRoot) { @@ -684,7 +693,7 @@ } #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void displayAllocatedBlocksInfo (void) { #ifndef DO_NOT_GENERATE_CHECKINGS @@ -695,7 +704,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) { \ - macroVoidPointer (inPointer) ; \ + macroCheckPointerIsNull (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) { \ - macroVoidPointer (inPointer) ; \ + macroCheckPointerIsNull (inPointer) ; \ prologueForNew () ; \ inPointer = new type [size] ; \ registerArray (inPointer COMMA_HERE) ; \ } #else - #define macroMyNewPODArray(inPointer,type,size) { \ - inPointer = (type *) malloc ((size) * sizeof (type)) ; \ - } + #define macroMyNewArray(inPointer,type,size) { inPointer = new type [size] ; } #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS #define macroMyNewPODArray(inPointer,type,size) { \ - macroVoidPointer (inPointer) ; \ + macroCheckPointerIsNull (inPointer) ; \ inPointer = (type *) allocAndRegisterPODArray ((size) * sizeof (type) COMMA_HERE) ; \ } #else - #define macroMyReallocPODArray(inPointer,type,size) { \ - inPointer = (type *) realloc (inPointer, (size) * sizeof (type)) ; \ - } + #define macroMyNewPODArray(inPointer,type,size) { inPointer = (type *) malloc ((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 macroMyNewArray(inPointer,type,size) { \ - inPointer = new type [size] ; \ + #define macroMyReallocPODArray(inPointer,type,size) { \ + inPointer = (type *) realloc (inPointer, (size) * sizeof (type)) ; \ } #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS #define macroMyNewThere(inPointer,instanciation) { \ - macroVoidPointerThere (inPointer) ; \ + macroCheckPointerIsNullThere (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) { \ @@ -115,7 +109,7 @@ } #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS #define macroMyReallocPODArrayThere(inPointer,type,size) { \ @@ -127,11 +121,11 @@ } #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS #define macroMyNewArrayThere(inPointer,type,size) { \ - macroVoidPointerThere (inPointer) ; \ + macroCheckPointerIsNullThere (inPointer) ; \ prologueForNew () ; \ inPointer = new type [size] ; \ registerArray (inPointer COMMA_THERE) ; \ @@ -142,11 +136,11 @@ } #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // User macros for deallocation // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS #define macroMyDelete(inPointer) { \ @@ -159,7 +153,7 @@ } #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS #define macroMyDeletePODArray(inPointer) { \ @@ -171,7 +165,7 @@ } #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS #define macroMyDeleteArray(inPointer) { \ @@ -184,11 +178,11 @@ } #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Assertion macros for checking pointers // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS #define macroValidPointer(inPointer) routineValidPointer (inPointer COMMA_HERE) @@ -196,7 +190,7 @@ #define macroValidPointer(inPointer) #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS #define macroValidPointerThere(inPointer) routineValidPointer (inPointer COMMA_THERE) @@ -204,46 +198,63 @@ #define macroValidPointerThere(inPointer) #endif -//---------------------------------------------------------------------------------------------------------------------- -// -// Assertion for checking if a pointer is void -// -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// 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 +//-------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS - #define macroVoidPointer(inPointer) routineVoidPointer (inPointer COMMA_HERE) + #define macroCheckPointerIsNotNull(inPointer) routineCheckPointerIsNotNull (inPointer COMMA_HERE) #else - #define macroVoidPointer(inPointer) + #define macroCheckPointerIsNotNull(inPointer) #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS - #define macroVoidPointerThere(inPointer) routineVoidPointer (inPointer COMMA_THERE) + #define macroCheckPointerIsNotNullThere(inPointer) routineCheckPointerIsNotNull (inPointer COMMA_THERE) #else - #define macroVoidPointerThere(inPointer) + #define macroCheckPointerIsNotNullThere(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 routineVoidPointer (const void * inPointer COMMA_LOCATION_ARGS) ; + void routineCheckPointerIsNull (const void * inPointer COMMA_LOCATION_ARGS) ; + void routineCheckPointerIsNotNull (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) ; @@ -252,4 +263,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 2bf75076e..5fc7bee22 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 "utilities/M_machine.h" +#include "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 5f5c1f9dc..1e65d4b19 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 { + class utf32 final { 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/C_PrologueEpilogue.cpp b/goil/build/libpm/utilities/PrologueEpilogue.cpp similarity index 63% rename from goil/build/libpm/utilities/C_PrologueEpilogue.cpp rename to goil/build/libpm/utilities/PrologueEpilogue.cpp index 5af351d57..10380023d 100644 --- a/goil/build/libpm/utilities/C_PrologueEpilogue.cpp +++ b/goil/build/libpm/utilities/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 "utilities/C_PrologueEpilogue.h" +#include "PrologueEpilogue.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #include -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Prologue / Epilogue Action class // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static C_PrologueEpilogue * gPrologueEpilogueActionList = nullptr ; +static PrologueEpilogue * gPrologueEpilogueActionList = nullptr ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_PrologueEpilogue::C_PrologueEpilogue (void (* inPrologueAction) (void), +PrologueEpilogue::PrologueEpilogue (void (* inPrologueAction) (void), void (* inEpilogueAction) (void)) : -mNextObjectLink (gPrologueEpilogueActionList), +mNextObject (gPrologueEpilogueActionList), mPrologueAction (inPrologueAction), mEpilogueAction (inEpilogueAction) { gPrologueEpilogueActionList = this ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void C_PrologueEpilogue::runPrologueActions (void) { - const C_PrologueEpilogue * p = gPrologueEpilogueActionList ; +void PrologueEpilogue::runPrologueActions (void) { + const PrologueEpilogue * p = gPrologueEpilogueActionList ; while (p != nullptr) { if (p->mPrologueAction != nullptr) { p->mPrologueAction () ; } - p = p->mNextObjectLink ; + p = p->mNextObject ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void C_PrologueEpilogue::runEpilogueActions (void) { - const C_PrologueEpilogue * p = gPrologueEpilogueActionList ; +void PrologueEpilogue::runEpilogueActions (void) { + const PrologueEpilogue * p = gPrologueEpilogueActionList ; while (p != nullptr) { if (p->mEpilogueAction != nullptr) { p->mEpilogueAction () ; } - p = p->mNextObjectLink ; + p = p->mNextObject ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/utilities/C_PrologueEpilogue.h b/goil/build/libpm/utilities/PrologueEpilogue.h similarity index 67% rename from goil/build/libpm/utilities/C_PrologueEpilogue.h rename to goil/build/libpm/utilities/PrologueEpilogue.h index 8fc9191fe..f12b3e06c 100644 --- a/goil/build/libpm/utilities/C_PrologueEpilogue.h +++ b/goil/build/libpm/utilities/PrologueEpilogue.h @@ -1,4 +1,4 @@ -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // GALGAS prologue / epilogue handling class // @@ -16,32 +16,36 @@ // 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 C_PrologueEpilogue final { +class PrologueEpilogue final { //--- Constructor - public: C_PrologueEpilogue (void (* inPrologueAction) (void), - void (* inEpilogueAction) (void)) ; + public: PrologueEpilogue (void (* inPrologueAction) (void), + void (* inEpilogueAction) (void)) ; + //--- No copy - 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) ; + private: PrologueEpilogue (PrologueEpilogue &) = delete ; + private: PrologueEpilogue & operator = (PrologueEpilogue &) = delete ; + +//--- Private properties + private: const PrologueEpilogue * mNextObject ; + private: void (* mPrologueAction) (void) ; + private: 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/SHA256.cpp b/goil/build/libpm/utilities/SHA256.cpp new file mode 100644 index 000000000..43da787e9 --- /dev/null +++ b/goil/build/libpm/utilities/SHA256.cpp @@ -0,0 +1,163 @@ +//-------------------------------------------------------------------------------------------------- +// 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 new file mode 100644 index 000000000..8af58f307 --- /dev/null +++ b/goil/build/libpm/utilities/SHA256.h @@ -0,0 +1,55 @@ +//-------------------------------------------------------------------------------------------------- +// 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/C_SharedObject.cpp b/goil/build/libpm/utilities/SharedObject.cpp similarity index 59% rename from goil/build/libpm/utilities/C_SharedObject.cpp rename to goil/build/libpm/utilities/SharedObject.cpp index cdf117daf..a659af12a 100644 --- a/goil/build/libpm/utilities/C_SharedObject.cpp +++ b/goil/build/libpm/utilities/SharedObject.cpp @@ -1,6 +1,6 @@ -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -// C_SharedObject : Base class for GALGAS object handling +// 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 "utilities/C_SharedObject.h" -#include "utilities/MF_MemoryControl.h" -#include "streams/C_ConsoleOut.h" -#include "strings/C_String.h" +#include "SharedObject.h" +#include "MF_MemoryControl.h" +#include "C_ConsoleOut.h" +#include "String-class.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 C_SharedObject * gFirstObject ; - static C_SharedObject * gLastObject ; + static SharedObject * gFirstObject ; + static SharedObject * gLastObject ; #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_SharedObject::C_SharedObject (LOCATION_ARGS) : +SharedObject::SharedObject (LOCATION_ARGS) : #ifndef DO_NOT_GENERATE_CHECKINGS mObjectIndex (gCreationIndex), mCreationFile (IN_SOURCE_FILE), @@ -66,13 +66,13 @@ mRetainCount (1) { #endif } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_SharedObject::~ C_SharedObject (void) { +SharedObject::~ SharedObject (void) { //--- Remove object from instance list #ifndef DO_NOT_GENERATE_CHECKINGS - C_SharedObject * previousObject = mPtrToPreviousObject ; - C_SharedObject * nextObject = mPtrToNextObject ; + SharedObject * previousObject = mPtrToPreviousObject ; + SharedObject * nextObject = mPtrToNextObject ; if (previousObject == nullptr) { gFirstObject = nextObject ; }else{ @@ -88,21 +88,21 @@ C_SharedObject::~ C_SharedObject (void) { #endif } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void C_SharedObject::retain (const C_SharedObject * inObject COMMA_LOCATION_ARGS) { +void SharedObject::retain (const SharedObject * inObject COMMA_LOCATION_ARGS) { if (inObject != nullptr) { - macroValidSharedObjectThere (inObject, C_SharedObject) ; + macroValidSharedObjectThere (inObject, SharedObject) ; inObject->mRetainCount ++ ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void C_SharedObject::release (const C_SharedObject * inObject COMMA_LOCATION_ARGS) { +void SharedObject::release (const SharedObject * inObject COMMA_LOCATION_ARGS) { if (inObject != nullptr) { - macroValidSharedObjectThere (inObject, C_SharedObject) ; - MF_AssertThere (inObject->mRetainCount > 0, "mRetainCount should be > 0)", 0, 0) ; + macroValidSharedObjectThere (inObject, SharedObject) ; + macroAssertThere (inObject->mRetainCount > 0, "mRetainCount should be > 0)", 0, 0) ; inObject->mRetainCount -- ; if (inObject->mRetainCount == 0) { macroMyDelete (inObject) ; @@ -110,44 +110,44 @@ void C_SharedObject::release (const C_SharedObject * inObject COMMA_LOCATION_ARG } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void C_SharedObject::retainRelease (const C_SharedObject * inObjectToRetain, - const C_SharedObject * inObjectToRelease +void SharedObject::retainRelease (const SharedObject * inObjectToRetain, + const 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 C_SharedObject::checkAllObjectsHaveBeenReleased (void) { + void SharedObject::checkAllObjectsHaveBeenReleased (void) { if (gObjectCurrentCount != 0) { - co << "Warning: " - << cStringWithUnsigned (gObjectCurrentCount) - << " object" - << ((gObjectCurrentCount > 1) ? "s have" : " has") - << " not been released:\n"; - C_SharedObject * p = gFirstObject ; + 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 ; while (p != nullptr) { - co << "- object declared in '" - << p->mCreationFile - << "', line " - << cStringWithSigned (p->mCreationLine) - << " (retain count: " - << cStringWithSigned (p->mRetainCount) - << ")\n" ; + 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") ; p = p->mPtrToNextObject ; } } } #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/utilities/C_SharedObject.h b/goil/build/libpm/utilities/SharedObject.h similarity index 61% rename from goil/build/libpm/utilities/C_SharedObject.h rename to goil/build/libpm/utilities/SharedObject.h index ceb0f10b1..2e65dd14c 100644 --- a/goil/build/libpm/utilities/C_SharedObject.h +++ b/goil/build/libpm/utilities/SharedObject.h @@ -1,6 +1,6 @@ -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -// C_SharedObject : Base class for GALGAS object handling +// 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 "utilities/MF_Assert.h" -#include "utilities/MF_MemoryControl.h" +#include "macroAssert.h" +#include "MF_MemoryControl.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -class C_SharedObject { +class SharedObject { //--- Attributes for debug #ifndef DO_NOT_GENERATE_CHECKINGS //--- Object index @@ -36,8 +36,8 @@ class C_SharedObject { public: const char * const mCreationFile ; public: const int mCreationLine ; //--- Link between existing instances - private: C_SharedObject * mPtrToPreviousObject ; - private: C_SharedObject * mPtrToNextObject ; + private: SharedObject * mPtrToPreviousObject ; + private: SharedObject * mPtrToNextObject ; #endif @@ -46,23 +46,23 @@ class C_SharedObject { public: inline bool isUniquelyReferenced (void) const { return mRetainCount == 1 ; } - public: static void retain (const C_SharedObject * inObject COMMA_LOCATION_ARGS) ; + public: static void retain (const SharedObject * inObject COMMA_LOCATION_ARGS) ; - public: static void release (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 retainRelease (const C_SharedObject * inObjectToRetain, - const C_SharedObject * inObjectToRelease - COMMA_LOCATION_ARGS) ; - //--- Default Constructor - protected: C_SharedObject (LOCATION_ARGS) ; + protected: SharedObject (LOCATION_ARGS) ; //--- Virtual Destructor - protected: virtual ~ C_SharedObject (void) ; + protected: virtual ~ SharedObject (void) ; //--- No copy - private: C_SharedObject (const C_SharedObject &) ; - private: C_SharedObject & operator = (const C_SharedObject &) ; + private: SharedObject (const SharedObject &) = delete ; + private: SharedObject & operator = (const SharedObject &) = delete ; //------------------------------------------------------------- Handling Pointer checking #ifndef DO_NOT_GENERATE_CHECKINGS @@ -70,104 +70,100 @@ class C_SharedObject { #endif } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // macroValidSharedObject -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS #define macroValidSharedObject(OBJECT,TYPE) { \ macroValidPointer (OBJECT) ; \ - if (dynamic_cast (OBJECT) == nullptr) { \ - MF_RunTimeError ("'"#OBJECT"' is not an instance of '"#TYPE" *'", 0, 0) ; \ - } \ + macroAssert (dynamic_cast (OBJECT) != nullptr, "'"#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) ; \ - if (dynamic_cast (OBJECT) == nullptr) { \ - MF_RunTimeErrorThere ("'"#OBJECT"' is not an instance of '"#TYPE" *'", 0, 0) ; \ - } \ + macroAssertThere (dynamic_cast (OBJECT) != nullptr, "'"#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) ; \ - MF_Assert (dynamic_cast (OBJECT) != nullptr, "'"#OBJECT"' is not an instance of '"#TYPE" *'", 0, 0) ; \ + macroAssert (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) ; \ - MF_AssertThere (dynamic_cast (OBJECT) != nullptr, "'"#OBJECT"' is not an instance of '"#TYPE" *'", 0, 0) ; \ + macroAssertThere (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) \ - { C_SharedObject::retainRelease (SOURCE_PTR, TARGET_PTR COMMA_HERE) ; TARGET_PTR = SOURCE_PTR ; } + { SharedObject::retainRelease (SOURCE_PTR, TARGET_PTR COMMA_HERE) ; TARGET_PTR = SOURCE_PTR ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // macroAssignSharedObjectThere -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #define macroAssignSharedObjectThere(TARGET_PTR,SOURCE_PTR) \ - { C_SharedObject::retainRelease (SOURCE_PTR, TARGET_PTR COMMA_THERE) ; TARGET_PTR = SOURCE_PTR ; } + { SharedObject::retainRelease (SOURCE_PTR, TARGET_PTR COMMA_THERE) ; TARGET_PTR = SOURCE_PTR ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // macroDetachSharedObject -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #define macroDetachSharedObject(PTR) \ - { C_SharedObject::release (PTR COMMA_HERE) ; PTR = nullptr ; } + { SharedObject::release (PTR COMMA_HERE) ; PTR = nullptr ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // macroDetachSharedObjectThere -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #define macroDetachSharedObjectThere(PTR) \ - { C_SharedObject::release (PTR COMMA_THERE) ; PTR = nullptr ; } + { SharedObject::release (PTR COMMA_THERE) ; PTR = nullptr ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // macroUniqueSharedObject -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #define macroUniqueSharedObject(PTR) \ - { MF_Assert ((PTR)->isUniquelyReferenced (), "isUniquelyReferenced () is false", 0, 0) ; } + { macroAssert ((PTR)->isUniquelyReferenced (), "isUniquelyReferenced () is false", 0, 0) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // macroUniqueSharedObjectThere -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #define macroUniqueSharedObjectThere(PTR) \ - { MF_AssertThere ((PTR)->isUniquelyReferenced (), "isUniquelyReferenced () is false", 0, 0) ; } + { macroAssertThere ((PTR)->isUniquelyReferenced (), "isUniquelyReferenced () is false", 0, 0) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/utilities/TF_Swap.h b/goil/build/libpm/utilities/TF_Swap.h index 42cd1c9f9..bdc5a0a42 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/C_Data.cpp b/goil/build/libpm/utilities/U8Data.cpp similarity index 65% rename from goil/build/libpm/utilities/C_Data.cpp rename to goil/build/libpm/utilities/U8Data.cpp index ef938e6c2..10ebc15d2 100644 --- a/goil/build/libpm/utilities/C_Data.cpp +++ b/goil/build/libpm/utilities/U8Data.cpp @@ -1,6 +1,6 @@ -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -// C_Data : a class for handling arbitrary data array +// U8Data : a class for handling arbitrary data array // // This file is part of libpm library // @@ -16,72 +16,71 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -#include "utilities/C_Data.h" -#include "strings/unicode_character_base.h" +#include "U8Data.h" +#include "unicode_character_base.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #include -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_Data::C_Data (void) : +U8Data::U8Data (void) : mBinaryData () { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void C_Data::setDataFromPointer (uint8_t * & ioDataPtr, +void U8Data::setDataFromPointer (uint8_t * & ioDataPtr, const int32_t inDataLength) { mBinaryData.setDataFromPointer (ioDataPtr, inDataLength) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void C_Data::appendDataFromPointer (const uint8_t * inDataPtr, +void U8Data::appendDataFromPointer (const uint8_t * inDataPtr, const int32_t inDataLength) { mBinaryData.appendDataFromPointer (inDataPtr, inDataLength) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_Data::~C_Data (void) { +U8Data::~U8Data (void) { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void C_Data::setCapacity (const int32_t inNewCapacity) { +void U8Data::setCapacity (const int32_t inNewCapacity) { mBinaryData.setCapacity (inNewCapacity) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void C_Data::appendData (const C_Data & inData) { +void U8Data::appendData (const U8Data & inData) { for (int32_t i=0 ; i UNICODE_VALUE (UNICODE_MAX_LEGAL_UTF32_CHARACTER)) { codePoint = UNICODE_VALUE (UNICODE_REPLACEMENT_CHARACTER) ; @@ -103,28 +102,28 @@ void C_Data::appendUTF32Character (const utf32 inUnicodeChar) { } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void C_Data::removeAllKeepingCapacity (void) { +void U8Data::removeAllKeepingCapacity (void) { mBinaryData.removeAllKeepingCapacity () ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void C_Data::free (void) { +void U8Data::free (void) { mBinaryData.free () ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -uint8_t C_Data::operator () (const int32_t inIndex +uint8_t U8Data::operator () (const int32_t inIndex COMMA_LOCATION_ARGS) const { return mBinaryData (inIndex COMMA_THERE) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -int32_t C_Data::compareWithData (const C_Data & inData) const { +int32_t U8Data::compareWithData (const U8Data & inData) const { int32_t result = count () - inData.count () ; for (int32_t i=0 ; (ioperator () (i COMMA_HERE)) - ((int32_t) inData (i COMMA_HERE)) ; @@ -132,21 +131,21 @@ int32_t C_Data::compareWithData (const C_Data & inData) const { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void C_Data::removeLengthFromStart (const uint32_t inLength COMMA_LOCATION_ARGS) { +void U8Data::removeLengthFromStart (const uint32_t inLength COMMA_LOCATION_ARGS) { mBinaryData.removeObjectsAtIndex ((int32_t) inLength, 0 COMMA_THERE) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void C_Data::removeLastByte (LOCATION_ARGS) { +void U8Data::removeLastByte (LOCATION_ARGS) { mBinaryData.removeObjectsAtIndex (1, mBinaryData.count () - 1 COMMA_THERE) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -bool C_Data::operator == (const C_Data & inData) const { +bool U8Data::operator == (const U8Data & inData) const { bool equal = count () == inData.count () ; if (equal) { equal = ::memcmp (mBinaryData.unsafeArrayPointer(), inData.mBinaryData.unsafeArrayPointer(), (size_t) count ()) == 0 ; @@ -154,10 +153,10 @@ bool C_Data::operator == (const C_Data & inData) const { return equal ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -bool C_Data::operator != (const C_Data & inData) const { +bool U8Data::operator != (const U8Data & inData) const { return ! ((*this) == inData) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/utilities/C_Data.h b/goil/build/libpm/utilities/U8Data.h similarity index 74% rename from goil/build/libpm/utilities/C_Data.h rename to goil/build/libpm/utilities/U8Data.h index f5ee89de0..087bada1a 100644 --- a/goil/build/libpm/utilities/C_Data.h +++ b/goil/build/libpm/utilities/U8Data.h @@ -1,6 +1,6 @@ -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -// C_Data : a class for handling arbitrary data array +// U8Data : 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 "generic-arraies/TC_Array.h" +#include "TC_Array.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -class C_Data final { +class U8Data final { //--- Data private: TC_Array mBinaryData ; //--- Constructors - public: C_Data (void) ; + public: U8Data (void) ; //--- Destructor - public: ~C_Data (void) ; + public: ~U8Data (void) ; //--- Length public: inline int32_t count (void) const { return mBinaryData.count () ; } @@ -50,8 +50,8 @@ class C_Data final { public: void free (void) ; //--- Append data - public: void appendData (const C_Data & inData) ; - public: void appendString (const class C_String & inString) ; + public: void appendData (const U8Data & inData) ; + public: void appendString (const class String & inString) ; public: void appendUTF32Character (const utf32 inUnicodeChar) ; //--- @@ -68,7 +68,7 @@ class C_Data final { public: void appendByte (const uint8_t inByte) ; - public: int32_t compareWithData (const C_Data & inData) const ; + public: int32_t compareWithData (const U8Data & inData) const ; //--- public: void removeLengthFromStart (const uint32_t inLength COMMA_LOCATION_ARGS) ; @@ -77,8 +77,8 @@ class C_Data final { public: void removeLastByte (LOCATION_ARGS) ; //--- - public: bool operator == (const C_Data & inData) const ; - public: bool operator != (const C_Data & inData) const ; + public: bool operator == (const U8Data & inData) const ; + public: bool operator != (const U8Data & inData) const ; } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/utilities/C_UIntSet.cpp b/goil/build/libpm/utilities/UInt32Set.cpp similarity index 73% rename from goil/build/libpm/utilities/C_UIntSet.cpp rename to goil/build/libpm/utilities/UInt32Set.cpp index 77f8c621f..5774192d2 100644 --- a/goil/build/libpm/utilities/C_UIntSet.cpp +++ b/goil/build/libpm/utilities/UInt32Set.cpp @@ -1,6 +1,6 @@ -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -// C_UIntSet : algorithms on sets of uint32_t +// UInt32Set : 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 "C_UIntSet.h" +#include "UInt32Set.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_UIntSet::C_UIntSet (void) : +UInt32Set::UInt32Set (void) : mDefinition () { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_UIntSet::C_UIntSet (const uint32_t inValue) : +UInt32Set::UInt32Set (const uint32_t inValue) : mDefinition () { add (inValue) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void C_UIntSet::add (const uint32_t inNodeIndex) { +void UInt32Set::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 C_UIntSet::add (const uint32_t inNodeIndex) { #endif } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void C_UIntSet::remove (const uint32_t inNodeIndex) { +void UInt32Set::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 C_UIntSet::remove (const uint32_t inNodeIndex) { #endif } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void C_UIntSet::getBoolValueArray (TC_UniqueArray & outBoolValueArray) const { +void UInt32Set::getBoolValueArray (TC_UniqueArray & outBoolValueArray) const { outBoolValueArray.removeAllKeepingCapacity () ; for (int32_t i=0 ; i & outBoolValueArray) co } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void C_UIntSet::getValueArray (TC_UniqueArray & outValueArray) const { +void UInt32Set::getValueArray (TC_UniqueArray & outValueArray) const { outValueArray.removeAllKeepingCapacity () ; uint32_t idx = 0 ; for (int32_t i=0 ; i & outValueArray) const } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -bool C_UIntSet::contains (const uint32_t inNodeIndex) const { +bool UInt32Set::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 C_UIntSet::contains (const uint32_t inNodeIndex) const { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -uint32_t C_UIntSet::firstValueNotIsSet (void) const { +uint32_t UInt32Set::firstValueNotIsSet (void) const { uint32_t result = 0 ; if (mDefinition.count () > 0) { result = 64 * (((uint32_t) mDefinition.count ()) - 1) ; @@ -118,9 +118,9 @@ uint32_t C_UIntSet::firstValueNotIsSet (void) const { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -uint32_t C_UIntSet::count (void) const { +uint32_t UInt32Set::count (void) const { uint32_t result = 0 ; for (int32_t i=0 ; i inOther.mDefinition.count ()) { mDefinition.removeLastObject (HERE) ; } @@ -149,9 +149,9 @@ void C_UIntSet::operator &= (const C_UIntSet & inOther) { #endif } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void C_UIntSet::operator |= (const C_UIntSet & inOther) { +void UInt32Set::operator |= (const UInt32Set & inOther) { while (mDefinition.count () < inOther.mDefinition.count ()) { mDefinition.appendObject (0) ; } @@ -163,15 +163,15 @@ void C_UIntSet::operator |= (const C_UIntSet & inOther) { #endif } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- static inline int32_t minSInt32 (const int32_t inA, const int32_t inB) { return (inA < inB) ? inA : inB ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void C_UIntSet::operator -= (const C_UIntSet & inOther) { +void UInt32Set::operator -= (const UInt32Set & inOther) { const int32_t n = minSInt32 (mDefinition.count (), inOther.mDefinition.count ()) ; for (int32_t i=0 ; i 0) { - MF_Assert (mDefinition.lastObject (HERE) != 0, "last entry of C_UIntSet is 0", 0, 0) ; + macroAssert (mDefinition.lastObject (HERE) != 0, "last entry of UInt32Set is 0", 0, 0) ; } } #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/utilities/C_UIntSet.h b/goil/build/libpm/utilities/UInt32Set.h similarity index 70% rename from goil/build/libpm/utilities/C_UIntSet.h rename to goil/build/libpm/utilities/UInt32Set.h index 0084ac28f..437172f93 100644 --- a/goil/build/libpm/utilities/C_UIntSet.h +++ b/goil/build/libpm/utilities/UInt32Set.h @@ -1,6 +1,6 @@ -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -// C_UIntSet : algorithms on sets of uint32_t +// UInt32Set : 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 "generic-arraies/TC_Array.h" +#include "TC_Array.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -class C_UIntSet final { +class UInt32Set final { //--- Default constructor - public: C_UIntSet (void) ; + public: UInt32Set (void) ; //--- Singleton - public: C_UIntSet (const uint32_t inValue) ; + public: UInt32Set (const uint32_t inValue) ; //--- Methods public: void add (const uint32_t inNodeIndex) ; public: void remove (const uint32_t inNodeIndex) ; - 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: void operator -= (const UInt32Set & inOther) ; - public: bool operator == (const C_UIntSet & inOther) const ; + public: bool operator == (const UInt32Set & inOther) const ; - public: bool operator != (const C_UIntSet & inOther) const ; + public: bool operator != (const UInt32Set & inOther) const ; //--- Accessors public: void getBoolValueArray (TC_UniqueArray & outBoolValueArray) const ; @@ -72,4 +72,4 @@ class C_UIntSet final { #endif } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/utilities/basic-allocation.cpp b/goil/build/libpm/utilities/basic-allocation.cpp index ba7c0edf7..5dd9b65a2 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 "utilities/M_machine.h" -#include "utilities/basic-allocation.h" +#include "M_machine.h" +#include "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 ff86066ab..f275bc6b8 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 79190325b..0541c8e7c 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 "utilities/M_machine.h" -#include "utilities/MF_MemoryControl.h" -#include "utilities/cpp-allocation.h" -#include "utilities/basic-allocation.h" +#include "M_machine.h" +#include "MF_MemoryControl.h" +#include "cpp-allocation.h" +#include "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 e592ee4a7..9dff9188d 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 898eae83c..9d29c2b0c 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,20 +27,40 @@ //-------------------------------------------------------------------------------------------------- -#ifndef COMPILE_FOR_WINDOWS - #error COMPILE_FOR_WINDOWS is undefined -#endif +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 ; +} +//-------------------------------------------------------------------------------------------------- +// https://en.wikipedia.org/wiki/Linear_congruential_generator +// ANSI C linear congruential PRNG : gSeed = gSeed * 1103515245 + 12345 +// Newlib : gSeed = gSeed * 6364136223846793005 + 1 //-------------------------------------------------------------------------------------------------- -#if (COMPILE_FOR_WINDOWS == 1) || defined (__CYGWIN__) - int64_t galgas_random (void) { - return rand () ; - } -#else - int64_t galgas_random (void) { - return random () ; - } -#endif +uint32_t galgas_random (void) { + gSeed = multiplyIgnoringOverflow (gSeed, 6364136223846793005) ; + gSeed = addIgnoringOverflow (gSeed, 1) ; + return uint32_t (gSeed) ; // Period is 2**32 +} //-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/utilities/galgas-random.h b/goil/build/libpm/utilities/galgas-random.h index f7ba9f755..f723d65b4 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,16 +16,17 @@ // warranty of MERCHANDIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #pragma once -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #include -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -int64_t galgas_random (void) ; +void set_galgas_random_seed (const uint64_t inSeed) ; +uint32_t galgas_random (void) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/utilities/MF_Assert.cpp b/goil/build/libpm/utilities/macroAssert.cpp similarity index 75% rename from goil/build/libpm/utilities/MF_Assert.cpp rename to goil/build/libpm/utilities/macroAssert.cpp index 56e62f94f..e39262dd1 100644 --- a/goil/build/libpm/utilities/MF_Assert.cpp +++ b/goil/build/libpm/utilities/macroAssert.cpp @@ -1,10 +1,10 @@ -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -// Definition of 'MF_Assert' and related routines +// Definition of 'macroAssert' and related routines // // This file is part of libpm library // -// Copyright (C) 1997, ..., 2014 Pierre Molinaro. +// Copyright (C) 1997, ..., 2023 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 "utilities/MF_Assert.h" -#include "utilities/M_machine.h" +#include "macroAssert.h" +#include "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/MF_Assert.h b/goil/build/libpm/utilities/macroAssert.h similarity index 57% rename from goil/build/libpm/utilities/MF_Assert.h rename to goil/build/libpm/utilities/macroAssert.h index d690bf2c6..af28c9995 100644 --- a/goil/build/libpm/utilities/MF_Assert.h +++ b/goil/build/libpm/utilities/macroAssert.h @@ -1,10 +1,10 @@ -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -// Definition of 'MF_Assert' and related routine prototypes +// Definition of 'macroAssert' and related routine prototypes // // This file is part of libpm library // -// Copyright (C) 1997, ..., 2010 Pierre Molinaro. +// Copyright (C) 1997, ..., 2023 Pierre Molinaro. // // e-mail : pierre@pcmolinaro.name // @@ -16,47 +16,42 @@ // 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" -#include "utilities/M_SourceLocation.h" +#include "M_machine.h" +#include "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 'MF_Assert' definition +// Macro 'macroAssert' definition // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #ifndef DO_NOT_GENERATE_CHECKINGS - #define MF_Assert(exp,message,par1,par2) \ + #define macroAssert(exp,message,par1,par2) \ if (! (exp)) { \ runtime_error_routine (message, par1, par2 COMMA_HERE) ; \ } - #define MF_AssertThere(exp,message,par1,par2) \ + #define macroAssertThere(exp,message,par1,par2) \ if (! (exp)) { \ runtime_error_routine (message, par1, par2 COMMA_THERE) ; \ } #else - #define MF_Assert(exp,message,par1,par2) {} - #define MF_AssertThere(exp,message,par1,par2) {} + #define macroAssert(exp,message,par1,par2) {} + #define macroAssertThere(exp,message,par1,par2) {} #endif -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/utilities/md5.cpp b/goil/build/libpm/utilities/md5.cpp index 1d891cf98..27b79417d 100644 --- a/goil/build/libpm/utilities/md5.cpp +++ b/goil/build/libpm/utilities/md5.cpp @@ -34,254 +34,297 @@ * 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" +//------------------------------------------------------------------------------------------------- -/* - * 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))) +#include "md5.h" -/* - * 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); +//------------------------------------------------------------------------------------------------- -/* - * 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 +MD5pm::MD5pm (void) { +} -/* - * 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; +//------------------------------------------------------------------------------------------------- - ptr = (const unsigned char *)data; +void MD5pm::appendData (const void * inDataPtr, const size_t inByteCount) { + size_t currentByteCount = inByteCount ; + const uint8_t * currentDataPtr = (const uint8_t *) inDataPtr ; - a = ctx->a; - b = ctx->b; - c = ctx->c; - d = ctx->d; + uint32_t saved_lo = mLo; + if ((mLo = (saved_lo + currentByteCount) & 0x1fffffff) < saved_lo) { + mHi++ ; + } + mHi += uint32_t (currentByteCount >> 29) ; - do { - saved_a = a; - saved_b = b; - saved_c = c; - saved_d = d; + uint32_t used = saved_lo & 0x3f ; -/* 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 (used) { + uint32_t available = 64 - used ; -/* 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) + if (currentByteCount < available) { + memcpy (&mBuffer[used], currentDataPtr, currentByteCount); + return; + } -/* 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) + memcpy (&mBuffer[used], currentDataPtr, available); + currentDataPtr += available ; + currentByteCount -= available ; + body(mBuffer, 64); + } -/* 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; + if (currentByteCount >= 64) { + currentDataPtr = body (currentDataPtr, currentByteCount & ~(unsigned long)0x3f); + currentByteCount &= 0x3f; + } - ptr += 64; - } while (size -= 64); + memcpy(mBuffer, currentDataPtr, currentByteCount); +} - ctx->a = a; - ctx->b = b; - ctx->c = c; - ctx->d = d; +//------------------------------------------------------------------------------------------------- +// The basic MD5 functions +//------------------------------------------------------------------------------------------------- - return ptr; +static uint32_t F (const uint32_t x, const uint32_t y, const uint32_t z) { + return z ^ (x & (y ^ z)) ; } -void MD5_Init(MD5_CTX *ctx) -{ - ctx->a = 0x67452301; - ctx->b = 0xefcdab89; - ctx->c = 0x98badcfe; - ctx->d = 0x10325476; +//------------------------------------------------------------------------------------------------- - ctx->lo = 0; - ctx->hi = 0; +static uint32_t G (const uint32_t x, const uint32_t y, const uint32_t z) { + return y ^ (z & (x ^ y)) ; } -void MD5_Update(MD5_CTX *ctx, const void *data, unsigned long size) -{ - MD5_u32plus saved_lo; - unsigned long used, available; +//------------------------------------------------------------------------------------------------- - saved_lo = ctx->lo; - if ((ctx->lo = (saved_lo + size) & 0x1fffffff) < saved_lo) - ctx->hi++; - ctx->hi += MD5_u32plus (size >> 29) ; +static uint32_t H (const uint32_t x, const uint32_t y, const uint32_t z) { + return x ^ y ^ z ; +} - used = saved_lo & 0x3f; +//------------------------------------------------------------------------------------------------- - if (used) { - available = 64 - used; +static uint32_t I (const uint32_t x, const uint32_t y, const uint32_t z) { + return y ^ (x | ~z) ; +} - if (size < available) { - memcpy(&ctx->buffer[used], data, size); - return; - } +//------------------------------------------------------------------------------------------------- - memcpy(&ctx->buffer[used], data, available); - data = (const unsigned char *)data + available; - size -= available; - body(ctx, ctx->buffer, 64); - } +static uint32_t addU32IgnoringOverflow (const uint32_t inA, const uint32_t inB) { + uint32_t r ; + __builtin_add_overflow (inA, inB, &r) ; + return r ; +} - if (size >= 64) { - data = body(ctx, data, size & ~(unsigned long)0x3f); - size &= 0x3f; - } +//------------------------------------------------------------------------------------------------- + +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, data, size); +//------------------------------------------------------------------------------------------------- +// 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) ; } -#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); +//------------------------------------------------------------------------------------------------- + +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) ; +} + +//------------------------------------------------------------------------------------------------- +// 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) ; -void MD5_Final(unsigned char *result, MD5_CTX *ctx) -{ - unsigned long used, available; +/* 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) ; - used = ctx->lo & 0x3f; +/* 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) ; - ctx->buffer[used++] = 0x80; +/* 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) ; - available = 64 - used; + 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; if (available < 8) { - memset(&ctx->buffer[used], 0, available); - body(ctx, ctx->buffer, 64); + memset(&temporary.mBuffer[used], 0, available); + temporary.body (temporary.mBuffer, 64); used = 0; available = 64; } - memset(&ctx->buffer[used], 0, available - 8); + memset (&temporary.mBuffer[used], 0, available - 8); - ctx->lo <<= 3; - OUT_MD5(&ctx->buffer[56], ctx->lo) - OUT_MD5(&ctx->buffer[60], ctx->hi) + 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) ; - body(ctx, ctx->buffer, 64); + temporary.body (temporary.mBuffer, 64); + + const MD5Digest result (temporary.mA, temporary.mB, temporary.mC, temporary.mD) ; + return result ; +} - OUT_MD5(&result[0], ctx->a) - OUT_MD5(&result[4], ctx->b) - OUT_MD5(&result[8], ctx->c) - OUT_MD5(&result[12], ctx->d) +//------------------------------------------------------------------------------------------------- - memset(ctx, 0, sizeof(*ctx)); +MD5Digest::MD5Digest (void) { } + +//------------------------------------------------------------------------------------------------- + +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 d7bf6a074..f1da09a1a 100644 --- a/goil/build/libpm/utilities/md5.h +++ b/goil/build/libpm/utilities/md5.h @@ -22,21 +22,53 @@ * * 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; +//------------------------------------------------------------------------------------------------- -typedef struct { - MD5_u32plus lo, hi; - MD5_u32plus a, b, c, d; - unsigned char buffer[64]; - MD5_u32plus block[16]; -} MD5_CTX; +#include +#include -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); +//------------------------------------------------------------------------------------------------- -//#endif +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] ; +} ; + +//------------------------------------------------------------------------------------------------- diff --git a/goil/build/libpm/utilities/switch-fallthrough.h b/goil/build/libpm/utilities/switch-fallthrough.h index bd3bf1e06..82fd0b3fd 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 cf4f21c1a..e24d0302f 100644 --- a/goil/build/output/all-declarations-0.cpp +++ b/goil/build/output/all-declarations-0.cpp @@ -1,22 +1,496 @@ -#include "galgas2/C_Compiler.h" -#include "galgas2/C_galgas_io.h" -#include "galgas2/C_galgas_CLI_Options.h" -#include "utilities/C_PrologueEpilogue.h" +#include "Compiler.h" +#include "C_galgas_io.h" +#include "C_galgas_CLI_Options.h" +#include "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 ; -//--- Constructors +//--- Class functions public: cCollectionElement_gtlDataList (const GALGAS_gtlData & in_data COMMA_LOCATION_ARGS) ; public: cCollectionElement_gtlDataList (const GALGAS_gtlDataList_2D_element & inElement COMMA_LOCATION_ARGS) ; @@ -31,10 +505,10 @@ class cCollectionElement_gtlDataList : public cCollectionElement { public: virtual cCollectionElement * copy (void) ; //--- Description - public: virtual void description (C_String & ioString, const int32_t inIndentation) const ; + public: virtual void description (String & ioString, const int32_t inIndentation) const ; } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cCollectionElement_gtlDataList::cCollectionElement_gtlDataList (const GALGAS_gtlData & in_data COMMA_LOCATION_ARGS) : @@ -42,20 +516,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 ; @@ -63,16 +537,16 @@ cCollectionElement * cCollectionElement_gtlDataList::copy (void) { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void cCollectionElement_gtlDataList::description (C_String & ioString, const int32_t inIndentation) const { - ioString << "\n" ; - ioString.writeStringMultiple ("| ", inIndentation) ; - ioString << "data" ":" ; +void cCollectionElement_gtlDataList::description (String & ioString, const int32_t inIndentation) const { + ioString.appendNewLine () ; + ioString.appendStringMultiple ("| ", inIndentation) ; + ioString.appendCString ("data" ":") ; mObject.mProperty_data.description (ioString, inIndentation) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult cCollectionElement_gtlDataList::compare (const cCollectionElement * inOperand) const { cCollectionElement_gtlDataList * operand = (cCollectionElement_gtlDataList *) inOperand ; @@ -80,28 +554,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::constructor_emptyList (UNUSED_LOCATION_ARGS) { - return GALGAS_gtlDataList (capCollectionElementArray ()) ; +GALGAS_gtlDataList GALGAS_gtlDataList::class_func_emptyList (UNUSED_LOCATION_ARGS) { + return GALGAS_gtlDataList (capCollectionElementArray ()) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_gtlDataList GALGAS_gtlDataList::constructor_listWithValue (const GALGAS_gtlData & inOperand0 - COMMA_LOCATION_ARGS) { +GALGAS_gtlDataList GALGAS_gtlDataList::class_func_listWithValue (const GALGAS_gtlData & inOperand0 + COMMA_LOCATION_ARGS) { GALGAS_gtlDataList result ; if (inOperand0.isValid ()) { result = GALGAS_gtlDataList (capCollectionElementArray ()) ; @@ -112,7 +586,7 @@ GALGAS_gtlDataList GALGAS_gtlDataList::constructor_listWithValue (const GALGAS_g return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlDataList::makeAttributesFromObjects (capCollectionElement & outAttributes, const GALGAS_gtlData & in_data @@ -123,7 +597,7 @@ void GALGAS_gtlDataList::makeAttributesFromObjects (capCollectionElement & outAt macroDetachSharedObject (p) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlDataList::addAssign_operation (const GALGAS_gtlData & inOperand0 COMMA_LOCATION_ARGS) { @@ -137,10 +611,10 @@ void GALGAS_gtlDataList::addAssign_operation (const GALGAS_gtlData & inOperand0 } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlDataList::setter_append (const GALGAS_gtlData inOperand0, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_LOCATION_ARGS) { if (isValid ()) { cCollectionElement * p = nullptr ; @@ -152,11 +626,11 @@ void GALGAS_gtlDataList::setter_append (const GALGAS_gtlData inOperand0, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlDataList::setter_insertAtIndex (const GALGAS_gtlData inOperand0, const GALGAS_uint inInsertionIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inInsertionIndex.isValid () && inOperand0.isValid ()) { @@ -172,11 +646,11 @@ void GALGAS_gtlDataList::setter_insertAtIndex (const GALGAS_gtlData inOperand0, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlDataList::setter_removeAtIndex (GALGAS_gtlData & outOperand0, const GALGAS_uint inRemoveIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inRemoveIndex.isValid ()) { @@ -199,10 +673,10 @@ void GALGAS_gtlDataList::setter_removeAtIndex (GALGAS_gtlData & outOperand0, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlDataList::setter_popFirst (GALGAS_gtlData & outOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeFirstObject (attributes, inCompiler COMMA_THERE) ; @@ -215,10 +689,10 @@ void GALGAS_gtlDataList::setter_popFirst (GALGAS_gtlData & outOperand0, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlDataList::setter_popLast (GALGAS_gtlData & outOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeLastObject (attributes, inCompiler COMMA_THERE) ; @@ -231,10 +705,10 @@ void GALGAS_gtlDataList::setter_popLast (GALGAS_gtlData & outOperand0, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlDataList::method_first (GALGAS_gtlData & outOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readFirst (attributes, inCompiler COMMA_THERE) ; @@ -247,10 +721,10 @@ void GALGAS_gtlDataList::method_first (GALGAS_gtlData & outOperand0, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlDataList::method_last (GALGAS_gtlData & outOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readLast (attributes, inCompiler COMMA_THERE) ; @@ -263,10 +737,10 @@ void GALGAS_gtlDataList::method_last (GALGAS_gtlData & outOperand0, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlDataList GALGAS_gtlDataList::add_operation (const GALGAS_gtlDataList & inOperand, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_gtlDataList result ; if (isValid () && inOperand.isValid ()) { @@ -276,49 +750,49 @@ GALGAS_gtlDataList GALGAS_gtlDataList::add_operation (const GALGAS_gtlDataList & return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlDataList GALGAS_gtlDataList::getter_subListWithRange (const GALGAS_range & inRange, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_gtlDataList result = GALGAS_gtlDataList::constructor_emptyList (THERE) ; + GALGAS_gtlDataList result = GALGAS_gtlDataList::class_func_emptyList (THERE) ; subListWithRange (result, inRange, inCompiler COMMA_THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlDataList GALGAS_gtlDataList::getter_subListFromIndex (const GALGAS_uint & inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_gtlDataList result = GALGAS_gtlDataList::constructor_emptyList (THERE) ; + GALGAS_gtlDataList result = GALGAS_gtlDataList::class_func_emptyList (THERE) ; subListFromIndex (result, inIndex, inCompiler COMMA_THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlDataList GALGAS_gtlDataList::getter_subListToIndex (const GALGAS_uint & inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_gtlDataList result = GALGAS_gtlDataList::constructor_emptyList (THERE) ; + GALGAS_gtlDataList result = GALGAS_gtlDataList::class_func_emptyList (THERE) ; subListToIndex (result, inIndex, inCompiler COMMA_THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlDataList::plusAssign_operation (const GALGAS_gtlDataList inOperand, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) { appendList (inOperand) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlDataList::setter_setDataAtIndex (GALGAS_gtlData inOperand, GALGAS_uint inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement_gtlDataList * p = (cCollectionElement_gtlDataList *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; if (nullptr != p) { @@ -328,10 +802,10 @@ void GALGAS_gtlDataList::setter_setDataAtIndex (GALGAS_gtlData inOperand, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlData GALGAS_gtlDataList::getter_dataAtIndex (const GALGAS_uint & inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes = readObjectAtIndex (inIndex, inCompiler COMMA_THERE) ; cCollectionElement_gtlDataList * p = (cCollectionElement_gtlDataList *) attributes.ptr () ; @@ -345,7 +819,7 @@ GALGAS_gtlData GALGAS_gtlDataList::getter_dataAtIndex (const GALGAS_uint & inInd -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cEnumerator_gtlDataList::cEnumerator_gtlDataList (const GALGAS_gtlDataList & inEnumeratedObject, const typeEnumerationOrder inOrder) : @@ -353,7 +827,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) ; @@ -362,7 +836,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) ; @@ -373,23 +847,22 @@ 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 ; @@ -399,10 +872,10 @@ AC_GALGAS_root * GALGAS_gtlDataList::clonedObject (void) const { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlDataList GALGAS_gtlDataList::extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlDataList result ; const GALGAS_gtlDataList * p = (const GALGAS_gtlDataList *) inObject.embeddedObject () ; @@ -416,15 +889,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { GALGAS_string result_result ; // Returned variable enumGalgasBool test_0 = kBoolTrue ; @@ -457,7 +930,7 @@ GALGAS_string extensionGetter_stringByAppendingPath (const GALGAS_string & inObj -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cMapElement_gtlVarMap::cMapElement_gtlVarMap (const GALGAS_lstring & inKey, const GALGAS_gtlData & in_value @@ -466,13 +939,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 ; @@ -480,16 +953,16 @@ cMapElement * cMapElement_gtlVarMap::copy (void) { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void cMapElement_gtlVarMap::description (C_String & ioString, const int32_t inIndentation) const { - ioString << "\n" ; - ioString.writeStringMultiple ("| ", inIndentation) ; - ioString << "value" ":" ; +void cMapElement_gtlVarMap::description (String & ioString, const int32_t inIndentation) const { + ioString.appendNewLine () ; + ioString.appendStringMultiple ("| ", inIndentation) ; + ioString.appendCString ("value" ":") ; mProperty_value.description (ioString, inIndentation) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult cMapElement_gtlVarMap::compare (const cCollectionElement * inOperand) const { cMapElement_gtlVarMap * operand = (cMapElement_gtlVarMap *) inOperand ; @@ -500,56 +973,56 @@ typeComparisonResult cMapElement_gtlVarMap::compare (const cCollectionElement * return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlVarMap::GALGAS_gtlVarMap (void) : -AC_GALGAS_map (true) { +AC_GALGAS_map () { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- 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::constructor_emptyMap (LOCATION_ARGS) { +GALGAS_gtlVarMap GALGAS_gtlVarMap::class_func_emptyMap (LOCATION_ARGS) { GALGAS_gtlVarMap result ; result.makeNewEmptyMap (THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_gtlVarMap GALGAS_gtlVarMap::constructor_mapWithMapToOverride (const GALGAS_gtlVarMap & inMapToOverride - COMMA_LOCATION_ARGS) { +GALGAS_gtlVarMap GALGAS_gtlVarMap::class_func_mapWithMapToOverride (const GALGAS_gtlVarMap & inMapToOverride + COMMA_LOCATION_ARGS) { GALGAS_gtlVarMap result ; result.makeNewEmptyMapWithMapToOverride (inMapToOverride COMMA_THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_gtlVarMap GALGAS_gtlVarMap::getter_overriddenMap (C_Compiler * inCompiler +GALGAS_gtlVarMap GALGAS_gtlVarMap::getter_overriddenMap (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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { cMapElement_gtlVarMap * p = nullptr ; macroMyNew (p, cMapElement_gtlVarMap (inKey, inArgument0 COMMA_HERE)) ; @@ -561,10 +1034,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_gtlVarMap result = *this ; cEnumerator_gtlVarMap enumerator (inOperand, kENUMERATION_UP) ; @@ -575,11 +1048,11 @@ GALGAS_gtlVarMap GALGAS_gtlVarMap::add_operation (const GALGAS_gtlVarMap & inOpe return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlVarMap::setter_put (GALGAS_lstring inKey, GALGAS_gtlData inArgument0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { cMapElement_gtlVarMap * p = nullptr ; macroMyNew (p, cMapElement_gtlVarMap (inKey, inArgument0 COMMA_HERE)) ; @@ -591,15 +1064,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { const cMapElement_gtlVarMap * p = (const cMapElement_gtlVarMap *) performSearch (inKey, inCompiler, @@ -613,15 +1086,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { const cMapElement_gtlVarMap * p = (const cMapElement_gtlVarMap *) performSearch (inKey, inCompiler, @@ -635,11 +1108,11 @@ void GALGAS_gtlVarMap::method_getResult (GALGAS_lstring inKey, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlVarMap::setter_del (GALGAS_lstring inKey, GALGAS_gtlData & outArgument0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { const char * kRemoveErrorMessage = "there is no variable or field named '%K' to delete" ; capCollectionElement attributes ; @@ -653,10 +1126,10 @@ void GALGAS_gtlVarMap::setter_del (GALGAS_lstring inKey, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlData GALGAS_gtlVarMap::getter_valueForKey (const GALGAS_string & inKey, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { const cCollectionElement * attributes = searchForReadingAttribute (inKey, inCompiler COMMA_THERE) ; const cMapElement_gtlVarMap * p = (const cMapElement_gtlVarMap *) attributes ; @@ -668,11 +1141,11 @@ GALGAS_gtlData GALGAS_gtlVarMap::getter_valueForKey (const GALGAS_string & inKey return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlVarMap::setter_setValueForKey (GALGAS_gtlData inAttributeValue, GALGAS_string inKey, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement * attributes = searchForReadWriteAttribute (inKey, true, inCompiler COMMA_THERE) ; cMapElement_gtlVarMap * p = (cMapElement_gtlVarMap *) attributes ; @@ -682,9 +1155,9 @@ void GALGAS_gtlVarMap::setter_setValueForKey (GALGAS_gtlData inAttributeValue, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -cMapElement_gtlVarMap * GALGAS_gtlVarMap::readWriteAccessForWithInstruction (C_Compiler * inCompiler, +cMapElement_gtlVarMap * GALGAS_gtlVarMap::readWriteAccessForWithInstruction (Compiler * inCompiler, const GALGAS_string & inKey COMMA_LOCATION_ARGS) { cMapElement_gtlVarMap * result = (cMapElement_gtlVarMap *) searchForReadWriteAttribute (inKey, false, inCompiler COMMA_THERE) ; @@ -692,7 +1165,7 @@ cMapElement_gtlVarMap * GALGAS_gtlVarMap::readWriteAccessForWithInstruction (C_C return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cEnumerator_gtlVarMap::cEnumerator_gtlVarMap (const GALGAS_gtlVarMap & inEnumeratedObject, const typeEnumerationOrder inOrder) : @@ -700,7 +1173,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) ; @@ -708,7 +1181,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) ; @@ -716,7 +1189,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) ; @@ -724,7 +1197,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 { @@ -739,23 +1212,22 @@ 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 ; @@ -765,10 +1237,10 @@ AC_GALGAS_root * GALGAS_gtlVarMap::clonedObject (void) const { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlVarMap GALGAS_gtlVarMap::extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlVarMap result ; const GALGAS_gtlVarMap * p = (const GALGAS_gtlVarMap *) inObject.embeddedObject () ; @@ -782,16 +1254,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { enumGalgasBool test_0 = kBoolTrue ; if (kBoolTrue == test_0) { @@ -811,17 +1283,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { enumGalgasBool test_0 = kBoolTrue ; if (kBoolTrue == test_0) { @@ -840,7 +1312,7 @@ void extensionSetter_replaceOrCreateAtLevel (GALGAS_gtlVarMap & ioObject, } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cMapElement_gtlExpressionMap::cMapElement_gtlExpressionMap (const GALGAS_lstring & inKey, const GALGAS_gtlExpression & in_expression @@ -849,13 +1321,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 ; @@ -863,16 +1335,16 @@ cMapElement * cMapElement_gtlExpressionMap::copy (void) { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void cMapElement_gtlExpressionMap::description (C_String & ioString, const int32_t inIndentation) const { - ioString << "\n" ; - ioString.writeStringMultiple ("| ", inIndentation) ; - ioString << "expression" ":" ; +void cMapElement_gtlExpressionMap::description (String & ioString, const int32_t inIndentation) const { + ioString.appendNewLine () ; + ioString.appendStringMultiple ("| ", inIndentation) ; + ioString.appendCString ("expression" ":") ; mProperty_expression.description (ioString, inIndentation) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult cMapElement_gtlExpressionMap::compare (const cCollectionElement * inOperand) const { cMapElement_gtlExpressionMap * operand = (cMapElement_gtlExpressionMap *) inOperand ; @@ -883,56 +1355,56 @@ typeComparisonResult cMapElement_gtlExpressionMap::compare (const cCollectionEle return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlExpressionMap::GALGAS_gtlExpressionMap (void) : -AC_GALGAS_map (true) { +AC_GALGAS_map () { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- 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::constructor_emptyMap (LOCATION_ARGS) { +GALGAS_gtlExpressionMap GALGAS_gtlExpressionMap::class_func_emptyMap (LOCATION_ARGS) { GALGAS_gtlExpressionMap result ; result.makeNewEmptyMap (THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_gtlExpressionMap GALGAS_gtlExpressionMap::constructor_mapWithMapToOverride (const GALGAS_gtlExpressionMap & inMapToOverride - COMMA_LOCATION_ARGS) { +GALGAS_gtlExpressionMap GALGAS_gtlExpressionMap::class_func_mapWithMapToOverride (const GALGAS_gtlExpressionMap & inMapToOverride + COMMA_LOCATION_ARGS) { GALGAS_gtlExpressionMap result ; result.makeNewEmptyMapWithMapToOverride (inMapToOverride COMMA_THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_gtlExpressionMap GALGAS_gtlExpressionMap::getter_overriddenMap (C_Compiler * inCompiler +GALGAS_gtlExpressionMap GALGAS_gtlExpressionMap::getter_overriddenMap (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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { cMapElement_gtlExpressionMap * p = nullptr ; macroMyNew (p, cMapElement_gtlExpressionMap (inKey, inArgument0 COMMA_HERE)) ; @@ -944,10 +1416,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_gtlExpressionMap result = *this ; cEnumerator_gtlExpressionMap enumerator (inOperand, kENUMERATION_UP) ; @@ -958,11 +1430,11 @@ GALGAS_gtlExpressionMap GALGAS_gtlExpressionMap::add_operation (const GALGAS_gtl return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlExpressionMap::setter_put (GALGAS_lstring inKey, GALGAS_gtlExpression inArgument0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { cMapElement_gtlExpressionMap * p = nullptr ; macroMyNew (p, cMapElement_gtlExpressionMap (inKey, inArgument0 COMMA_HERE)) ; @@ -974,15 +1446,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { const cMapElement_gtlExpressionMap * p = (const cMapElement_gtlExpressionMap *) performSearch (inKey, inCompiler, @@ -996,11 +1468,11 @@ void GALGAS_gtlExpressionMap::method_get (GALGAS_lstring inKey, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlExpressionMap::setter_del (GALGAS_lstring inKey, GALGAS_gtlExpression & outArgument0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { const char * kRemoveErrorMessage = "there is no field named '%K' to delete" ; capCollectionElement attributes ; @@ -1014,10 +1486,10 @@ void GALGAS_gtlExpressionMap::setter_del (GALGAS_lstring inKey, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlExpression GALGAS_gtlExpressionMap::getter_expressionForKey (const GALGAS_string & inKey, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { const cCollectionElement * attributes = searchForReadingAttribute (inKey, inCompiler COMMA_THERE) ; const cMapElement_gtlExpressionMap * p = (const cMapElement_gtlExpressionMap *) attributes ; @@ -1029,11 +1501,11 @@ GALGAS_gtlExpression GALGAS_gtlExpressionMap::getter_expressionForKey (const GAL return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlExpressionMap::setter_setExpressionForKey (GALGAS_gtlExpression inAttributeValue, GALGAS_string inKey, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement * attributes = searchForReadWriteAttribute (inKey, true, inCompiler COMMA_THERE) ; cMapElement_gtlExpressionMap * p = (cMapElement_gtlExpressionMap *) attributes ; @@ -1043,9 +1515,9 @@ void GALGAS_gtlExpressionMap::setter_setExpressionForKey (GALGAS_gtlExpression i } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -cMapElement_gtlExpressionMap * GALGAS_gtlExpressionMap::readWriteAccessForWithInstruction (C_Compiler * inCompiler, +cMapElement_gtlExpressionMap * GALGAS_gtlExpressionMap::readWriteAccessForWithInstruction (Compiler * inCompiler, const GALGAS_string & inKey COMMA_LOCATION_ARGS) { cMapElement_gtlExpressionMap * result = (cMapElement_gtlExpressionMap *) searchForReadWriteAttribute (inKey, false, inCompiler COMMA_THERE) ; @@ -1053,7 +1525,7 @@ cMapElement_gtlExpressionMap * GALGAS_gtlExpressionMap::readWriteAccessForWithIn return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cEnumerator_gtlExpressionMap::cEnumerator_gtlExpressionMap (const GALGAS_gtlExpressionMap & inEnumeratedObject, const typeEnumerationOrder inOrder) : @@ -1061,7 +1533,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) ; @@ -1069,7 +1541,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) ; @@ -1077,7 +1549,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) ; @@ -1085,7 +1557,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 { @@ -1100,23 +1572,22 @@ 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 ; @@ -1126,10 +1597,10 @@ AC_GALGAS_root * GALGAS_gtlExpressionMap::clonedObject (void) const { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlExpressionMap GALGAS_gtlExpressionMap::extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlExpressionMap result ; const GALGAS_gtlExpressionMap * p = (const GALGAS_gtlExpressionMap *) inObject.embeddedObject () ; @@ -1143,16 +1614,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 ; -//--- Constructors +//--- Class functions public: cCollectionElement_gtlInstructionList (const GALGAS_gtlInstruction & in_instruction COMMA_LOCATION_ARGS) ; public: cCollectionElement_gtlInstructionList (const GALGAS_gtlInstructionList_2D_element & inElement COMMA_LOCATION_ARGS) ; @@ -1167,10 +1638,10 @@ class cCollectionElement_gtlInstructionList : public cCollectionElement { public: virtual cCollectionElement * copy (void) ; //--- Description - public: virtual void description (C_String & ioString, const int32_t inIndentation) const ; + public: virtual void description (String & ioString, const int32_t inIndentation) const ; } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cCollectionElement_gtlInstructionList::cCollectionElement_gtlInstructionList (const GALGAS_gtlInstruction & in_instruction COMMA_LOCATION_ARGS) : @@ -1178,20 +1649,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 ; @@ -1199,16 +1670,16 @@ cCollectionElement * cCollectionElement_gtlInstructionList::copy (void) { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void cCollectionElement_gtlInstructionList::description (C_String & ioString, const int32_t inIndentation) const { - ioString << "\n" ; - ioString.writeStringMultiple ("| ", inIndentation) ; - ioString << "instruction" ":" ; +void cCollectionElement_gtlInstructionList::description (String & ioString, const int32_t inIndentation) const { + ioString.appendNewLine () ; + ioString.appendStringMultiple ("| ", inIndentation) ; + ioString.appendCString ("instruction" ":") ; mObject.mProperty_instruction.description (ioString, inIndentation) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult cCollectionElement_gtlInstructionList::compare (const cCollectionElement * inOperand) const { cCollectionElement_gtlInstructionList * operand = (cCollectionElement_gtlInstructionList *) inOperand ; @@ -1216,28 +1687,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::constructor_emptyList (UNUSED_LOCATION_ARGS) { - return GALGAS_gtlInstructionList (capCollectionElementArray ()) ; +GALGAS_gtlInstructionList GALGAS_gtlInstructionList::class_func_emptyList (UNUSED_LOCATION_ARGS) { + return GALGAS_gtlInstructionList (capCollectionElementArray ()) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_gtlInstructionList GALGAS_gtlInstructionList::constructor_listWithValue (const GALGAS_gtlInstruction & inOperand0 - COMMA_LOCATION_ARGS) { +GALGAS_gtlInstructionList GALGAS_gtlInstructionList::class_func_listWithValue (const GALGAS_gtlInstruction & inOperand0 + COMMA_LOCATION_ARGS) { GALGAS_gtlInstructionList result ; if (inOperand0.isValid ()) { result = GALGAS_gtlInstructionList (capCollectionElementArray ()) ; @@ -1248,7 +1719,7 @@ GALGAS_gtlInstructionList GALGAS_gtlInstructionList::constructor_listWithValue ( return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlInstructionList::makeAttributesFromObjects (capCollectionElement & outAttributes, const GALGAS_gtlInstruction & in_instruction @@ -1259,7 +1730,7 @@ void GALGAS_gtlInstructionList::makeAttributesFromObjects (capCollectionElement macroDetachSharedObject (p) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlInstructionList::addAssign_operation (const GALGAS_gtlInstruction & inOperand0 COMMA_LOCATION_ARGS) { @@ -1273,10 +1744,10 @@ void GALGAS_gtlInstructionList::addAssign_operation (const GALGAS_gtlInstruction } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlInstructionList::setter_append (const GALGAS_gtlInstruction inOperand0, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_LOCATION_ARGS) { if (isValid ()) { cCollectionElement * p = nullptr ; @@ -1288,11 +1759,11 @@ void GALGAS_gtlInstructionList::setter_append (const GALGAS_gtlInstruction inOpe } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlInstructionList::setter_insertAtIndex (const GALGAS_gtlInstruction inOperand0, const GALGAS_uint inInsertionIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inInsertionIndex.isValid () && inOperand0.isValid ()) { @@ -1308,11 +1779,11 @@ void GALGAS_gtlInstructionList::setter_insertAtIndex (const GALGAS_gtlInstructio } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlInstructionList::setter_removeAtIndex (GALGAS_gtlInstruction & outOperand0, const GALGAS_uint inRemoveIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inRemoveIndex.isValid ()) { @@ -1335,10 +1806,10 @@ void GALGAS_gtlInstructionList::setter_removeAtIndex (GALGAS_gtlInstruction & ou } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlInstructionList::setter_popFirst (GALGAS_gtlInstruction & outOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeFirstObject (attributes, inCompiler COMMA_THERE) ; @@ -1351,10 +1822,10 @@ void GALGAS_gtlInstructionList::setter_popFirst (GALGAS_gtlInstruction & outOper } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlInstructionList::setter_popLast (GALGAS_gtlInstruction & outOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeLastObject (attributes, inCompiler COMMA_THERE) ; @@ -1367,10 +1838,10 @@ void GALGAS_gtlInstructionList::setter_popLast (GALGAS_gtlInstruction & outOpera } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlInstructionList::method_first (GALGAS_gtlInstruction & outOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readFirst (attributes, inCompiler COMMA_THERE) ; @@ -1383,10 +1854,10 @@ void GALGAS_gtlInstructionList::method_first (GALGAS_gtlInstruction & outOperand } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlInstructionList::method_last (GALGAS_gtlInstruction & outOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readLast (attributes, inCompiler COMMA_THERE) ; @@ -1399,10 +1870,10 @@ void GALGAS_gtlInstructionList::method_last (GALGAS_gtlInstruction & outOperand0 } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlInstructionList GALGAS_gtlInstructionList::add_operation (const GALGAS_gtlInstructionList & inOperand, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_gtlInstructionList result ; if (isValid () && inOperand.isValid ()) { @@ -1412,49 +1883,49 @@ GALGAS_gtlInstructionList GALGAS_gtlInstructionList::add_operation (const GALGAS return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlInstructionList GALGAS_gtlInstructionList::getter_subListWithRange (const GALGAS_range & inRange, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_gtlInstructionList result = GALGAS_gtlInstructionList::constructor_emptyList (THERE) ; + GALGAS_gtlInstructionList result = GALGAS_gtlInstructionList::class_func_emptyList (THERE) ; subListWithRange (result, inRange, inCompiler COMMA_THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlInstructionList GALGAS_gtlInstructionList::getter_subListFromIndex (const GALGAS_uint & inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_gtlInstructionList result = GALGAS_gtlInstructionList::constructor_emptyList (THERE) ; + GALGAS_gtlInstructionList result = GALGAS_gtlInstructionList::class_func_emptyList (THERE) ; subListFromIndex (result, inIndex, inCompiler COMMA_THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlInstructionList GALGAS_gtlInstructionList::getter_subListToIndex (const GALGAS_uint & inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_gtlInstructionList result = GALGAS_gtlInstructionList::constructor_emptyList (THERE) ; + GALGAS_gtlInstructionList result = GALGAS_gtlInstructionList::class_func_emptyList (THERE) ; subListToIndex (result, inIndex, inCompiler COMMA_THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlInstructionList::plusAssign_operation (const GALGAS_gtlInstructionList inOperand, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) { appendList (inOperand) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlInstructionList::setter_setInstructionAtIndex (GALGAS_gtlInstruction inOperand, GALGAS_uint inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement_gtlInstructionList * p = (cCollectionElement_gtlInstructionList *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; if (nullptr != p) { @@ -1464,10 +1935,10 @@ void GALGAS_gtlInstructionList::setter_setInstructionAtIndex (GALGAS_gtlInstruct } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlInstruction GALGAS_gtlInstructionList::getter_instructionAtIndex (const GALGAS_uint & inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes = readObjectAtIndex (inIndex, inCompiler COMMA_THERE) ; cCollectionElement_gtlInstructionList * p = (cCollectionElement_gtlInstructionList *) attributes.ptr () ; @@ -1481,7 +1952,7 @@ GALGAS_gtlInstruction GALGAS_gtlInstructionList::getter_instructionAtIndex (cons -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cEnumerator_gtlInstructionList::cEnumerator_gtlInstructionList (const GALGAS_gtlInstructionList & inEnumeratedObject, const typeEnumerationOrder inOrder) : @@ -1489,7 +1960,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) ; @@ -1498,7 +1969,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) ; @@ -1509,23 +1980,22 @@ 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 ; @@ -1535,10 +2005,10 @@ AC_GALGAS_root * GALGAS_gtlInstructionList::clonedObject (void) const { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlInstructionList GALGAS_gtlInstructionList::extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlInstructionList result ; const GALGAS_gtlInstructionList * p = (const GALGAS_gtlInstructionList *) inObject.embeddedObject () ; @@ -1552,7 +2022,7 @@ GALGAS_gtlInstructionList GALGAS_gtlInstructionList::extractObject (const GALGAS return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cMapElement_gtlTemplateMap::cMapElement_gtlTemplateMap (const GALGAS_lstring & inKey, const GALGAS_gtlTemplate & in_aTemplate @@ -1561,13 +2031,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 ; @@ -1575,16 +2045,16 @@ cMapElement * cMapElement_gtlTemplateMap::copy (void) { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void cMapElement_gtlTemplateMap::description (C_String & ioString, const int32_t inIndentation) const { - ioString << "\n" ; - ioString.writeStringMultiple ("| ", inIndentation) ; - ioString << "aTemplate" ":" ; +void cMapElement_gtlTemplateMap::description (String & ioString, const int32_t inIndentation) const { + ioString.appendNewLine () ; + ioString.appendStringMultiple ("| ", inIndentation) ; + ioString.appendCString ("aTemplate" ":") ; mProperty_aTemplate.description (ioString, inIndentation) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult cMapElement_gtlTemplateMap::compare (const cCollectionElement * inOperand) const { cMapElement_gtlTemplateMap * operand = (cMapElement_gtlTemplateMap *) inOperand ; @@ -1595,56 +2065,56 @@ typeComparisonResult cMapElement_gtlTemplateMap::compare (const cCollectionEleme return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlTemplateMap::GALGAS_gtlTemplateMap (void) : -AC_GALGAS_map (true) { +AC_GALGAS_map () { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- 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::constructor_emptyMap (LOCATION_ARGS) { +GALGAS_gtlTemplateMap GALGAS_gtlTemplateMap::class_func_emptyMap (LOCATION_ARGS) { GALGAS_gtlTemplateMap result ; result.makeNewEmptyMap (THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_gtlTemplateMap GALGAS_gtlTemplateMap::constructor_mapWithMapToOverride (const GALGAS_gtlTemplateMap & inMapToOverride - COMMA_LOCATION_ARGS) { +GALGAS_gtlTemplateMap GALGAS_gtlTemplateMap::class_func_mapWithMapToOverride (const GALGAS_gtlTemplateMap & inMapToOverride + COMMA_LOCATION_ARGS) { GALGAS_gtlTemplateMap result ; result.makeNewEmptyMapWithMapToOverride (inMapToOverride COMMA_THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_gtlTemplateMap GALGAS_gtlTemplateMap::getter_overriddenMap (C_Compiler * inCompiler +GALGAS_gtlTemplateMap GALGAS_gtlTemplateMap::getter_overriddenMap (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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { cMapElement_gtlTemplateMap * p = nullptr ; macroMyNew (p, cMapElement_gtlTemplateMap (inKey, inArgument0 COMMA_HERE)) ; @@ -1656,10 +2126,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_gtlTemplateMap result = *this ; cEnumerator_gtlTemplateMap enumerator (inOperand, kENUMERATION_UP) ; @@ -1670,11 +2140,11 @@ GALGAS_gtlTemplateMap GALGAS_gtlTemplateMap::add_operation (const GALGAS_gtlTemp return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlTemplateMap::setter_put (GALGAS_lstring inKey, GALGAS_gtlTemplate inArgument0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { cMapElement_gtlTemplateMap * p = nullptr ; macroMyNew (p, cMapElement_gtlTemplateMap (inKey, inArgument0 COMMA_HERE)) ; @@ -1686,15 +2156,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { const cMapElement_gtlTemplateMap * p = (const cMapElement_gtlTemplateMap *) performSearch (inKey, inCompiler, @@ -1708,10 +2178,10 @@ void GALGAS_gtlTemplateMap::method_get (GALGAS_lstring inKey, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlTemplate GALGAS_gtlTemplateMap::getter_aTemplateForKey (const GALGAS_string & inKey, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { const cCollectionElement * attributes = searchForReadingAttribute (inKey, inCompiler COMMA_THERE) ; const cMapElement_gtlTemplateMap * p = (const cMapElement_gtlTemplateMap *) attributes ; @@ -1723,11 +2193,11 @@ GALGAS_gtlTemplate GALGAS_gtlTemplateMap::getter_aTemplateForKey (const GALGAS_s return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlTemplateMap::setter_setATemplateForKey (GALGAS_gtlTemplate inAttributeValue, GALGAS_string inKey, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement * attributes = searchForReadWriteAttribute (inKey, true, inCompiler COMMA_THERE) ; cMapElement_gtlTemplateMap * p = (cMapElement_gtlTemplateMap *) attributes ; @@ -1737,9 +2207,9 @@ void GALGAS_gtlTemplateMap::setter_setATemplateForKey (GALGAS_gtlTemplate inAttr } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -cMapElement_gtlTemplateMap * GALGAS_gtlTemplateMap::readWriteAccessForWithInstruction (C_Compiler * inCompiler, +cMapElement_gtlTemplateMap * GALGAS_gtlTemplateMap::readWriteAccessForWithInstruction (Compiler * inCompiler, const GALGAS_string & inKey COMMA_LOCATION_ARGS) { cMapElement_gtlTemplateMap * result = (cMapElement_gtlTemplateMap *) searchForReadWriteAttribute (inKey, false, inCompiler COMMA_THERE) ; @@ -1747,7 +2217,7 @@ cMapElement_gtlTemplateMap * GALGAS_gtlTemplateMap::readWriteAccessForWithInstru return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cEnumerator_gtlTemplateMap::cEnumerator_gtlTemplateMap (const GALGAS_gtlTemplateMap & inEnumeratedObject, const typeEnumerationOrder inOrder) : @@ -1755,7 +2225,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) ; @@ -1763,7 +2233,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) ; @@ -1771,7 +2241,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) ; @@ -1779,7 +2249,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 { @@ -1794,23 +2264,22 @@ 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 ; @@ -1820,10 +2289,10 @@ AC_GALGAS_root * GALGAS_gtlTemplateMap::clonedObject (void) const { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlTemplateMap GALGAS_gtlTemplateMap::extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlTemplateMap result ; const GALGAS_gtlTemplateMap * p = (const GALGAS_gtlTemplateMap *) inObject.embeddedObject () ; @@ -1837,11 +2306,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, @@ -1850,7 +2319,7 @@ void extensionSetter_getTemplate (GALGAS_gtlTemplateMap & ioObject, GALGAS_library & ioArgument_lib, GALGAS_bool & outArgument_found, GALGAS_gtlTemplate & outArgument_result, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { outArgument_found.drop () ; // Release 'out' argument outArgument_result.drop () ; // Release 'out' argument @@ -1873,7 +2342,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::constructor_new (inArgument_path.readProperty_string (), var_program_7785 COMMA_SOURCE_FILE ("gtl_types.galgas", 296)) ; + outArgument_result = GALGAS_gtlTemplate::class_func_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)) ; } @@ -1885,7 +2354,7 @@ void extensionSetter_getTemplate (GALGAS_gtlTemplateMap & ioObject, if (kBoolTrue == test_4) { test_4 = inArgument_ifExists.boolEnum () ; if (kBoolTrue == test_4) { - 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)) ; + 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)) ; } } if (kBoolFalse == test_4) { @@ -1898,7 +2367,7 @@ void extensionSetter_getTemplate (GALGAS_gtlTemplateMap & ioObject, } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cMapElement_gtlFuncMap::cMapElement_gtlFuncMap (const GALGAS_lstring & inKey, const GALGAS_gtlFunction & in_function @@ -1907,13 +2376,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 ; @@ -1921,16 +2390,16 @@ cMapElement * cMapElement_gtlFuncMap::copy (void) { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void cMapElement_gtlFuncMap::description (C_String & ioString, const int32_t inIndentation) const { - ioString << "\n" ; - ioString.writeStringMultiple ("| ", inIndentation) ; - ioString << "function" ":" ; +void cMapElement_gtlFuncMap::description (String & ioString, const int32_t inIndentation) const { + ioString.appendNewLine () ; + ioString.appendStringMultiple ("| ", inIndentation) ; + ioString.appendCString ("function" ":") ; mProperty_function.description (ioString, inIndentation) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult cMapElement_gtlFuncMap::compare (const cCollectionElement * inOperand) const { cMapElement_gtlFuncMap * operand = (cMapElement_gtlFuncMap *) inOperand ; @@ -1941,56 +2410,56 @@ typeComparisonResult cMapElement_gtlFuncMap::compare (const cCollectionElement * return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlFuncMap::GALGAS_gtlFuncMap (void) : -AC_GALGAS_map (true) { +AC_GALGAS_map () { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- 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::constructor_emptyMap (LOCATION_ARGS) { +GALGAS_gtlFuncMap GALGAS_gtlFuncMap::class_func_emptyMap (LOCATION_ARGS) { GALGAS_gtlFuncMap result ; result.makeNewEmptyMap (THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_gtlFuncMap GALGAS_gtlFuncMap::constructor_mapWithMapToOverride (const GALGAS_gtlFuncMap & inMapToOverride - COMMA_LOCATION_ARGS) { +GALGAS_gtlFuncMap GALGAS_gtlFuncMap::class_func_mapWithMapToOverride (const GALGAS_gtlFuncMap & inMapToOverride + COMMA_LOCATION_ARGS) { GALGAS_gtlFuncMap result ; result.makeNewEmptyMapWithMapToOverride (inMapToOverride COMMA_THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_gtlFuncMap GALGAS_gtlFuncMap::getter_overriddenMap (C_Compiler * inCompiler +GALGAS_gtlFuncMap GALGAS_gtlFuncMap::getter_overriddenMap (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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { cMapElement_gtlFuncMap * p = nullptr ; macroMyNew (p, cMapElement_gtlFuncMap (inKey, inArgument0 COMMA_HERE)) ; @@ -2002,10 +2471,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_gtlFuncMap result = *this ; cEnumerator_gtlFuncMap enumerator (inOperand, kENUMERATION_UP) ; @@ -2016,11 +2485,11 @@ GALGAS_gtlFuncMap GALGAS_gtlFuncMap::add_operation (const GALGAS_gtlFuncMap & in return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlFuncMap::setter_put (GALGAS_lstring inKey, GALGAS_gtlFunction inArgument0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { cMapElement_gtlFuncMap * p = nullptr ; macroMyNew (p, cMapElement_gtlFuncMap (inKey, inArgument0 COMMA_HERE)) ; @@ -2032,15 +2501,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { const cMapElement_gtlFuncMap * p = (const cMapElement_gtlFuncMap *) performSearch (inKey, inCompiler, @@ -2054,10 +2523,10 @@ void GALGAS_gtlFuncMap::method_get (GALGAS_lstring inKey, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlFunction GALGAS_gtlFuncMap::getter_functionForKey (const GALGAS_string & inKey, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { const cCollectionElement * attributes = searchForReadingAttribute (inKey, inCompiler COMMA_THERE) ; const cMapElement_gtlFuncMap * p = (const cMapElement_gtlFuncMap *) attributes ; @@ -2069,11 +2538,11 @@ GALGAS_gtlFunction GALGAS_gtlFuncMap::getter_functionForKey (const GALGAS_string return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlFuncMap::setter_setFunctionForKey (GALGAS_gtlFunction inAttributeValue, GALGAS_string inKey, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement * attributes = searchForReadWriteAttribute (inKey, true, inCompiler COMMA_THERE) ; cMapElement_gtlFuncMap * p = (cMapElement_gtlFuncMap *) attributes ; @@ -2083,9 +2552,9 @@ void GALGAS_gtlFuncMap::setter_setFunctionForKey (GALGAS_gtlFunction inAttribute } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -cMapElement_gtlFuncMap * GALGAS_gtlFuncMap::readWriteAccessForWithInstruction (C_Compiler * inCompiler, +cMapElement_gtlFuncMap * GALGAS_gtlFuncMap::readWriteAccessForWithInstruction (Compiler * inCompiler, const GALGAS_string & inKey COMMA_LOCATION_ARGS) { cMapElement_gtlFuncMap * result = (cMapElement_gtlFuncMap *) searchForReadWriteAttribute (inKey, false, inCompiler COMMA_THERE) ; @@ -2093,7 +2562,7 @@ cMapElement_gtlFuncMap * GALGAS_gtlFuncMap::readWriteAccessForWithInstruction (C return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cEnumerator_gtlFuncMap::cEnumerator_gtlFuncMap (const GALGAS_gtlFuncMap & inEnumeratedObject, const typeEnumerationOrder inOrder) : @@ -2101,7 +2570,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) ; @@ -2109,7 +2578,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) ; @@ -2117,7 +2586,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) ; @@ -2125,7 +2594,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 { @@ -2140,23 +2609,22 @@ 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 ; @@ -2166,10 +2634,10 @@ AC_GALGAS_root * GALGAS_gtlFuncMap::clonedObject (void) const { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlFuncMap GALGAS_gtlFuncMap::extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlFuncMap result ; const GALGAS_gtlFuncMap * p = (const GALGAS_gtlFuncMap *) inObject.embeddedObject () ; @@ -2183,7 +2651,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 @@ -2192,13 +2660,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 ; @@ -2206,16 +2674,16 @@ cMapElement * cMapElement_gtlGetterMap::copy (void) { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void cMapElement_gtlGetterMap::description (C_String & ioString, const int32_t inIndentation) const { - ioString << "\n" ; - ioString.writeStringMultiple ("| ", inIndentation) ; - ioString << "theGetter" ":" ; +void cMapElement_gtlGetterMap::description (String & ioString, const int32_t inIndentation) const { + ioString.appendNewLine () ; + ioString.appendStringMultiple ("| ", inIndentation) ; + ioString.appendCString ("theGetter" ":") ; mProperty_theGetter.description (ioString, inIndentation) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult cMapElement_gtlGetterMap::compare (const cCollectionElement * inOperand) const { cMapElement_gtlGetterMap * operand = (cMapElement_gtlGetterMap *) inOperand ; @@ -2226,56 +2694,56 @@ typeComparisonResult cMapElement_gtlGetterMap::compare (const cCollectionElement return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlGetterMap::GALGAS_gtlGetterMap (void) : -AC_GALGAS_map (true) { +AC_GALGAS_map () { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- 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::constructor_emptyMap (LOCATION_ARGS) { +GALGAS_gtlGetterMap GALGAS_gtlGetterMap::class_func_emptyMap (LOCATION_ARGS) { GALGAS_gtlGetterMap result ; result.makeNewEmptyMap (THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_gtlGetterMap GALGAS_gtlGetterMap::constructor_mapWithMapToOverride (const GALGAS_gtlGetterMap & inMapToOverride - COMMA_LOCATION_ARGS) { +GALGAS_gtlGetterMap GALGAS_gtlGetterMap::class_func_mapWithMapToOverride (const GALGAS_gtlGetterMap & inMapToOverride + COMMA_LOCATION_ARGS) { GALGAS_gtlGetterMap result ; result.makeNewEmptyMapWithMapToOverride (inMapToOverride COMMA_THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_gtlGetterMap GALGAS_gtlGetterMap::getter_overriddenMap (C_Compiler * inCompiler +GALGAS_gtlGetterMap GALGAS_gtlGetterMap::getter_overriddenMap (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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { cMapElement_gtlGetterMap * p = nullptr ; macroMyNew (p, cMapElement_gtlGetterMap (inKey, inArgument0 COMMA_HERE)) ; @@ -2287,10 +2755,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_gtlGetterMap result = *this ; cEnumerator_gtlGetterMap enumerator (inOperand, kENUMERATION_UP) ; @@ -2301,11 +2769,11 @@ GALGAS_gtlGetterMap GALGAS_gtlGetterMap::add_operation (const GALGAS_gtlGetterMa return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlGetterMap::setter_put (GALGAS_lstring inKey, GALGAS_gtlGetter inArgument0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { cMapElement_gtlGetterMap * p = nullptr ; macroMyNew (p, cMapElement_gtlGetterMap (inKey, inArgument0 COMMA_HERE)) ; @@ -2317,15 +2785,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { const cMapElement_gtlGetterMap * p = (const cMapElement_gtlGetterMap *) performSearch (inKey, inCompiler, @@ -2339,10 +2807,10 @@ void GALGAS_gtlGetterMap::method_get (GALGAS_lstring inKey, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlGetter GALGAS_gtlGetterMap::getter_theGetterForKey (const GALGAS_string & inKey, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { const cCollectionElement * attributes = searchForReadingAttribute (inKey, inCompiler COMMA_THERE) ; const cMapElement_gtlGetterMap * p = (const cMapElement_gtlGetterMap *) attributes ; @@ -2354,11 +2822,11 @@ GALGAS_gtlGetter GALGAS_gtlGetterMap::getter_theGetterForKey (const GALGAS_strin return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlGetterMap::setter_setTheGetterForKey (GALGAS_gtlGetter inAttributeValue, GALGAS_string inKey, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement * attributes = searchForReadWriteAttribute (inKey, true, inCompiler COMMA_THERE) ; cMapElement_gtlGetterMap * p = (cMapElement_gtlGetterMap *) attributes ; @@ -2368,9 +2836,9 @@ void GALGAS_gtlGetterMap::setter_setTheGetterForKey (GALGAS_gtlGetter inAttribut } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -cMapElement_gtlGetterMap * GALGAS_gtlGetterMap::readWriteAccessForWithInstruction (C_Compiler * inCompiler, +cMapElement_gtlGetterMap * GALGAS_gtlGetterMap::readWriteAccessForWithInstruction (Compiler * inCompiler, const GALGAS_string & inKey COMMA_LOCATION_ARGS) { cMapElement_gtlGetterMap * result = (cMapElement_gtlGetterMap *) searchForReadWriteAttribute (inKey, false, inCompiler COMMA_THERE) ; @@ -2378,7 +2846,7 @@ cMapElement_gtlGetterMap * GALGAS_gtlGetterMap::readWriteAccessForWithInstructio return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cEnumerator_gtlGetterMap::cEnumerator_gtlGetterMap (const GALGAS_gtlGetterMap & inEnumeratedObject, const typeEnumerationOrder inOrder) : @@ -2386,7 +2854,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) ; @@ -2394,7 +2862,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) ; @@ -2402,7 +2870,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) ; @@ -2410,7 +2878,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 { @@ -2425,23 +2893,22 @@ 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 ; @@ -2451,10 +2918,10 @@ AC_GALGAS_root * GALGAS_gtlGetterMap::clonedObject (void) const { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlGetterMap GALGAS_gtlGetterMap::extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlGetterMap result ; const GALGAS_gtlGetterMap * p = (const GALGAS_gtlGetterMap *) inObject.embeddedObject () ; @@ -2468,7 +2935,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 @@ -2477,13 +2944,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 ; @@ -2491,16 +2958,16 @@ cMapElement * cMapElement_gtlSetterMap::copy (void) { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void cMapElement_gtlSetterMap::description (C_String & ioString, const int32_t inIndentation) const { - ioString << "\n" ; - ioString.writeStringMultiple ("| ", inIndentation) ; - ioString << "theSetter" ":" ; +void cMapElement_gtlSetterMap::description (String & ioString, const int32_t inIndentation) const { + ioString.appendNewLine () ; + ioString.appendStringMultiple ("| ", inIndentation) ; + ioString.appendCString ("theSetter" ":") ; mProperty_theSetter.description (ioString, inIndentation) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult cMapElement_gtlSetterMap::compare (const cCollectionElement * inOperand) const { cMapElement_gtlSetterMap * operand = (cMapElement_gtlSetterMap *) inOperand ; @@ -2511,56 +2978,56 @@ typeComparisonResult cMapElement_gtlSetterMap::compare (const cCollectionElement return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlSetterMap::GALGAS_gtlSetterMap (void) : -AC_GALGAS_map (true) { +AC_GALGAS_map () { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- 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::constructor_emptyMap (LOCATION_ARGS) { +GALGAS_gtlSetterMap GALGAS_gtlSetterMap::class_func_emptyMap (LOCATION_ARGS) { GALGAS_gtlSetterMap result ; result.makeNewEmptyMap (THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_gtlSetterMap GALGAS_gtlSetterMap::constructor_mapWithMapToOverride (const GALGAS_gtlSetterMap & inMapToOverride - COMMA_LOCATION_ARGS) { +GALGAS_gtlSetterMap GALGAS_gtlSetterMap::class_func_mapWithMapToOverride (const GALGAS_gtlSetterMap & inMapToOverride + COMMA_LOCATION_ARGS) { GALGAS_gtlSetterMap result ; result.makeNewEmptyMapWithMapToOverride (inMapToOverride COMMA_THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_gtlSetterMap GALGAS_gtlSetterMap::getter_overriddenMap (C_Compiler * inCompiler +GALGAS_gtlSetterMap GALGAS_gtlSetterMap::getter_overriddenMap (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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { cMapElement_gtlSetterMap * p = nullptr ; macroMyNew (p, cMapElement_gtlSetterMap (inKey, inArgument0 COMMA_HERE)) ; @@ -2572,10 +3039,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_gtlSetterMap result = *this ; cEnumerator_gtlSetterMap enumerator (inOperand, kENUMERATION_UP) ; @@ -2586,11 +3053,11 @@ GALGAS_gtlSetterMap GALGAS_gtlSetterMap::add_operation (const GALGAS_gtlSetterMa return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlSetterMap::setter_put (GALGAS_lstring inKey, GALGAS_gtlSetter inArgument0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { cMapElement_gtlSetterMap * p = nullptr ; macroMyNew (p, cMapElement_gtlSetterMap (inKey, inArgument0 COMMA_HERE)) ; @@ -2602,15 +3069,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { const cMapElement_gtlSetterMap * p = (const cMapElement_gtlSetterMap *) performSearch (inKey, inCompiler, @@ -2624,10 +3091,10 @@ void GALGAS_gtlSetterMap::method_get (GALGAS_lstring inKey, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlSetter GALGAS_gtlSetterMap::getter_theSetterForKey (const GALGAS_string & inKey, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { const cCollectionElement * attributes = searchForReadingAttribute (inKey, inCompiler COMMA_THERE) ; const cMapElement_gtlSetterMap * p = (const cMapElement_gtlSetterMap *) attributes ; @@ -2639,11 +3106,11 @@ GALGAS_gtlSetter GALGAS_gtlSetterMap::getter_theSetterForKey (const GALGAS_strin return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlSetterMap::setter_setTheSetterForKey (GALGAS_gtlSetter inAttributeValue, GALGAS_string inKey, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement * attributes = searchForReadWriteAttribute (inKey, true, inCompiler COMMA_THERE) ; cMapElement_gtlSetterMap * p = (cMapElement_gtlSetterMap *) attributes ; @@ -2653,9 +3120,9 @@ void GALGAS_gtlSetterMap::setter_setTheSetterForKey (GALGAS_gtlSetter inAttribut } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -cMapElement_gtlSetterMap * GALGAS_gtlSetterMap::readWriteAccessForWithInstruction (C_Compiler * inCompiler, +cMapElement_gtlSetterMap * GALGAS_gtlSetterMap::readWriteAccessForWithInstruction (Compiler * inCompiler, const GALGAS_string & inKey COMMA_LOCATION_ARGS) { cMapElement_gtlSetterMap * result = (cMapElement_gtlSetterMap *) searchForReadWriteAttribute (inKey, false, inCompiler COMMA_THERE) ; @@ -2663,7 +3130,7 @@ cMapElement_gtlSetterMap * GALGAS_gtlSetterMap::readWriteAccessForWithInstructio return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cEnumerator_gtlSetterMap::cEnumerator_gtlSetterMap (const GALGAS_gtlSetterMap & inEnumeratedObject, const typeEnumerationOrder inOrder) : @@ -2671,7 +3138,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) ; @@ -2679,7 +3146,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) ; @@ -2687,7 +3154,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) ; @@ -2695,7 +3162,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 { @@ -2710,23 +3177,22 @@ 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 ; @@ -2736,10 +3202,10 @@ AC_GALGAS_root * GALGAS_gtlSetterMap::clonedObject (void) const { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlSetterMap GALGAS_gtlSetterMap::extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlSetterMap result ; const GALGAS_gtlSetterMap * p = (const GALGAS_gtlSetterMap *) inObject.embeddedObject () ; @@ -2753,9 +3219,9 @@ GALGAS_gtlSetterMap GALGAS_gtlSetterMap::extractObject (const GALGAS_object & in return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Object comparison -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- @@ -2775,44 +3241,43 @@ 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 ; @@ -2822,10 +3287,10 @@ AC_GALGAS_root * GALGAS_gtlVarItem::clonedObject (void) const { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlVarItem GALGAS_gtlVarItem::extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlVarItem result ; const GALGAS_gtlVarItem * p = (const GALGAS_gtlVarItem *) inObject.embeddedObject () ; @@ -2839,17 +3304,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_string result ; if (nullptr != inObject) { @@ -2858,14 +3323,14 @@ GALGAS_string callExtensionGetter_stringPath (const cPtr_gtlVarItem * inObject, return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Abstract extension getter '@gtlVarItem location' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_location callExtensionGetter_location (const cPtr_gtlVarItem * inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_location result ; if (nullptr != inObject) { @@ -2874,11 +3339,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, @@ -2887,7 +3352,7 @@ void callExtensionMethod_setInContext (cPtr_gtlVarItem * inObject, const GALGAS_library constin_lib, const GALGAS_gtlVarPath constin_path, const GALGAS_gtlData constin_newData, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { //--- Drop output arguments //--- Find method @@ -2896,11 +3361,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, @@ -2908,7 +3373,7 @@ GALGAS_gtlData callExtensionGetter_getInContext (const cPtr_gtlVarItem * inObjec const GALGAS_gtlData in_vars, const GALGAS_library in_lib, const GALGAS_gtlVarPath in_path, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlData result ; if (nullptr != inObject) { @@ -2917,11 +3382,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, @@ -2929,7 +3394,7 @@ GALGAS_bool callExtensionGetter_existsInContext (const cPtr_gtlVarItem * inObjec const GALGAS_gtlData in_vars, const GALGAS_library in_lib, const GALGAS_gtlVarPath in_path, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_bool result ; if (nullptr != inObject) { @@ -2938,11 +3403,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, @@ -2950,7 +3415,7 @@ void callExtensionMethod_deleteInContext (cPtr_gtlVarItem * inObject, const GALGAS_gtlData constin_vars, const GALGAS_library constin_lib, const GALGAS_gtlVarPath constin_path, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { //--- Drop output arguments //--- Find method @@ -2959,16 +3424,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 ; -//--- Constructors +//--- Class functions public: cCollectionElement_gtlVarPath (const GALGAS_gtlVarItem & in_item COMMA_LOCATION_ARGS) ; public: cCollectionElement_gtlVarPath (const GALGAS_gtlVarPath_2D_element & inElement COMMA_LOCATION_ARGS) ; @@ -2983,10 +3448,10 @@ class cCollectionElement_gtlVarPath : public cCollectionElement { public: virtual cCollectionElement * copy (void) ; //--- Description - public: virtual void description (C_String & ioString, const int32_t inIndentation) const ; + public: virtual void description (String & ioString, const int32_t inIndentation) const ; } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cCollectionElement_gtlVarPath::cCollectionElement_gtlVarPath (const GALGAS_gtlVarItem & in_item COMMA_LOCATION_ARGS) : @@ -2994,20 +3459,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 ; @@ -3015,16 +3480,16 @@ cCollectionElement * cCollectionElement_gtlVarPath::copy (void) { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void cCollectionElement_gtlVarPath::description (C_String & ioString, const int32_t inIndentation) const { - ioString << "\n" ; - ioString.writeStringMultiple ("| ", inIndentation) ; - ioString << "item" ":" ; +void cCollectionElement_gtlVarPath::description (String & ioString, const int32_t inIndentation) const { + ioString.appendNewLine () ; + ioString.appendStringMultiple ("| ", inIndentation) ; + ioString.appendCString ("item" ":") ; mObject.mProperty_item.description (ioString, inIndentation) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult cCollectionElement_gtlVarPath::compare (const cCollectionElement * inOperand) const { cCollectionElement_gtlVarPath * operand = (cCollectionElement_gtlVarPath *) inOperand ; @@ -3032,28 +3497,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::constructor_emptyList (UNUSED_LOCATION_ARGS) { - return GALGAS_gtlVarPath (capCollectionElementArray ()) ; +GALGAS_gtlVarPath GALGAS_gtlVarPath::class_func_emptyList (UNUSED_LOCATION_ARGS) { + return GALGAS_gtlVarPath (capCollectionElementArray ()) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_gtlVarPath GALGAS_gtlVarPath::constructor_listWithValue (const GALGAS_gtlVarItem & inOperand0 - COMMA_LOCATION_ARGS) { +GALGAS_gtlVarPath GALGAS_gtlVarPath::class_func_listWithValue (const GALGAS_gtlVarItem & inOperand0 + COMMA_LOCATION_ARGS) { GALGAS_gtlVarPath result ; if (inOperand0.isValid ()) { result = GALGAS_gtlVarPath (capCollectionElementArray ()) ; @@ -3064,7 +3529,7 @@ GALGAS_gtlVarPath GALGAS_gtlVarPath::constructor_listWithValue (const GALGAS_gtl return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlVarPath::makeAttributesFromObjects (capCollectionElement & outAttributes, const GALGAS_gtlVarItem & in_item @@ -3075,7 +3540,7 @@ void GALGAS_gtlVarPath::makeAttributesFromObjects (capCollectionElement & outAtt macroDetachSharedObject (p) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlVarPath::addAssign_operation (const GALGAS_gtlVarItem & inOperand0 COMMA_LOCATION_ARGS) { @@ -3089,10 +3554,10 @@ void GALGAS_gtlVarPath::addAssign_operation (const GALGAS_gtlVarItem & inOperand } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlVarPath::setter_append (const GALGAS_gtlVarItem inOperand0, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_LOCATION_ARGS) { if (isValid ()) { cCollectionElement * p = nullptr ; @@ -3104,11 +3569,11 @@ void GALGAS_gtlVarPath::setter_append (const GALGAS_gtlVarItem inOperand0, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlVarPath::setter_insertAtIndex (const GALGAS_gtlVarItem inOperand0, const GALGAS_uint inInsertionIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inInsertionIndex.isValid () && inOperand0.isValid ()) { @@ -3124,11 +3589,11 @@ void GALGAS_gtlVarPath::setter_insertAtIndex (const GALGAS_gtlVarItem inOperand0 } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlVarPath::setter_removeAtIndex (GALGAS_gtlVarItem & outOperand0, const GALGAS_uint inRemoveIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inRemoveIndex.isValid ()) { @@ -3151,10 +3616,10 @@ void GALGAS_gtlVarPath::setter_removeAtIndex (GALGAS_gtlVarItem & outOperand0, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlVarPath::setter_popFirst (GALGAS_gtlVarItem & outOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeFirstObject (attributes, inCompiler COMMA_THERE) ; @@ -3167,10 +3632,10 @@ void GALGAS_gtlVarPath::setter_popFirst (GALGAS_gtlVarItem & outOperand0, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlVarPath::setter_popLast (GALGAS_gtlVarItem & outOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeLastObject (attributes, inCompiler COMMA_THERE) ; @@ -3183,10 +3648,10 @@ void GALGAS_gtlVarPath::setter_popLast (GALGAS_gtlVarItem & outOperand0, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlVarPath::method_first (GALGAS_gtlVarItem & outOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readFirst (attributes, inCompiler COMMA_THERE) ; @@ -3199,10 +3664,10 @@ void GALGAS_gtlVarPath::method_first (GALGAS_gtlVarItem & outOperand0, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlVarPath::method_last (GALGAS_gtlVarItem & outOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readLast (attributes, inCompiler COMMA_THERE) ; @@ -3215,10 +3680,10 @@ void GALGAS_gtlVarPath::method_last (GALGAS_gtlVarItem & outOperand0, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlVarPath GALGAS_gtlVarPath::add_operation (const GALGAS_gtlVarPath & inOperand, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_gtlVarPath result ; if (isValid () && inOperand.isValid ()) { @@ -3228,49 +3693,49 @@ GALGAS_gtlVarPath GALGAS_gtlVarPath::add_operation (const GALGAS_gtlVarPath & in return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlVarPath GALGAS_gtlVarPath::getter_subListWithRange (const GALGAS_range & inRange, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_gtlVarPath result = GALGAS_gtlVarPath::constructor_emptyList (THERE) ; + GALGAS_gtlVarPath result = GALGAS_gtlVarPath::class_func_emptyList (THERE) ; subListWithRange (result, inRange, inCompiler COMMA_THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlVarPath GALGAS_gtlVarPath::getter_subListFromIndex (const GALGAS_uint & inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_gtlVarPath result = GALGAS_gtlVarPath::constructor_emptyList (THERE) ; + GALGAS_gtlVarPath result = GALGAS_gtlVarPath::class_func_emptyList (THERE) ; subListFromIndex (result, inIndex, inCompiler COMMA_THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlVarPath GALGAS_gtlVarPath::getter_subListToIndex (const GALGAS_uint & inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_gtlVarPath result = GALGAS_gtlVarPath::constructor_emptyList (THERE) ; + GALGAS_gtlVarPath result = GALGAS_gtlVarPath::class_func_emptyList (THERE) ; subListToIndex (result, inIndex, inCompiler COMMA_THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlVarPath::plusAssign_operation (const GALGAS_gtlVarPath inOperand, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) { appendList (inOperand) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlVarPath::setter_setItemAtIndex (GALGAS_gtlVarItem inOperand, GALGAS_uint inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement_gtlVarPath * p = (cCollectionElement_gtlVarPath *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; if (nullptr != p) { @@ -3280,10 +3745,10 @@ void GALGAS_gtlVarPath::setter_setItemAtIndex (GALGAS_gtlVarItem inOperand, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlVarItem GALGAS_gtlVarPath::getter_itemAtIndex (const GALGAS_uint & inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes = readObjectAtIndex (inIndex, inCompiler COMMA_THERE) ; cCollectionElement_gtlVarPath * p = (cCollectionElement_gtlVarPath *) attributes.ptr () ; @@ -3297,7 +3762,7 @@ GALGAS_gtlVarItem GALGAS_gtlVarPath::getter_itemAtIndex (const GALGAS_uint & inI -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cEnumerator_gtlVarPath::cEnumerator_gtlVarPath (const GALGAS_gtlVarPath & inEnumeratedObject, const typeEnumerationOrder inOrder) : @@ -3305,7 +3770,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) ; @@ -3314,7 +3779,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) ; @@ -3325,23 +3790,22 @@ 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 ; @@ -3351,10 +3815,10 @@ AC_GALGAS_root * GALGAS_gtlVarPath::clonedObject (void) const { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlVarPath GALGAS_gtlVarPath::extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlVarPath result ; const GALGAS_gtlVarPath * p = (const GALGAS_gtlVarPath *) inObject.embeddedObject () ; @@ -3368,14 +3832,14 @@ GALGAS_gtlVarPath GALGAS_gtlVarPath::extractObject (const GALGAS_object & inObje return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Extension Getter '@gtlVarPath pathAsFunctionName' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_lstring extensionGetter_pathAsFunctionName (const GALGAS_gtlVarPath & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { GALGAS_lstring result_result ; // Returned variable const GALGAS_gtlVarPath temp_0 = inObject ; @@ -3397,17 +3861,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { GALGAS_string result_result ; // Returned variable result_result = GALGAS_string::makeEmptyString () ; @@ -3427,18 +3891,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { enumGalgasBool test_0 = kBoolTrue ; if (kBoolTrue == test_0) { @@ -3461,22 +3925,22 @@ void extensionMethod_set (const GALGAS_gtlVarPath inObject, } if (kBoolFalse == test_0) { TC_Array fixItArray5 ; - 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)) ; + 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)) ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { GALGAS_gtlData result_variableValue ; // Returned variable enumGalgasBool test_0 = kBoolTrue ; @@ -3492,7 +3956,7 @@ GALGAS_gtlData extensionGetter_get (const GALGAS_gtlVarPath & inObject, } if (kBoolFalse == test_0) { TC_Array fixItArray4 ; - 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)) ; + 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)) ; result_variableValue.drop () ; // Release error dropped variable } //--- @@ -3502,17 +3966,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { GALGAS_bool result_result ; // Returned variable enumGalgasBool test_0 = kBoolTrue ; @@ -3528,7 +3992,7 @@ GALGAS_bool extensionGetter_exists (const GALGAS_gtlVarPath & inObject, } if (kBoolFalse == test_0) { TC_Array fixItArray4 ; - 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)) ; + 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)) ; result_result.drop () ; // Release error dropped variable } //--- @@ -3538,17 +4002,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { enumGalgasBool test_0 = kBoolTrue ; if (kBoolTrue == test_0) { @@ -3563,19 +4027,19 @@ void extensionMethod_delete (const GALGAS_gtlVarPath inObject, } if (kBoolFalse == test_0) { TC_Array fixItArray4 ; - 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)) ; + 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)) ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Extension Getter '@gtlVarPath location' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_location extensionGetter_location (const GALGAS_gtlVarPath & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { GALGAS_location result_where ; // Returned variable GALGAS_gtlVarItem var_lastOne_25617 ; @@ -3589,16 +4053,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 ; -//--- Constructors +//--- Class functions public: cCollectionElement_gtlExpressionList (const GALGAS_gtlExpression & in_expression COMMA_LOCATION_ARGS) ; public: cCollectionElement_gtlExpressionList (const GALGAS_gtlExpressionList_2D_element & inElement COMMA_LOCATION_ARGS) ; @@ -3613,10 +4077,10 @@ class cCollectionElement_gtlExpressionList : public cCollectionElement { public: virtual cCollectionElement * copy (void) ; //--- Description - public: virtual void description (C_String & ioString, const int32_t inIndentation) const ; + public: virtual void description (String & ioString, const int32_t inIndentation) const ; } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cCollectionElement_gtlExpressionList::cCollectionElement_gtlExpressionList (const GALGAS_gtlExpression & in_expression COMMA_LOCATION_ARGS) : @@ -3624,20 +4088,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 ; @@ -3645,16 +4109,16 @@ cCollectionElement * cCollectionElement_gtlExpressionList::copy (void) { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void cCollectionElement_gtlExpressionList::description (C_String & ioString, const int32_t inIndentation) const { - ioString << "\n" ; - ioString.writeStringMultiple ("| ", inIndentation) ; - ioString << "expression" ":" ; +void cCollectionElement_gtlExpressionList::description (String & ioString, const int32_t inIndentation) const { + ioString.appendNewLine () ; + ioString.appendStringMultiple ("| ", inIndentation) ; + ioString.appendCString ("expression" ":") ; mObject.mProperty_expression.description (ioString, inIndentation) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult cCollectionElement_gtlExpressionList::compare (const cCollectionElement * inOperand) const { cCollectionElement_gtlExpressionList * operand = (cCollectionElement_gtlExpressionList *) inOperand ; @@ -3662,28 +4126,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::constructor_emptyList (UNUSED_LOCATION_ARGS) { - return GALGAS_gtlExpressionList (capCollectionElementArray ()) ; +GALGAS_gtlExpressionList GALGAS_gtlExpressionList::class_func_emptyList (UNUSED_LOCATION_ARGS) { + return GALGAS_gtlExpressionList (capCollectionElementArray ()) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_gtlExpressionList GALGAS_gtlExpressionList::constructor_listWithValue (const GALGAS_gtlExpression & inOperand0 - COMMA_LOCATION_ARGS) { +GALGAS_gtlExpressionList GALGAS_gtlExpressionList::class_func_listWithValue (const GALGAS_gtlExpression & inOperand0 + COMMA_LOCATION_ARGS) { GALGAS_gtlExpressionList result ; if (inOperand0.isValid ()) { result = GALGAS_gtlExpressionList (capCollectionElementArray ()) ; @@ -3694,7 +4158,7 @@ GALGAS_gtlExpressionList GALGAS_gtlExpressionList::constructor_listWithValue (co return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlExpressionList::makeAttributesFromObjects (capCollectionElement & outAttributes, const GALGAS_gtlExpression & in_expression @@ -3705,7 +4169,7 @@ void GALGAS_gtlExpressionList::makeAttributesFromObjects (capCollectionElement & macroDetachSharedObject (p) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlExpressionList::addAssign_operation (const GALGAS_gtlExpression & inOperand0 COMMA_LOCATION_ARGS) { @@ -3719,10 +4183,10 @@ void GALGAS_gtlExpressionList::addAssign_operation (const GALGAS_gtlExpression & } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlExpressionList::setter_append (const GALGAS_gtlExpression inOperand0, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_LOCATION_ARGS) { if (isValid ()) { cCollectionElement * p = nullptr ; @@ -3734,11 +4198,11 @@ void GALGAS_gtlExpressionList::setter_append (const GALGAS_gtlExpression inOpera } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlExpressionList::setter_insertAtIndex (const GALGAS_gtlExpression inOperand0, const GALGAS_uint inInsertionIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inInsertionIndex.isValid () && inOperand0.isValid ()) { @@ -3754,11 +4218,11 @@ void GALGAS_gtlExpressionList::setter_insertAtIndex (const GALGAS_gtlExpression } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlExpressionList::setter_removeAtIndex (GALGAS_gtlExpression & outOperand0, const GALGAS_uint inRemoveIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inRemoveIndex.isValid ()) { @@ -3781,10 +4245,10 @@ void GALGAS_gtlExpressionList::setter_removeAtIndex (GALGAS_gtlExpression & outO } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlExpressionList::setter_popFirst (GALGAS_gtlExpression & outOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeFirstObject (attributes, inCompiler COMMA_THERE) ; @@ -3797,10 +4261,10 @@ void GALGAS_gtlExpressionList::setter_popFirst (GALGAS_gtlExpression & outOperan } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlExpressionList::setter_popLast (GALGAS_gtlExpression & outOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeLastObject (attributes, inCompiler COMMA_THERE) ; @@ -3813,10 +4277,10 @@ void GALGAS_gtlExpressionList::setter_popLast (GALGAS_gtlExpression & outOperand } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlExpressionList::method_first (GALGAS_gtlExpression & outOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readFirst (attributes, inCompiler COMMA_THERE) ; @@ -3829,10 +4293,10 @@ void GALGAS_gtlExpressionList::method_first (GALGAS_gtlExpression & outOperand0, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlExpressionList::method_last (GALGAS_gtlExpression & outOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readLast (attributes, inCompiler COMMA_THERE) ; @@ -3845,10 +4309,10 @@ void GALGAS_gtlExpressionList::method_last (GALGAS_gtlExpression & outOperand0, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlExpressionList GALGAS_gtlExpressionList::add_operation (const GALGAS_gtlExpressionList & inOperand, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_gtlExpressionList result ; if (isValid () && inOperand.isValid ()) { @@ -3858,49 +4322,49 @@ GALGAS_gtlExpressionList GALGAS_gtlExpressionList::add_operation (const GALGAS_g return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlExpressionList GALGAS_gtlExpressionList::getter_subListWithRange (const GALGAS_range & inRange, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_gtlExpressionList result = GALGAS_gtlExpressionList::constructor_emptyList (THERE) ; + GALGAS_gtlExpressionList result = GALGAS_gtlExpressionList::class_func_emptyList (THERE) ; subListWithRange (result, inRange, inCompiler COMMA_THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlExpressionList GALGAS_gtlExpressionList::getter_subListFromIndex (const GALGAS_uint & inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_gtlExpressionList result = GALGAS_gtlExpressionList::constructor_emptyList (THERE) ; + GALGAS_gtlExpressionList result = GALGAS_gtlExpressionList::class_func_emptyList (THERE) ; subListFromIndex (result, inIndex, inCompiler COMMA_THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlExpressionList GALGAS_gtlExpressionList::getter_subListToIndex (const GALGAS_uint & inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_gtlExpressionList result = GALGAS_gtlExpressionList::constructor_emptyList (THERE) ; + GALGAS_gtlExpressionList result = GALGAS_gtlExpressionList::class_func_emptyList (THERE) ; subListToIndex (result, inIndex, inCompiler COMMA_THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlExpressionList::plusAssign_operation (const GALGAS_gtlExpressionList inOperand, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) { appendList (inOperand) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlExpressionList::setter_setExpressionAtIndex (GALGAS_gtlExpression inOperand, GALGAS_uint inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement_gtlExpressionList * p = (cCollectionElement_gtlExpressionList *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; if (nullptr != p) { @@ -3910,10 +4374,10 @@ void GALGAS_gtlExpressionList::setter_setExpressionAtIndex (GALGAS_gtlExpression } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlExpression GALGAS_gtlExpressionList::getter_expressionAtIndex (const GALGAS_uint & inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes = readObjectAtIndex (inIndex, inCompiler COMMA_THERE) ; cCollectionElement_gtlExpressionList * p = (cCollectionElement_gtlExpressionList *) attributes.ptr () ; @@ -3927,7 +4391,7 @@ GALGAS_gtlExpression GALGAS_gtlExpressionList::getter_expressionAtIndex (const G -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cEnumerator_gtlExpressionList::cEnumerator_gtlExpressionList (const GALGAS_gtlExpressionList & inEnumeratedObject, const typeEnumerationOrder inOrder) : @@ -3935,7 +4399,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) ; @@ -3944,7 +4408,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) ; @@ -3955,23 +4419,22 @@ 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 ; @@ -3981,10 +4444,10 @@ AC_GALGAS_root * GALGAS_gtlExpressionList::clonedObject (void) const { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlExpressionList GALGAS_gtlExpressionList::extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlExpressionList result ; const GALGAS_gtlExpressionList * p = (const GALGAS_gtlExpressionList *) inObject.embeddedObject () ; @@ -3998,15 +4461,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { GALGAS_type result_type ; // Returned variable enumGalgasBool test_0 = kBoolTrue ; @@ -4139,16 +4602,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 ; -//--- Constructors +//--- Class functions public: cCollectionElement_gtlTypedArgumentList (const GALGAS_type & in_type COMMA_LOCATION_ARGS) ; public: cCollectionElement_gtlTypedArgumentList (const GALGAS_gtlTypedArgumentList_2D_element & inElement COMMA_LOCATION_ARGS) ; @@ -4163,10 +4626,10 @@ class cCollectionElement_gtlTypedArgumentList : public cCollectionElement { public: virtual cCollectionElement * copy (void) ; //--- Description - public: virtual void description (C_String & ioString, const int32_t inIndentation) const ; + public: virtual void description (String & ioString, const int32_t inIndentation) const ; } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cCollectionElement_gtlTypedArgumentList::cCollectionElement_gtlTypedArgumentList (const GALGAS_type & in_type COMMA_LOCATION_ARGS) : @@ -4174,20 +4637,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 ; @@ -4195,16 +4658,16 @@ cCollectionElement * cCollectionElement_gtlTypedArgumentList::copy (void) { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void cCollectionElement_gtlTypedArgumentList::description (C_String & ioString, const int32_t inIndentation) const { - ioString << "\n" ; - ioString.writeStringMultiple ("| ", inIndentation) ; - ioString << "type" ":" ; +void cCollectionElement_gtlTypedArgumentList::description (String & ioString, const int32_t inIndentation) const { + ioString.appendNewLine () ; + ioString.appendStringMultiple ("| ", inIndentation) ; + ioString.appendCString ("type" ":") ; mObject.mProperty_type.description (ioString, inIndentation) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult cCollectionElement_gtlTypedArgumentList::compare (const cCollectionElement * inOperand) const { cCollectionElement_gtlTypedArgumentList * operand = (cCollectionElement_gtlTypedArgumentList *) inOperand ; @@ -4212,28 +4675,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::constructor_emptyList (UNUSED_LOCATION_ARGS) { - return GALGAS_gtlTypedArgumentList (capCollectionElementArray ()) ; +GALGAS_gtlTypedArgumentList GALGAS_gtlTypedArgumentList::class_func_emptyList (UNUSED_LOCATION_ARGS) { + return GALGAS_gtlTypedArgumentList (capCollectionElementArray ()) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_gtlTypedArgumentList GALGAS_gtlTypedArgumentList::constructor_listWithValue (const GALGAS_type & inOperand0 - COMMA_LOCATION_ARGS) { +GALGAS_gtlTypedArgumentList GALGAS_gtlTypedArgumentList::class_func_listWithValue (const GALGAS_type & inOperand0 + COMMA_LOCATION_ARGS) { GALGAS_gtlTypedArgumentList result ; if (inOperand0.isValid ()) { result = GALGAS_gtlTypedArgumentList (capCollectionElementArray ()) ; @@ -4244,7 +4707,7 @@ GALGAS_gtlTypedArgumentList GALGAS_gtlTypedArgumentList::constructor_listWithVal return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlTypedArgumentList::makeAttributesFromObjects (capCollectionElement & outAttributes, const GALGAS_type & in_type @@ -4255,7 +4718,7 @@ void GALGAS_gtlTypedArgumentList::makeAttributesFromObjects (capCollectionElemen macroDetachSharedObject (p) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlTypedArgumentList::addAssign_operation (const GALGAS_type & inOperand0 COMMA_LOCATION_ARGS) { @@ -4269,10 +4732,10 @@ void GALGAS_gtlTypedArgumentList::addAssign_operation (const GALGAS_type & inOpe } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlTypedArgumentList::setter_append (const GALGAS_type inOperand0, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_LOCATION_ARGS) { if (isValid ()) { cCollectionElement * p = nullptr ; @@ -4284,11 +4747,11 @@ void GALGAS_gtlTypedArgumentList::setter_append (const GALGAS_type inOperand0, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlTypedArgumentList::setter_insertAtIndex (const GALGAS_type inOperand0, const GALGAS_uint inInsertionIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inInsertionIndex.isValid () && inOperand0.isValid ()) { @@ -4304,11 +4767,11 @@ void GALGAS_gtlTypedArgumentList::setter_insertAtIndex (const GALGAS_type inOper } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlTypedArgumentList::setter_removeAtIndex (GALGAS_type & outOperand0, const GALGAS_uint inRemoveIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inRemoveIndex.isValid ()) { @@ -4331,10 +4794,10 @@ void GALGAS_gtlTypedArgumentList::setter_removeAtIndex (GALGAS_type & outOperand } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlTypedArgumentList::setter_popFirst (GALGAS_type & outOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeFirstObject (attributes, inCompiler COMMA_THERE) ; @@ -4347,10 +4810,10 @@ void GALGAS_gtlTypedArgumentList::setter_popFirst (GALGAS_type & outOperand0, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlTypedArgumentList::setter_popLast (GALGAS_type & outOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeLastObject (attributes, inCompiler COMMA_THERE) ; @@ -4363,10 +4826,10 @@ void GALGAS_gtlTypedArgumentList::setter_popLast (GALGAS_type & outOperand0, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlTypedArgumentList::method_first (GALGAS_type & outOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readFirst (attributes, inCompiler COMMA_THERE) ; @@ -4379,10 +4842,10 @@ void GALGAS_gtlTypedArgumentList::method_first (GALGAS_type & outOperand0, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlTypedArgumentList::method_last (GALGAS_type & outOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readLast (attributes, inCompiler COMMA_THERE) ; @@ -4395,10 +4858,10 @@ void GALGAS_gtlTypedArgumentList::method_last (GALGAS_type & outOperand0, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlTypedArgumentList GALGAS_gtlTypedArgumentList::add_operation (const GALGAS_gtlTypedArgumentList & inOperand, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_gtlTypedArgumentList result ; if (isValid () && inOperand.isValid ()) { @@ -4408,49 +4871,49 @@ GALGAS_gtlTypedArgumentList GALGAS_gtlTypedArgumentList::add_operation (const GA return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlTypedArgumentList GALGAS_gtlTypedArgumentList::getter_subListWithRange (const GALGAS_range & inRange, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_gtlTypedArgumentList result = GALGAS_gtlTypedArgumentList::constructor_emptyList (THERE) ; + GALGAS_gtlTypedArgumentList result = GALGAS_gtlTypedArgumentList::class_func_emptyList (THERE) ; subListWithRange (result, inRange, inCompiler COMMA_THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlTypedArgumentList GALGAS_gtlTypedArgumentList::getter_subListFromIndex (const GALGAS_uint & inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_gtlTypedArgumentList result = GALGAS_gtlTypedArgumentList::constructor_emptyList (THERE) ; + GALGAS_gtlTypedArgumentList result = GALGAS_gtlTypedArgumentList::class_func_emptyList (THERE) ; subListFromIndex (result, inIndex, inCompiler COMMA_THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlTypedArgumentList GALGAS_gtlTypedArgumentList::getter_subListToIndex (const GALGAS_uint & inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_gtlTypedArgumentList result = GALGAS_gtlTypedArgumentList::constructor_emptyList (THERE) ; + GALGAS_gtlTypedArgumentList result = GALGAS_gtlTypedArgumentList::class_func_emptyList (THERE) ; subListToIndex (result, inIndex, inCompiler COMMA_THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlTypedArgumentList::plusAssign_operation (const GALGAS_gtlTypedArgumentList inOperand, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) { appendList (inOperand) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlTypedArgumentList::setter_setTypeAtIndex (GALGAS_type inOperand, GALGAS_uint inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement_gtlTypedArgumentList * p = (cCollectionElement_gtlTypedArgumentList *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; if (nullptr != p) { @@ -4460,10 +4923,10 @@ void GALGAS_gtlTypedArgumentList::setter_setTypeAtIndex (GALGAS_type inOperand, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_type GALGAS_gtlTypedArgumentList::getter_typeAtIndex (const GALGAS_uint & inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes = readObjectAtIndex (inIndex, inCompiler COMMA_THERE) ; cCollectionElement_gtlTypedArgumentList * p = (cCollectionElement_gtlTypedArgumentList *) attributes.ptr () ; @@ -4477,7 +4940,7 @@ GALGAS_type GALGAS_gtlTypedArgumentList::getter_typeAtIndex (const GALGAS_uint & -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cEnumerator_gtlTypedArgumentList::cEnumerator_gtlTypedArgumentList (const GALGAS_gtlTypedArgumentList & inEnumeratedObject, const typeEnumerationOrder inOrder) : @@ -4485,7 +4948,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) ; @@ -4494,7 +4957,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) ; @@ -4505,23 +4968,22 @@ 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 ; @@ -4531,10 +4993,10 @@ AC_GALGAS_root * GALGAS_gtlTypedArgumentList::clonedObject (void) const { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlTypedArgumentList GALGAS_gtlTypedArgumentList::extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlTypedArgumentList result ; const GALGAS_gtlTypedArgumentList * p = (const GALGAS_gtlTypedArgumentList *) inObject.embeddedObject () ; @@ -4548,16 +5010,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 ; -//--- Constructors +//--- Class functions public: cCollectionElement_list (const GALGAS_gtlData & in_value COMMA_LOCATION_ARGS) ; public: cCollectionElement_list (const GALGAS_list_2D_element & inElement COMMA_LOCATION_ARGS) ; @@ -4572,10 +5034,10 @@ class cCollectionElement_list : public cCollectionElement { public: virtual cCollectionElement * copy (void) ; //--- Description - public: virtual void description (C_String & ioString, const int32_t inIndentation) const ; + public: virtual void description (String & ioString, const int32_t inIndentation) const ; } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cCollectionElement_list::cCollectionElement_list (const GALGAS_gtlData & in_value COMMA_LOCATION_ARGS) : @@ -4583,20 +5045,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 ; @@ -4604,16 +5066,16 @@ cCollectionElement * cCollectionElement_list::copy (void) { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void cCollectionElement_list::description (C_String & ioString, const int32_t inIndentation) const { - ioString << "\n" ; - ioString.writeStringMultiple ("| ", inIndentation) ; - ioString << "value" ":" ; +void cCollectionElement_list::description (String & ioString, const int32_t inIndentation) const { + ioString.appendNewLine () ; + ioString.appendStringMultiple ("| ", inIndentation) ; + ioString.appendCString ("value" ":") ; mObject.mProperty_value.description (ioString, inIndentation) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult cCollectionElement_list::compare (const cCollectionElement * inOperand) const { cCollectionElement_list * operand = (cCollectionElement_list *) inOperand ; @@ -4621,28 +5083,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::constructor_emptyList (UNUSED_LOCATION_ARGS) { - return GALGAS_list (capCollectionElementArray ()) ; +GALGAS_list GALGAS_list::class_func_emptyList (UNUSED_LOCATION_ARGS) { + return GALGAS_list (capCollectionElementArray ()) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_list GALGAS_list::constructor_listWithValue (const GALGAS_gtlData & inOperand0 - COMMA_LOCATION_ARGS) { +GALGAS_list GALGAS_list::class_func_listWithValue (const GALGAS_gtlData & inOperand0 + COMMA_LOCATION_ARGS) { GALGAS_list result ; if (inOperand0.isValid ()) { result = GALGAS_list (capCollectionElementArray ()) ; @@ -4653,7 +5115,7 @@ GALGAS_list GALGAS_list::constructor_listWithValue (const GALGAS_gtlData & inOpe return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_list::makeAttributesFromObjects (capCollectionElement & outAttributes, const GALGAS_gtlData & in_value @@ -4664,7 +5126,7 @@ void GALGAS_list::makeAttributesFromObjects (capCollectionElement & outAttribute macroDetachSharedObject (p) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_list::addAssign_operation (const GALGAS_gtlData & inOperand0 COMMA_LOCATION_ARGS) { @@ -4678,10 +5140,10 @@ void GALGAS_list::addAssign_operation (const GALGAS_gtlData & inOperand0 } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_list::setter_append (const GALGAS_gtlData inOperand0, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_LOCATION_ARGS) { if (isValid ()) { cCollectionElement * p = nullptr ; @@ -4693,11 +5155,11 @@ void GALGAS_list::setter_append (const GALGAS_gtlData inOperand0, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_list::setter_insertAtIndex (const GALGAS_gtlData inOperand0, const GALGAS_uint inInsertionIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inInsertionIndex.isValid () && inOperand0.isValid ()) { @@ -4713,11 +5175,11 @@ void GALGAS_list::setter_insertAtIndex (const GALGAS_gtlData inOperand0, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_list::setter_removeAtIndex (GALGAS_gtlData & outOperand0, const GALGAS_uint inRemoveIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inRemoveIndex.isValid ()) { @@ -4740,10 +5202,10 @@ void GALGAS_list::setter_removeAtIndex (GALGAS_gtlData & outOperand0, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_list::setter_popFirst (GALGAS_gtlData & outOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeFirstObject (attributes, inCompiler COMMA_THERE) ; @@ -4756,10 +5218,10 @@ void GALGAS_list::setter_popFirst (GALGAS_gtlData & outOperand0, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_list::setter_popLast (GALGAS_gtlData & outOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeLastObject (attributes, inCompiler COMMA_THERE) ; @@ -4772,10 +5234,10 @@ void GALGAS_list::setter_popLast (GALGAS_gtlData & outOperand0, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_list::method_first (GALGAS_gtlData & outOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readFirst (attributes, inCompiler COMMA_THERE) ; @@ -4788,10 +5250,10 @@ void GALGAS_list::method_first (GALGAS_gtlData & outOperand0, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_list::method_last (GALGAS_gtlData & outOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readLast (attributes, inCompiler COMMA_THERE) ; @@ -4804,10 +5266,10 @@ void GALGAS_list::method_last (GALGAS_gtlData & outOperand0, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_list GALGAS_list::add_operation (const GALGAS_list & inOperand, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_list result ; if (isValid () && inOperand.isValid ()) { @@ -4817,49 +5279,49 @@ GALGAS_list GALGAS_list::add_operation (const GALGAS_list & inOperand, return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_list GALGAS_list::getter_subListWithRange (const GALGAS_range & inRange, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_list result = GALGAS_list::constructor_emptyList (THERE) ; + GALGAS_list result = GALGAS_list::class_func_emptyList (THERE) ; subListWithRange (result, inRange, inCompiler COMMA_THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_list GALGAS_list::getter_subListFromIndex (const GALGAS_uint & inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_list result = GALGAS_list::constructor_emptyList (THERE) ; + GALGAS_list result = GALGAS_list::class_func_emptyList (THERE) ; subListFromIndex (result, inIndex, inCompiler COMMA_THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_list GALGAS_list::getter_subListToIndex (const GALGAS_uint & inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_list result = GALGAS_list::constructor_emptyList (THERE) ; + GALGAS_list result = GALGAS_list::class_func_emptyList (THERE) ; subListToIndex (result, inIndex, inCompiler COMMA_THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_list::plusAssign_operation (const GALGAS_list inOperand, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) { appendList (inOperand) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_list::setter_setValueAtIndex (GALGAS_gtlData inOperand, GALGAS_uint inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement_list * p = (cCollectionElement_list *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; if (nullptr != p) { @@ -4869,10 +5331,10 @@ void GALGAS_list::setter_setValueAtIndex (GALGAS_gtlData inOperand, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlData GALGAS_list::getter_valueAtIndex (const GALGAS_uint & inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes = readObjectAtIndex (inIndex, inCompiler COMMA_THERE) ; cCollectionElement_list * p = (cCollectionElement_list *) attributes.ptr () ; @@ -4886,7 +5348,7 @@ GALGAS_gtlData GALGAS_list::getter_valueAtIndex (const GALGAS_uint & inIndex, -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cEnumerator_list::cEnumerator_list (const GALGAS_list & inEnumeratedObject, const typeEnumerationOrder inOrder) : @@ -4894,7 +5356,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) ; @@ -4903,7 +5365,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) ; @@ -4914,23 +5376,22 @@ 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 ; @@ -4940,10 +5401,10 @@ AC_GALGAS_root * GALGAS_list::clonedObject (void) const { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_list GALGAS_list::extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_list result ; const GALGAS_list * p = (const GALGAS_list *) inObject.embeddedObject () ; @@ -4957,20 +5418,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 ; @@ -4978,12 +5439,12 @@ cMapElement * cMapElement_lstringset::copy (void) { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void cMapElement_lstringset::description (C_String & /* ioString */, const int32_t /* inIndentation */) const { +void cMapElement_lstringset::description (String & /* ioString */, const int32_t /* inIndentation */) const { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult cMapElement_lstringset::compare (const cCollectionElement * inOperand) const { cMapElement_lstringset * operand = (cMapElement_lstringset *) inOperand ; @@ -4991,55 +5452,55 @@ typeComparisonResult cMapElement_lstringset::compare (const cCollectionElement * return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_lstringset::GALGAS_lstringset (void) : -AC_GALGAS_map (true) { +AC_GALGAS_map () { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- 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::constructor_emptyMap (LOCATION_ARGS) { +GALGAS_lstringset GALGAS_lstringset::class_func_emptyMap (LOCATION_ARGS) { GALGAS_lstringset result ; result.makeNewEmptyMap (THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_lstringset GALGAS_lstringset::constructor_mapWithMapToOverride (const GALGAS_lstringset & inMapToOverride - COMMA_LOCATION_ARGS) { +GALGAS_lstringset GALGAS_lstringset::class_func_mapWithMapToOverride (const GALGAS_lstringset & inMapToOverride + COMMA_LOCATION_ARGS) { GALGAS_lstringset result ; result.makeNewEmptyMapWithMapToOverride (inMapToOverride COMMA_THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_lstringset GALGAS_lstringset::getter_overriddenMap (C_Compiler * inCompiler +GALGAS_lstringset GALGAS_lstringset::getter_overriddenMap (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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { cMapElement_lstringset * p = nullptr ; macroMyNew (p, cMapElement_lstringset (inKey COMMA_HERE)) ; @@ -5051,10 +5512,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_lstringset result = *this ; cEnumerator_lstringset enumerator (inOperand, kENUMERATION_UP) ; @@ -5065,10 +5526,10 @@ GALGAS_lstringset GALGAS_lstringset::add_operation (const GALGAS_lstringset & in return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_lstringset::setter_put (GALGAS_lstring inKey, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { cMapElement_lstringset * p = nullptr ; macroMyNew (p, cMapElement_lstringset (inKey COMMA_HERE)) ; @@ -5080,14 +5541,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { const cMapElement_lstringset * p = (const cMapElement_lstringset *) performSearch (inKey, inCompiler, @@ -5099,10 +5560,10 @@ void GALGAS_lstringset::method_get (GALGAS_lstring inKey, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_lstringset::setter_del (GALGAS_lstring inKey, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { const char * kRemoveErrorMessage = "there is no set element named '%K' to delete" ; capCollectionElement attributes ; @@ -5114,9 +5575,9 @@ void GALGAS_lstringset::setter_del (GALGAS_lstring inKey, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -cMapElement_lstringset * GALGAS_lstringset::readWriteAccessForWithInstruction (C_Compiler * inCompiler, +cMapElement_lstringset * GALGAS_lstringset::readWriteAccessForWithInstruction (Compiler * inCompiler, const GALGAS_string & inKey COMMA_LOCATION_ARGS) { cMapElement_lstringset * result = (cMapElement_lstringset *) searchForReadWriteAttribute (inKey, false, inCompiler COMMA_THERE) ; @@ -5124,7 +5585,7 @@ cMapElement_lstringset * GALGAS_lstringset::readWriteAccessForWithInstruction (C return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cEnumerator_lstringset::cEnumerator_lstringset (const GALGAS_lstringset & inEnumeratedObject, const typeEnumerationOrder inOrder) : @@ -5132,7 +5593,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) ; @@ -5140,7 +5601,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) ; @@ -5148,7 +5609,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) ; @@ -5160,23 +5621,22 @@ 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 ; @@ -5186,10 +5646,10 @@ AC_GALGAS_root * GALGAS_lstringset::clonedObject (void) const { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_lstringset GALGAS_lstringset::extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_lstringset result ; const GALGAS_lstringset * p = (const GALGAS_lstringset *) inObject.embeddedObject () ; @@ -5203,17 +5663,17 @@ GALGAS_lstringset GALGAS_lstringset::extractObject (const GALGAS_object & inObje return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // L E X I Q U E // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -#include "strings/unicode_character_cpp.h" -#include "galgas2/scanner_actions.h" -#include "galgas2/cLexiqueIntrospection.h" +#include "unicode_character_cpp.h" +#include "scanner_actions.h" +#include "cLexiqueIntrospection.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cTokenFor_gtl_5F_scanner::cTokenFor_gtl_5F_scanner (void) : mLexicalAttribute_a_5F_string (), @@ -5226,28 +5686,28 @@ mLexicalAttribute_tokenString (), mLexicalAttribute_uint_33__32_value () { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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), +Lexique_gtl_5F_scanner::Lexique_gtl_5F_scanner (Compiler * inCallerCompiler, + const String & inSourceFileName + COMMA_LOCATION_ARGS) : +Lexique (inCallerCompiler, inSourceFileName COMMA_THERE), mMatchedTemplateDelimiterIndex (-1) { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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), +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), mMatchedTemplateDelimiterIndex (-1) { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Lexical error message list -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- static const char * gLexicalMessage_gtl_5F_scanner_floatNumberConversionError = "invalid float number" ; @@ -5267,12 +5727,12 @@ static const char * gLexicalMessage_gtl_5F_scanner_unknownHTMLescapeSequence = " static const char * gLexicalMessage_gtl_5F_scanner_unterminatedLitteralString = "Unterminated literal string" ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // getMessageForTerminal -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_String C_Lexique_gtl_5F_scanner::getMessageForTerminal (const int32_t inTerminalIndex) const { - C_String result = "" ; +String Lexique_gtl_5F_scanner::getMessageForTerminal (const int32_t inTerminalIndex) const { + String result = "" ; if ((inTerminalIndex >= 0) && (inTerminalIndex < 116)) { static const char * syntaxErrorMessageArray [116] = {kEndOfSourceLexicalErrorMessage, "an identifier", @@ -5396,350 +5856,299 @@ C_String C_Lexique_gtl_5F_scanner::getMessageForTerminal (const int32_t inTermin return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // U N I C O D E S T R I N G S -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -//--- Unicode string for '$_A_$' -static const utf32 kUnicodeString_gtl_5F_scanner__A_ [] = { +//--- Unicode string for '$\n$' +static const std::initializer_list kUnicodeString_gtl_5F_scanner__A_ = { TO_UNICODE (10), - TO_UNICODE (0) } ; -//--- Unicode string for '$_21_$' -static const utf32 kUnicodeString_gtl_5F_scanner__21_ [] = { +//--- Unicode string for '$!$' +static const std::initializer_list kUnicodeString_gtl_5F_scanner__21_ = { TO_UNICODE ('!'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_21__3D_$' -static const utf32 kUnicodeString_gtl_5F_scanner__21__3D_ [] = { +//--- Unicode string for '$!=$' +static const std::initializer_list kUnicodeString_gtl_5F_scanner__21__3D_ = { TO_UNICODE ('!'), TO_UNICODE ('='), - TO_UNICODE (0) } ; -//--- Unicode string for '$_25_$' -static const utf32 kUnicodeString_gtl_5F_scanner__25_ [] = { +//--- Unicode string for '$%$' +static const std::initializer_list kUnicodeString_gtl_5F_scanner__25_ = { TO_UNICODE ('%'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_26_$' -static const utf32 kUnicodeString_gtl_5F_scanner__26_ [] = { +//--- Unicode string for '$&$' +static const std::initializer_list kUnicodeString_gtl_5F_scanner__26_ = { TO_UNICODE ('&'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_26__3D_$' -static const utf32 kUnicodeString_gtl_5F_scanner__26__3D_ [] = { +//--- Unicode string for '$&=$' +static const std::initializer_list kUnicodeString_gtl_5F_scanner__26__3D_ = { TO_UNICODE ('&'), TO_UNICODE ('='), - TO_UNICODE (0) } ; -//--- Unicode string for '$_28_$' -static const utf32 kUnicodeString_gtl_5F_scanner__28_ [] = { +//--- Unicode string for '$($' +static const std::initializer_list kUnicodeString_gtl_5F_scanner__28_ = { TO_UNICODE ('('), - TO_UNICODE (0) } ; -//--- Unicode string for '$_29_$' -static const utf32 kUnicodeString_gtl_5F_scanner__29_ [] = { +//--- Unicode string for '$)$' +static const std::initializer_list kUnicodeString_gtl_5F_scanner__29_ = { TO_UNICODE (')'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_2A_$' -static const utf32 kUnicodeString_gtl_5F_scanner__2A_ [] = { +//--- Unicode string for '$*$' +static const std::initializer_list kUnicodeString_gtl_5F_scanner__2A_ = { TO_UNICODE ('*'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_2A__3D_$' -static const utf32 kUnicodeString_gtl_5F_scanner__2A__3D_ [] = { +//--- Unicode string for '$*=$' +static const std::initializer_list kUnicodeString_gtl_5F_scanner__2A__3D_ = { TO_UNICODE ('*'), TO_UNICODE ('='), - TO_UNICODE (0) } ; -//--- Unicode string for '$_2B_$' -static const utf32 kUnicodeString_gtl_5F_scanner__2B_ [] = { +//--- Unicode string for '$+$' +static const std::initializer_list kUnicodeString_gtl_5F_scanner__2B_ = { TO_UNICODE ('+'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_2B__3D_$' -static const utf32 kUnicodeString_gtl_5F_scanner__2B__3D_ [] = { +//--- Unicode string for '$+=$' +static const std::initializer_list kUnicodeString_gtl_5F_scanner__2B__3D_ = { TO_UNICODE ('+'), TO_UNICODE ('='), - TO_UNICODE (0) } ; -//--- Unicode string for '$_2C_$' -static const utf32 kUnicodeString_gtl_5F_scanner__2C_ [] = { +//--- Unicode string for '$,$' +static const std::initializer_list kUnicodeString_gtl_5F_scanner__2C_ = { TO_UNICODE (','), - TO_UNICODE (0) } ; -//--- Unicode string for '$_2D__3D_$' -static const utf32 kUnicodeString_gtl_5F_scanner__2D__3D_ [] = { +//--- Unicode string for '$-=$' +static const std::initializer_list kUnicodeString_gtl_5F_scanner__2D__3D_ = { TO_UNICODE ('-'), TO_UNICODE ('='), - TO_UNICODE (0) } ; -//--- Unicode string for '$_2D__3E_$' -static const utf32 kUnicodeString_gtl_5F_scanner__2D__3E_ [] = { +//--- Unicode string for '$->$' +static const std::initializer_list kUnicodeString_gtl_5F_scanner__2D__3E_ = { TO_UNICODE ('-'), TO_UNICODE ('>'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_2E__2E_$' -static const utf32 kUnicodeString_gtl_5F_scanner__2E__2E_ [] = { +//--- Unicode string for '$..$' +static const std::initializer_list kUnicodeString_gtl_5F_scanner__2E__2E_ = { TO_UNICODE ('.'), TO_UNICODE ('.'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_2F_$' -static const utf32 kUnicodeString_gtl_5F_scanner__2F_ [] = { +//--- Unicode string for '$/$' +static const std::initializer_list kUnicodeString_gtl_5F_scanner__2F_ = { TO_UNICODE ('/'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_2F__3D_$' -static const utf32 kUnicodeString_gtl_5F_scanner__2F__3D_ [] = { +//--- Unicode string for '$/=$' +static const std::initializer_list kUnicodeString_gtl_5F_scanner__2F__3D_ = { TO_UNICODE ('/'), TO_UNICODE ('='), - TO_UNICODE (0) } ; -//--- Unicode string for '$_30_X$' -static const utf32 kUnicodeString_gtl_5F_scanner__30_X [] = { +//--- Unicode string for '$0X$' +static const std::initializer_list kUnicodeString_gtl_5F_scanner__30_X = { TO_UNICODE ('0'), TO_UNICODE ('X'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_30_x$' -static const utf32 kUnicodeString_gtl_5F_scanner__30_x [] = { +//--- Unicode string for '$0x$' +static const std::initializer_list kUnicodeString_gtl_5F_scanner__30_x = { TO_UNICODE ('0'), TO_UNICODE ('x'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_3A_$' -static const utf32 kUnicodeString_gtl_5F_scanner__3A_ [] = { +//--- Unicode string for '$:$' +static const std::initializer_list kUnicodeString_gtl_5F_scanner__3A_ = { TO_UNICODE (':'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_3A__3A_$' -static const utf32 kUnicodeString_gtl_5F_scanner__3A__3A_ [] = { +//--- Unicode string for '$::$' +static const std::initializer_list kUnicodeString_gtl_5F_scanner__3A__3A_ = { TO_UNICODE (':'), TO_UNICODE (':'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_3A__3D_$' -static const utf32 kUnicodeString_gtl_5F_scanner__3A__3D_ [] = { +//--- Unicode string for '$:=$' +static const std::initializer_list kUnicodeString_gtl_5F_scanner__3A__3D_ = { TO_UNICODE (':'), TO_UNICODE ('='), - TO_UNICODE (0) } ; -//--- Unicode string for '$_3B_$' -static const utf32 kUnicodeString_gtl_5F_scanner__3B_ [] = { +//--- Unicode string for '$;$' +static const std::initializer_list kUnicodeString_gtl_5F_scanner__3B_ = { TO_UNICODE (';'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_3C_$' -static const utf32 kUnicodeString_gtl_5F_scanner__3C_ [] = { +//--- Unicode string for '$<$' +static const std::initializer_list kUnicodeString_gtl_5F_scanner__3C_ = { TO_UNICODE ('<'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_3C__2D_$' -static const utf32 kUnicodeString_gtl_5F_scanner__3C__2D_ [] = { +//--- Unicode string for '$<-$' +static const std::initializer_list kUnicodeString_gtl_5F_scanner__3C__2D_ = { TO_UNICODE ('<'), TO_UNICODE ('-'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_3C__3C_$' -static const utf32 kUnicodeString_gtl_5F_scanner__3C__3C_ [] = { +//--- Unicode string for '$<<$' +static const std::initializer_list kUnicodeString_gtl_5F_scanner__3C__3C_ = { TO_UNICODE ('<'), TO_UNICODE ('<'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_3C__3C__3D_$' -static const utf32 kUnicodeString_gtl_5F_scanner__3C__3C__3D_ [] = { +//--- Unicode string for '$<<=$' +static const std::initializer_list kUnicodeString_gtl_5F_scanner__3C__3C__3D_ = { TO_UNICODE ('<'), TO_UNICODE ('<'), TO_UNICODE ('='), - TO_UNICODE (0) } ; -//--- Unicode string for '$_3C__3D_$' -static const utf32 kUnicodeString_gtl_5F_scanner__3C__3D_ [] = { +//--- Unicode string for '$<=$' +static const std::initializer_list kUnicodeString_gtl_5F_scanner__3C__3D_ = { TO_UNICODE ('<'), TO_UNICODE ('='), - TO_UNICODE (0) } ; -//--- Unicode string for '$_3D_$' -static const utf32 kUnicodeString_gtl_5F_scanner__3D_ [] = { +//--- Unicode string for '$=$' +static const std::initializer_list kUnicodeString_gtl_5F_scanner__3D_ = { TO_UNICODE ('='), - TO_UNICODE (0) } ; -//--- Unicode string for '$_3D__3D_$' -static const utf32 kUnicodeString_gtl_5F_scanner__3D__3D_ [] = { +//--- Unicode string for '$==$' +static const std::initializer_list kUnicodeString_gtl_5F_scanner__3D__3D_ = { TO_UNICODE ('='), TO_UNICODE ('='), - TO_UNICODE (0) } ; -//--- Unicode string for '$_3E_$' -static const utf32 kUnicodeString_gtl_5F_scanner__3E_ [] = { +//--- Unicode string for '$>$' +static const std::initializer_list kUnicodeString_gtl_5F_scanner__3E_ = { TO_UNICODE ('>'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_3E__3D_$' -static const utf32 kUnicodeString_gtl_5F_scanner__3E__3D_ [] = { +//--- Unicode string for '$>=$' +static const std::initializer_list kUnicodeString_gtl_5F_scanner__3E__3D_ = { TO_UNICODE ('>'), TO_UNICODE ('='), - TO_UNICODE (0) } ; -//--- Unicode string for '$_3E__3E_$' -static const utf32 kUnicodeString_gtl_5F_scanner__3E__3E_ [] = { +//--- Unicode string for '$>>$' +static const std::initializer_list kUnicodeString_gtl_5F_scanner__3E__3E_ = { TO_UNICODE ('>'), TO_UNICODE ('>'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_3E__3E__3D_$' -static const utf32 kUnicodeString_gtl_5F_scanner__3E__3E__3D_ [] = { +//--- Unicode string for '$>>=$' +static const std::initializer_list kUnicodeString_gtl_5F_scanner__3E__3E__3D_ = { TO_UNICODE ('>'), TO_UNICODE ('>'), TO_UNICODE ('='), - TO_UNICODE (0) } ; -//--- Unicode string for '$_3F_$' -static const utf32 kUnicodeString_gtl_5F_scanner__3F_ [] = { +//--- Unicode string for '$?$' +static const std::initializer_list kUnicodeString_gtl_5F_scanner__3F_ = { TO_UNICODE ('\?'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_40_$' -static const utf32 kUnicodeString_gtl_5F_scanner__40_ [] = { +//--- Unicode string for '$@$' +static const std::initializer_list kUnicodeString_gtl_5F_scanner__40_ = { TO_UNICODE ('@'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_40__21_$' -static const utf32 kUnicodeString_gtl_5F_scanner__40__21_ [] = { +//--- Unicode string for '$@!$' +static const std::initializer_list kUnicodeString_gtl_5F_scanner__40__21_ = { TO_UNICODE ('@'), TO_UNICODE ('!'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_40__28_$' -static const utf32 kUnicodeString_gtl_5F_scanner__40__28_ [] = { +//--- Unicode string for '$@($' +static const std::initializer_list kUnicodeString_gtl_5F_scanner__40__28_ = { TO_UNICODE ('@'), TO_UNICODE ('('), - TO_UNICODE (0) } ; -//--- Unicode string for '$_40__3F_$' -static const utf32 kUnicodeString_gtl_5F_scanner__40__3F_ [] = { +//--- Unicode string for '$@?$' +static const std::initializer_list kUnicodeString_gtl_5F_scanner__40__3F_ = { TO_UNICODE ('@'), TO_UNICODE ('\?'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_40__5B_$' -static const utf32 kUnicodeString_gtl_5F_scanner__40__5B_ [] = { +//--- Unicode string for '$@[$' +static const std::initializer_list kUnicodeString_gtl_5F_scanner__40__5B_ = { TO_UNICODE ('@'), TO_UNICODE ('['), - TO_UNICODE (0) } ; -//--- Unicode string for '$_40__7B_$' -static const utf32 kUnicodeString_gtl_5F_scanner__40__7B_ [] = { +//--- Unicode string for '$@{$' +static const std::initializer_list kUnicodeString_gtl_5F_scanner__40__7B_ = { TO_UNICODE ('@'), TO_UNICODE ('{'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_5B_$' -static const utf32 kUnicodeString_gtl_5F_scanner__5B_ [] = { +//--- Unicode string for '$[$' +static const std::initializer_list kUnicodeString_gtl_5F_scanner__5B_ = { TO_UNICODE ('['), - TO_UNICODE (0) } ; -//--- Unicode string for '$_5B__21_$' -static const utf32 kUnicodeString_gtl_5F_scanner__5B__21_ [] = { +//--- Unicode string for '$[!$' +static const std::initializer_list kUnicodeString_gtl_5F_scanner__5B__21_ = { TO_UNICODE ('['), TO_UNICODE ('!'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_5C_$' -static const utf32 kUnicodeString_gtl_5F_scanner__5C_ [] = { +//--- Unicode string for '$\\$' +static const std::initializer_list kUnicodeString_gtl_5F_scanner__5C_ = { TO_UNICODE ('\\'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_5C__25_$' -static const utf32 kUnicodeString_gtl_5F_scanner__5C__25_ [] = { +//--- Unicode string for '$\\%$' +static const std::initializer_list kUnicodeString_gtl_5F_scanner__5C__25_ = { TO_UNICODE ('\\'), TO_UNICODE ('%'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_5C__5C_$' -static const utf32 kUnicodeString_gtl_5F_scanner__5C__5C_ [] = { +//--- Unicode string for '$\\\\$' +static const std::initializer_list kUnicodeString_gtl_5F_scanner__5C__5C_ = { TO_UNICODE ('\\'), TO_UNICODE ('\\'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_5C_n$' -static const utf32 kUnicodeString_gtl_5F_scanner__5C_n [] = { +//--- Unicode string for '$\\n$' +static const std::initializer_list kUnicodeString_gtl_5F_scanner__5C_n = { TO_UNICODE ('\\'), TO_UNICODE ('n'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_5D_$' -static const utf32 kUnicodeString_gtl_5F_scanner__5D_ [] = { +//--- Unicode string for '$]$' +static const std::initializer_list kUnicodeString_gtl_5F_scanner__5D_ = { TO_UNICODE (']'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_5E_$' -static const utf32 kUnicodeString_gtl_5F_scanner__5E_ [] = { +//--- Unicode string for '$^$' +static const std::initializer_list kUnicodeString_gtl_5F_scanner__5E_ = { TO_UNICODE ('^'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_5E__3D_$' -static const utf32 kUnicodeString_gtl_5F_scanner__5E__3D_ [] = { +//--- Unicode string for '$^=$' +static const std::initializer_list kUnicodeString_gtl_5F_scanner__5E__3D_ = { TO_UNICODE ('^'), TO_UNICODE ('='), - TO_UNICODE (0) } ; -//--- Unicode string for '$_5F__5F_VARS_5F__5F_$' -static const utf32 kUnicodeString_gtl_5F_scanner__5F__5F_VARS_5F__5F_ [] = { +//--- Unicode string for '$__VARS__$' +static const std::initializer_list kUnicodeString_gtl_5F_scanner__5F__5F_VARS_5F__5F_ = { TO_UNICODE ('_'), TO_UNICODE ('_'), TO_UNICODE ('V'), @@ -5748,32 +6157,29 @@ static const utf32 kUnicodeString_gtl_5F_scanner__5F__5F_VARS_5F__5F_ [] = { TO_UNICODE ('S'), TO_UNICODE ('_'), TO_UNICODE ('_'), - TO_UNICODE (0) } ; //--- Unicode string for '$after$' -static const utf32 kUnicodeString_gtl_5F_scanner_after [] = { +static const std::initializer_list 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 utf32 kUnicodeString_gtl_5F_scanner_before [] = { +static const std::initializer_list 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 utf32 kUnicodeString_gtl_5F_scanner_between [] = { +static const std::initializer_list kUnicodeString_gtl_5F_scanner_between = { TO_UNICODE ('b'), TO_UNICODE ('e'), TO_UNICODE ('t'), @@ -5781,28 +6187,25 @@ static const utf32 kUnicodeString_gtl_5F_scanner_between [] = { TO_UNICODE ('e'), TO_UNICODE ('e'), TO_UNICODE ('n'), - TO_UNICODE (0) } ; //--- Unicode string for '$break$' -static const utf32 kUnicodeString_gtl_5F_scanner_break [] = { +static const std::initializer_list 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 utf32 kUnicodeString_gtl_5F_scanner_by [] = { +static const std::initializer_list kUnicodeString_gtl_5F_scanner_by = { TO_UNICODE ('b'), TO_UNICODE ('y'), - TO_UNICODE (0) } ; //--- Unicode string for '$default$' -static const utf32 kUnicodeString_gtl_5F_scanner_default [] = { +static const std::initializer_list kUnicodeString_gtl_5F_scanner_default = { TO_UNICODE ('d'), TO_UNICODE ('e'), TO_UNICODE ('f'), @@ -5810,11 +6213,10 @@ static const utf32 kUnicodeString_gtl_5F_scanner_default [] = { TO_UNICODE ('u'), TO_UNICODE ('l'), TO_UNICODE ('t'), - TO_UNICODE (0) } ; //--- Unicode string for '$display$' -static const utf32 kUnicodeString_gtl_5F_scanner_display [] = { +static const std::initializer_list kUnicodeString_gtl_5F_scanner_display = { TO_UNICODE ('d'), TO_UNICODE ('i'), TO_UNICODE ('s'), @@ -5822,46 +6224,41 @@ static const utf32 kUnicodeString_gtl_5F_scanner_display [] = { TO_UNICODE ('l'), TO_UNICODE ('a'), TO_UNICODE ('y'), - TO_UNICODE (0) } ; //--- Unicode string for '$do$' -static const utf32 kUnicodeString_gtl_5F_scanner_do [] = { +static const std::initializer_list kUnicodeString_gtl_5F_scanner_do = { TO_UNICODE ('d'), TO_UNICODE ('o'), - TO_UNICODE (0) } ; //--- Unicode string for '$down$' -static const utf32 kUnicodeString_gtl_5F_scanner_down [] = { +static const std::initializer_list 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 utf32 kUnicodeString_gtl_5F_scanner_else [] = { +static const std::initializer_list 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 utf32 kUnicodeString_gtl_5F_scanner_elsif [] = { +static const std::initializer_list 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 utf32 kUnicodeString_gtl_5F_scanner_emptylist [] = { +static const std::initializer_list kUnicodeString_gtl_5F_scanner_emptylist = { TO_UNICODE ('e'), TO_UNICODE ('m'), TO_UNICODE ('p'), @@ -5871,11 +6268,10 @@ static const utf32 kUnicodeString_gtl_5F_scanner_emptylist [] = { TO_UNICODE ('i'), TO_UNICODE ('s'), TO_UNICODE ('t'), - TO_UNICODE (0) } ; //--- Unicode string for '$emptymap$' -static const utf32 kUnicodeString_gtl_5F_scanner_emptymap [] = { +static const std::initializer_list kUnicodeString_gtl_5F_scanner_emptymap = { TO_UNICODE ('e'), TO_UNICODE ('m'), TO_UNICODE ('p'), @@ -5884,29 +6280,26 @@ static const utf32 kUnicodeString_gtl_5F_scanner_emptymap [] = { TO_UNICODE ('m'), TO_UNICODE ('a'), TO_UNICODE ('p'), - TO_UNICODE (0) } ; //--- Unicode string for '$end$' -static const utf32 kUnicodeString_gtl_5F_scanner_end [] = { +static const std::initializer_list kUnicodeString_gtl_5F_scanner_end = { TO_UNICODE ('e'), TO_UNICODE ('n'), TO_UNICODE ('d'), - TO_UNICODE (0) } ; //--- Unicode string for '$error$' -static const utf32 kUnicodeString_gtl_5F_scanner_error [] = { +static const std::initializer_list 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 utf32 kUnicodeString_gtl_5F_scanner_executable [] = { +static const std::initializer_list kUnicodeString_gtl_5F_scanner_executable = { TO_UNICODE ('e'), TO_UNICODE ('x'), TO_UNICODE ('e'), @@ -5917,40 +6310,36 @@ static const utf32 kUnicodeString_gtl_5F_scanner_executable [] = { TO_UNICODE ('b'), TO_UNICODE ('l'), TO_UNICODE ('e'), - TO_UNICODE (0) } ; //--- Unicode string for '$exists$' -static const utf32 kUnicodeString_gtl_5F_scanner_exists [] = { +static const std::initializer_list 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 utf32 kUnicodeString_gtl_5F_scanner_false [] = { +static const std::initializer_list 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 utf32 kUnicodeString_gtl_5F_scanner_for [] = { +static const std::initializer_list kUnicodeString_gtl_5F_scanner_for = { TO_UNICODE ('f'), TO_UNICODE ('o'), TO_UNICODE ('r'), - TO_UNICODE (0) } ; //--- Unicode string for '$foreach$' -static const utf32 kUnicodeString_gtl_5F_scanner_foreach [] = { +static const std::initializer_list kUnicodeString_gtl_5F_scanner_foreach = { TO_UNICODE ('f'), TO_UNICODE ('o'), TO_UNICODE ('r'), @@ -5958,92 +6347,82 @@ static const utf32 kUnicodeString_gtl_5F_scanner_foreach [] = { TO_UNICODE ('a'), TO_UNICODE ('c'), TO_UNICODE ('h'), - TO_UNICODE (0) } ; //--- Unicode string for '$from$' -static const utf32 kUnicodeString_gtl_5F_scanner_from [] = { +static const std::initializer_list 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 utf32 kUnicodeString_gtl_5F_scanner_func [] = { +static const std::initializer_list 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 utf32 kUnicodeString_gtl_5F_scanner_getter [] = { +static const std::initializer_list 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 utf32 kUnicodeString_gtl_5F_scanner_here [] = { +static const std::initializer_list 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 utf32 kUnicodeString_gtl_5F_scanner_if [] = { +static const std::initializer_list kUnicodeString_gtl_5F_scanner_if = { TO_UNICODE ('i'), TO_UNICODE ('f'), - TO_UNICODE (0) } ; //--- Unicode string for '$import$' -static const utf32 kUnicodeString_gtl_5F_scanner_import [] = { +static const std::initializer_list 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 utf32 kUnicodeString_gtl_5F_scanner_in [] = { +static const std::initializer_list kUnicodeString_gtl_5F_scanner_in = { TO_UNICODE ('i'), TO_UNICODE ('n'), - TO_UNICODE (0) } ; //--- Unicode string for '$input$' -static const utf32 kUnicodeString_gtl_5F_scanner_input [] = { +static const std::initializer_list 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 utf32 kUnicodeString_gtl_5F_scanner_let [] = { +static const std::initializer_list kUnicodeString_gtl_5F_scanner_let = { TO_UNICODE ('l'), TO_UNICODE ('e'), TO_UNICODE ('t'), - TO_UNICODE (0) } ; //--- Unicode string for '$libraries$' -static const utf32 kUnicodeString_gtl_5F_scanner_libraries [] = { +static const std::initializer_list kUnicodeString_gtl_5F_scanner_libraries = { TO_UNICODE ('l'), TO_UNICODE ('i'), TO_UNICODE ('b'), @@ -6053,90 +6432,80 @@ static const utf32 kUnicodeString_gtl_5F_scanner_libraries [] = { TO_UNICODE ('i'), TO_UNICODE ('e'), TO_UNICODE ('s'), - TO_UNICODE (0) } ; //--- Unicode string for '$listof$' -static const utf32 kUnicodeString_gtl_5F_scanner_listof [] = { +static const std::initializer_list 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 utf32 kUnicodeString_gtl_5F_scanner_loop [] = { +static const std::initializer_list 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 utf32 kUnicodeString_gtl_5F_scanner_mapof [] = { +static const std::initializer_list 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 utf32 kUnicodeString_gtl_5F_scanner_mod [] = { +static const std::initializer_list kUnicodeString_gtl_5F_scanner_mod = { TO_UNICODE ('m'), TO_UNICODE ('o'), TO_UNICODE ('d'), - TO_UNICODE (0) } ; -//--- Unicode string for '$mod_3D_$' -static const utf32 kUnicodeString_gtl_5F_scanner_mod_3D_ [] = { +//--- Unicode string for '$mod=$' +static const std::initializer_list 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 utf32 kUnicodeString_gtl_5F_scanner_no [] = { +static const std::initializer_list kUnicodeString_gtl_5F_scanner_no = { TO_UNICODE ('n'), TO_UNICODE ('o'), - TO_UNICODE (0) } ; //--- Unicode string for '$not$' -static const utf32 kUnicodeString_gtl_5F_scanner_not [] = { +static const std::initializer_list kUnicodeString_gtl_5F_scanner_not = { TO_UNICODE ('n'), TO_UNICODE ('o'), TO_UNICODE ('t'), - TO_UNICODE (0) } ; //--- Unicode string for '$or$' -static const utf32 kUnicodeString_gtl_5F_scanner_or [] = { +static const std::initializer_list kUnicodeString_gtl_5F_scanner_or = { TO_UNICODE ('o'), TO_UNICODE ('r'), - TO_UNICODE (0) } ; //--- Unicode string for '$print$' -static const utf32 kUnicodeString_gtl_5F_scanner_print [] = { +static const std::initializer_list 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 utf32 kUnicodeString_gtl_5F_scanner_println [] = { +static const std::initializer_list kUnicodeString_gtl_5F_scanner_println = { TO_UNICODE ('p'), TO_UNICODE ('r'), TO_UNICODE ('i'), @@ -6144,68 +6513,61 @@ static const utf32 kUnicodeString_gtl_5F_scanner_println [] = { TO_UNICODE ('t'), TO_UNICODE ('l'), TO_UNICODE ('n'), - TO_UNICODE (0) } ; //--- Unicode string for '$repeat$' -static const utf32 kUnicodeString_gtl_5F_scanner_repeat [] = { +static const std::initializer_list 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 utf32 kUnicodeString_gtl_5F_scanner_seed [] = { +static const std::initializer_list 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 utf32 kUnicodeString_gtl_5F_scanner_setter [] = { +static const std::initializer_list 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 utf32 kUnicodeString_gtl_5F_scanner_sort [] = { +static const std::initializer_list 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 utf32 kUnicodeString_gtl_5F_scanner_step [] = { +static const std::initializer_list 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 utf32 kUnicodeString_gtl_5F_scanner_tab [] = { +static const std::initializer_list kUnicodeString_gtl_5F_scanner_tab = { TO_UNICODE ('t'), TO_UNICODE ('a'), TO_UNICODE ('b'), - TO_UNICODE (0) } ; //--- Unicode string for '$template$' -static const utf32 kUnicodeString_gtl_5F_scanner_template [] = { +static const std::initializer_list kUnicodeString_gtl_5F_scanner_template = { TO_UNICODE ('t'), TO_UNICODE ('e'), TO_UNICODE ('m'), @@ -6214,64 +6576,57 @@ static const utf32 kUnicodeString_gtl_5F_scanner_template [] = { TO_UNICODE ('a'), TO_UNICODE ('t'), TO_UNICODE ('e'), - TO_UNICODE (0) } ; //--- Unicode string for '$then$' -static const utf32 kUnicodeString_gtl_5F_scanner_then [] = { +static const std::initializer_list 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 utf32 kUnicodeString_gtl_5F_scanner_to [] = { +static const std::initializer_list kUnicodeString_gtl_5F_scanner_to = { TO_UNICODE ('t'), TO_UNICODE ('o'), - TO_UNICODE (0) } ; //--- Unicode string for '$true$' -static const utf32 kUnicodeString_gtl_5F_scanner_true [] = { +static const std::initializer_list 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 utf32 kUnicodeString_gtl_5F_scanner_typeof [] = { +static const std::initializer_list 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 utf32 kUnicodeString_gtl_5F_scanner_unlet [] = { +static const std::initializer_list 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 utf32 kUnicodeString_gtl_5F_scanner_up [] = { +static const std::initializer_list kUnicodeString_gtl_5F_scanner_up = { TO_UNICODE ('u'), TO_UNICODE ('p'), - TO_UNICODE (0) } ; //--- Unicode string for '$variables$' -static const utf32 kUnicodeString_gtl_5F_scanner_variables [] = { +static const std::initializer_list kUnicodeString_gtl_5F_scanner_variables = { TO_UNICODE ('v'), TO_UNICODE ('a'), TO_UNICODE ('r'), @@ -6281,11 +6636,10 @@ static const utf32 kUnicodeString_gtl_5F_scanner_variables [] = { TO_UNICODE ('l'), TO_UNICODE ('e'), TO_UNICODE ('s'), - TO_UNICODE (0) } ; //--- Unicode string for '$warning$' -static const utf32 kUnicodeString_gtl_5F_scanner_warning [] = { +static const std::initializer_list kUnicodeString_gtl_5F_scanner_warning = { TO_UNICODE ('w'), TO_UNICODE ('a'), TO_UNICODE ('r'), @@ -6293,799 +6647,790 @@ static const utf32 kUnicodeString_gtl_5F_scanner_warning [] = { TO_UNICODE ('i'), TO_UNICODE ('n'), TO_UNICODE ('g'), - TO_UNICODE (0) } ; //--- Unicode string for '$while$' -static const utf32 kUnicodeString_gtl_5F_scanner_while [] = { +static const std::initializer_list 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 utf32 kUnicodeString_gtl_5F_scanner_write [] = { +static const std::initializer_list 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 utf32 kUnicodeString_gtl_5F_scanner_yes [] = { +static const std::initializer_list kUnicodeString_gtl_5F_scanner_yes = { TO_UNICODE ('y'), TO_UNICODE ('e'), TO_UNICODE ('s'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_7B_$' -static const utf32 kUnicodeString_gtl_5F_scanner__7B_ [] = { +//--- Unicode string for '${$' +static const std::initializer_list kUnicodeString_gtl_5F_scanner__7B_ = { TO_UNICODE ('{'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_7C_$' -static const utf32 kUnicodeString_gtl_5F_scanner__7C_ [] = { +//--- Unicode string for '$|$' +static const std::initializer_list kUnicodeString_gtl_5F_scanner__7C_ = { TO_UNICODE ('|'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_7C__3D_$' -static const utf32 kUnicodeString_gtl_5F_scanner__7C__3D_ [] = { +//--- Unicode string for '$|=$' +static const std::initializer_list kUnicodeString_gtl_5F_scanner__7C__3D_ = { TO_UNICODE ('|'), TO_UNICODE ('='), - TO_UNICODE (0) } ; -//--- Unicode string for '$_7D_$' -static const utf32 kUnicodeString_gtl_5F_scanner__7D_ [] = { +//--- Unicode string for '$}$' +static const std::initializer_list kUnicodeString_gtl_5F_scanner__7D_ = { TO_UNICODE ('}'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_7E_$' -static const utf32 kUnicodeString_gtl_5F_scanner__7E_ [] = { +//--- Unicode string for '$~$' +static const std::initializer_list 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_, 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) { + 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) { 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, 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) { + 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) { return searchInList (inSearchedString, ktable_for_gtl_5F_scanner_goilTemplateKeyWordList, ktable_size_gtl_5F_scanner_goilTemplateKeyWordList) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // getCurrentTokenString -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_String C_Lexique_gtl_5F_scanner::getCurrentTokenString (const cToken * inTokenPtr) const { +String Lexique_gtl_5F_scanner::getCurrentTokenString (const cToken * inTokenPtr) const { const cTokenFor_gtl_5F_scanner * ptr = (const cTokenFor_gtl_5F_scanner *) inTokenPtr ; - C_String s ; + String s ; if (ptr == nullptr) { - s.appendCString("$$") ; + s.appendCString ("$$") ; }else{ switch (ptr->mTokenCode) { case kToken_: - s.appendCString("$$") ; + s.appendCString ("$$") ; break ; case kToken_identifier: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("identifier") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; - s.appendUnicodeCharacter (TO_UNICODE (' ') COMMA_HERE) ; - s.appendCLiteralStringConstant (ptr->mLexicalAttribute_tokenString) ; + s.appendChar (TO_UNICODE ('$')) ; + s.appendChar (TO_UNICODE (' ')) ; + s.appendStringAsCLiteralStringConstant (ptr->mLexicalAttribute_tokenString) ; break ; case kToken_literal_5F_enum: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("literal_enum") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; - s.appendUnicodeCharacter (TO_UNICODE (' ') COMMA_HERE) ; - s.appendCLiteralStringConstant (ptr->mLexicalAttribute_tokenString) ; + s.appendChar (TO_UNICODE ('$')) ; + s.appendChar (TO_UNICODE (' ')) ; + s.appendStringAsCLiteralStringConstant (ptr->mLexicalAttribute_tokenString) ; break ; case kToken_literal_5F_double: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("literal_double") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; - s.appendUnicodeCharacter (TO_UNICODE (' ') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; + s.appendChar (TO_UNICODE (' ')) ; s.appendDouble (ptr->mLexicalAttribute_floatValue) ; break ; case kToken_signed_5F_literal_5F_integer_5F_bigint: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("signed_literal_integer_bigint") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; - s.appendUnicodeCharacter (TO_UNICODE (' ') COMMA_HERE) ; - s.appendCLiteralStringConstant (ptr->mLexicalAttribute_intValue.decimalString ()) ; + s.appendChar (TO_UNICODE ('$')) ; + s.appendChar (TO_UNICODE (' ')) ; + s.appendStringAsCLiteralStringConstant (ptr->mLexicalAttribute_intValue.decimalString ()) ; break ; case kToken__2D_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("-") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__2E_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString (".") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__2E__3D_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString (".=") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__2E__2E__2E_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("...") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_literal_5F_char: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("literal_char") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; - s.appendUnicodeCharacter (TO_UNICODE (' ') COMMA_HERE) ; - s.appendUnicodeCharacter (ptr->mLexicalAttribute_charValue COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; + s.appendChar (TO_UNICODE (' ')) ; + s.appendChar (ptr->mLexicalAttribute_charValue) ; break ; case kToken_string: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("string") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; - s.appendUnicodeCharacter (TO_UNICODE (' ') COMMA_HERE) ; - s.appendCLiteralStringConstant (ptr->mLexicalAttribute_a_5F_string) ; + s.appendChar (TO_UNICODE ('$')) ; + s.appendChar (TO_UNICODE (' ')) ; + s.appendStringAsCLiteralStringConstant (ptr->mLexicalAttribute_a_5F_string) ; break ; case kToken_comment: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("comment") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_after: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("after") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_before: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("before") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_between: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("between") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_by: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("by") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_default: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("default") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_display: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("display") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_do: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("do") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_down: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("down") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_else: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("else") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_elsif: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("elsif") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_emptylist: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("emptylist") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_emptymap: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("emptymap") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_end: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("end") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_error: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("error") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_exists: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("exists") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_false: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("false") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_for: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("for") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_foreach: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("foreach") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_from: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("from") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_func: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("func") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_here: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("here") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_if: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("if") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_in: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("in") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_import: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("import") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_listof: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("listof") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_let: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("let") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_loop: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("loop") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_mapof: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("mapof") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_mod: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("mod") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_no: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("no") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_not: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("not") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_or: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("or") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_print: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("print") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_println: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("println") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_seed: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("seed") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_repeat: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("repeat") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_sort: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("sort") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_step: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("step") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_tab: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("tab") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_template: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("template") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_then: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("then") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_to: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("to") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_true: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("true") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_typeof: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("typeof") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_up: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("up") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_yes: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("yes") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_warning: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("warning") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_while: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("while") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_write: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("write") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_executable: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("executable") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_variables: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("variables") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_getter: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("getter") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_unlet: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("unlet") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_setter: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("setter") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_libraries: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("libraries") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_input: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("input") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_break: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("break") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__5F__5F_VARS_5F__5F_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("__VARS__") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__2A_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("*") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__7C_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("|") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__2C_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString (",") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__2B_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("+") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__3A__3A_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("::") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__3E_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString (">") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__3A_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString (":") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__28_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("(") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__29_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString (")") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__2D__3E_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("->") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__3F_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("\?") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__3D__3D_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("==") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__21_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("!") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__3A__3D_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString (":=") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__5B_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("[") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__5D_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("]") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__2B__3D_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("+=") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__2D__3D_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("-=") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__2F_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("/") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__21__3D_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("!=") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__3E__3D_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString (">=") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__26_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("&") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__3C__3D_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("<=") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__7B_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("{") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__7D_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("}") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__3C_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("<") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__5E_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("^") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__3E__3E_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString (">>") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__7E_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("~") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__3C__2D_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("<-") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__3C__3C_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("<<") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__40_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("@") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__2A__3D_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("*=") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__2F__3D_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("/=") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__26__3D_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("&=") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__7C__3D_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("|=") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__3C__3C__3D_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("<<=") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__3E__3E__3D_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString (">>=") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_mod_3D_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("mod=") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__5E__3D_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("^=") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__40__5B_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("@[") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__40__28_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("@(") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__40__7B_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("@{") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__5B__21_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("[!") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__40__21_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("@!") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__40__3F_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("@\?") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; default: break ; @@ -7094,17 +7439,17 @@ C_String C_Lexique_gtl_5F_scanner::getCurrentTokenString (const cToken * inToken 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), @@ -7112,9 +7457,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 */, @@ -7234,19 +7579,19 @@ static const bool gtl_5F_scanner_kEndOfScriptInTemplateArray [115] = { false /* @? */ } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // INTERNAL PARSE LEXICAL TOKEN -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void C_Lexique_gtl_5F_scanner::internalParseLexicalToken (cTokenFor_gtl_5F_scanner & token) { +void Lexique_gtl_5F_scanner::internalParseLexicalToken (cTokenFor_gtl_5F_scanner & token) { bool loop = true ; - token.mLexicalAttribute_a_5F_string.setLengthToZero () ; + token.mLexicalAttribute_a_5F_string.removeAllKeepingCapacity () ; token.mLexicalAttribute_charValue = TO_UNICODE (0) ; token.mLexicalAttribute_floatValue = 0.0 ; - token.mLexicalAttribute_functionContent.setLengthToZero () ; - token.mLexicalAttribute_identifierString.setLengthToZero () ; - token.mLexicalAttribute_intValue.setToZero () ; - token.mLexicalAttribute_tokenString.setLengthToZero () ; + token.mLexicalAttribute_functionContent.removeAllKeepingCapacity () ; + token.mLexicalAttribute_identifierString.removeAllKeepingCapacity () ; + token.mLexicalAttribute_intValue = BigSigned () ; + token.mLexicalAttribute_tokenString.removeAllKeepingCapacity () ; token.mLexicalAttribute_uint_33__32_value = 0 ; mTokenStartLocation = mCurrentLocation ; try{ @@ -7278,142 +7623,142 @@ void C_Lexique_gtl_5F_scanner::internalParseLexicalToken (cTokenFor_gtl_5F_scann loop = true ; token.mTokenCode = kToken_literal_5F_enum ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner_mod_3D_, 4, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner_mod_3D_, true)) { token.mTokenCode = kToken_mod_3D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__3E__3E__3D_, 3, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__3E__3E__3D_, true)) { token.mTokenCode = kToken__3E__3E__3D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__3C__3C__3D_, 3, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__3C__3C__3D_, true)) { token.mTokenCode = kToken__3C__3C__3D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__7C__3D_, 2, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__7C__3D_, true)) { token.mTokenCode = kToken__7C__3D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__5E__3D_, 2, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__5E__3D_, true)) { token.mTokenCode = kToken__5E__3D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__5B__21_, 2, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__5B__21_, true)) { token.mTokenCode = kToken__5B__21_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__40__7B_, 2, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__40__7B_, true)) { token.mTokenCode = kToken__40__7B_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__40__5B_, 2, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__40__5B_, true)) { token.mTokenCode = kToken__40__5B_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__40__3F_, 2, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__40__3F_, true)) { token.mTokenCode = kToken__40__3F_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__40__28_, 2, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__40__28_, true)) { token.mTokenCode = kToken__40__28_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__40__21_, 2, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__40__21_, true)) { token.mTokenCode = kToken__40__21_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__3E__3E_, 2, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__3E__3E_, true)) { token.mTokenCode = kToken__3E__3E_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__3E__3D_, 2, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__3E__3D_, true)) { token.mTokenCode = kToken__3E__3D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__3D__3D_, 2, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__3D__3D_, true)) { token.mTokenCode = kToken__3D__3D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__3C__3D_, 2, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__3C__3D_, true)) { token.mTokenCode = kToken__3C__3D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__3C__3C_, 2, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__3C__3C_, true)) { token.mTokenCode = kToken__3C__3C_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__3C__2D_, 2, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__3C__2D_, true)) { token.mTokenCode = kToken__3C__2D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__3A__3D_, 2, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__3A__3D_, true)) { token.mTokenCode = kToken__3A__3D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__3A__3A_, 2, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__3A__3A_, true)) { token.mTokenCode = kToken__3A__3A_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__2F__3D_, 2, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__2F__3D_, true)) { token.mTokenCode = kToken__2F__3D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__2D__3E_, 2, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__2D__3E_, true)) { token.mTokenCode = kToken__2D__3E_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__2D__3D_, 2, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__2D__3D_, true)) { token.mTokenCode = kToken__2D__3D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__2B__3D_, 2, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__2B__3D_, true)) { token.mTokenCode = kToken__2B__3D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__2A__3D_, 2, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__2A__3D_, true)) { token.mTokenCode = kToken__2A__3D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__26__3D_, 2, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__26__3D_, true)) { token.mTokenCode = kToken__26__3D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__21__3D_, 2, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__21__3D_, true)) { token.mTokenCode = kToken__21__3D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__7E_, 1, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__7E_, true)) { token.mTokenCode = kToken__7E_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__7D_, 1, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__7D_, true)) { token.mTokenCode = kToken__7D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__7C_, 1, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__7C_, true)) { token.mTokenCode = kToken__7C_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__7B_, 1, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__7B_, true)) { token.mTokenCode = kToken__7B_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__5E_, 1, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__5E_, true)) { token.mTokenCode = kToken__5E_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__5D_, 1, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__5D_, true)) { token.mTokenCode = kToken__5D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__5B_, 1, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__5B_, true)) { token.mTokenCode = kToken__5B_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__40_, 1, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__40_, true)) { token.mTokenCode = kToken__40_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__3F_, 1, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__3F_, true)) { token.mTokenCode = kToken__3F_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__3E_, 1, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__3E_, true)) { token.mTokenCode = kToken__3E_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__3C_, 1, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__3C_, true)) { token.mTokenCode = kToken__3C_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__3A_, 1, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__3A_, true)) { token.mTokenCode = kToken__3A_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__2F_, 1, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__2F_, true)) { token.mTokenCode = kToken__2F_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__2C_, 1, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__2C_, true)) { token.mTokenCode = kToken__2C_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__2B_, 1, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__2B_, true)) { token.mTokenCode = kToken__2B_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__2A_, 1, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__2A_, true)) { token.mTokenCode = kToken__2A_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__29_, 1, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__29_, true)) { token.mTokenCode = kToken__29_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__28_, 1, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__28_, true)) { token.mTokenCode = kToken__28_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__26_, 1, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__26_, true)) { token.mTokenCode = kToken__26_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__21_, 1, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__21_, true)) { token.mTokenCode = kToken__21_ ; enterToken (token) ; }else if (testForInputUTF32Char (TO_UNICODE ('-'))) { @@ -7452,7 +7797,7 @@ void C_Lexique_gtl_5F_scanner::internalParseLexicalToken (cTokenFor_gtl_5F_scann token.mTokenCode = kToken__2D_ ; enterToken (token) ; } - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__30_x, 2, true) || testForInputUTF32String (kUnicodeString_gtl_5F_scanner__30_X, 2, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__30_x, true) || testForInputUTF32String (kUnicodeString_gtl_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_enterCharacterIntoString (*this, token.mLexicalAttribute_tokenString, previousChar ()) ; @@ -7512,10 +7857,10 @@ void C_Lexique_gtl_5F_scanner::internalParseLexicalToken (cTokenFor_gtl_5F_scann token.mTokenCode = kToken_literal_5F_double ; enterToken (token) ; }else{ - if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__2E__2E_, 2, true)) { + if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__2E__2E_, true)) { token.mTokenCode = kToken__2E__2E__2E_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__3D_, 1, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_scanner__3D_, true)) { token.mTokenCode = kToken__2E__3D_ ; enterToken (token) ; }else{ @@ -7607,7 +7952,7 @@ void C_Lexique_gtl_5F_scanner::internalParseLexicalToken (cTokenFor_gtl_5F_scann } }else if (testForInputUTF32Char (TO_UNICODE ('&'))) { do { - if (notTestForInputUTF32String (kUnicodeString_gtl_5F_scanner__3B_, 1, gLexicalMessage_gtl_5F_scanner_incorrectHTMLescapeSequence COMMA_LINE_AND_SOURCE_FILE)) { + if (notTestForInputUTF32String (kUnicodeString_gtl_5F_scanner__3B_, gLexicalMessage_gtl_5F_scanner_incorrectHTMLescapeSequence COMMA_LINE_AND_SOURCE_FILE)) { ::scanner_routine_enterCharacterIntoString (*this, token.mLexicalAttribute_tokenString, previousChar ()) ; }else{ loop = false ; @@ -7652,7 +7997,7 @@ void C_Lexique_gtl_5F_scanner::internalParseLexicalToken (cTokenFor_gtl_5F_scann ::scanner_routine_enterCharacterIntoString (*this, token.mLexicalAttribute_a_5F_string, TO_UNICODE ('\?')) ; }else if (testForInputUTF32Char (TO_UNICODE ('&'))) { do { - if (notTestForInputUTF32String (kUnicodeString_gtl_5F_scanner__3B_, 1, gLexicalMessage_gtl_5F_scanner_incorrectHTMLescapeSequence COMMA_LINE_AND_SOURCE_FILE)) { + if (notTestForInputUTF32String (kUnicodeString_gtl_5F_scanner__3B_, gLexicalMessage_gtl_5F_scanner_incorrectHTMLescapeSequence COMMA_LINE_AND_SOURCE_FILE)) { ::scanner_routine_enterCharacterIntoString (*this, token.mLexicalAttribute_identifierString, previousChar ()) ; }else{ loop = false ; @@ -7766,11 +8111,11 @@ void C_Lexique_gtl_5F_scanner::internalParseLexicalToken (cTokenFor_gtl_5F_scann } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // P A R S E L E X I C A L T O K E N -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -bool C_Lexique_gtl_5F_scanner::parseLexicalToken (void) { +bool Lexique_gtl_5F_scanner::parseLexicalToken (void) { cTokenFor_gtl_5F_scanner token ; token.mTokenCode = -1 ; while ((token.mTokenCode < 0) && (UNICODE_VALUE (mCurrentChar) != '\0')) { @@ -7778,8 +8123,7 @@ bool C_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, - gtl_5F_scanner_kTemplateDefinitionArray [mMatchedTemplateDelimiterIndex].mEndStringLength, - true) ; + true) ; if (foundEndDelimitor) { mMatchedTemplateDelimiterIndex = -1 ; } @@ -7790,14 +8134,13 @@ bool C_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 << gtl_5F_scanner_kTemplateReplacementArray [replacementIndex].mEndString ; + token.mTemplateStringBeforeToken.appendString (gtl_5F_scanner_kTemplateReplacementArray [replacementIndex].mEndString) ; }else{ - C_String s ; + String s ; while (notTestForInputUTF32String (gtl_5F_scanner_kTemplateReplacementArray [replacementIndex].mEndString, - gtl_5F_scanner_kTemplateReplacementArray [replacementIndex].mEndStringLength, - kEndOfSourceLexicalErrorMessage + kEndOfSourceLexicalErrorMessage COMMA_HERE)) { - s.appendUnicodeCharacter (previousChar () COMMA_HERE) ; + s.appendChar (previousChar ()) ; } gtl_5F_scanner_kTemplateReplacementArray [replacementIndex].mReplacementFunction (*this, s, token.mTemplateStringBeforeToken) ; } @@ -7805,7 +8148,7 @@ bool C_Lexique_gtl_5F_scanner::parseLexicalToken (void) { } mMatchedTemplateDelimiterIndex = findTemplateDelimiterIndex (gtl_5F_scanner_kTemplateDefinitionArray, 1) ; if (mMatchedTemplateDelimiterIndex < 0) { - token.mTemplateStringBeforeToken.appendUnicodeCharacter (mCurrentChar COMMA_HERE) ; + token.mTemplateStringBeforeToken.appendChar (mCurrentChar) ; advance () ; } } @@ -7824,15 +8167,14 @@ bool C_Lexique_gtl_5F_scanner::parseLexicalToken (void) { return token.mTokenCode > 0 ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // E N T E R T O K E N -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void C_Lexique_gtl_5F_scanner::enterToken (cTokenFor_gtl_5F_scanner & ioToken) { +void 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 ; @@ -7848,69 +8190,69 @@ void C_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 -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_String C_Lexique_gtl_5F_scanner::attributeValue_a_5F_string (void) const { +String 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 C_Lexique_gtl_5F_scanner::attributeValue_charValue (void) const { +utf32 Lexique_gtl_5F_scanner::attributeValue_charValue (void) const { cTokenFor_gtl_5F_scanner * ptr = (cTokenFor_gtl_5F_scanner *) currentTokenPtr (HERE) ; return ptr->mLexicalAttribute_charValue ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -double C_Lexique_gtl_5F_scanner::attributeValue_floatValue (void) const { +double Lexique_gtl_5F_scanner::attributeValue_floatValue (void) const { cTokenFor_gtl_5F_scanner * ptr = (cTokenFor_gtl_5F_scanner *) currentTokenPtr (HERE) ; return ptr->mLexicalAttribute_floatValue ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_String C_Lexique_gtl_5F_scanner::attributeValue_functionContent (void) const { +String Lexique_gtl_5F_scanner::attributeValue_functionContent (void) const { cTokenFor_gtl_5F_scanner * ptr = (cTokenFor_gtl_5F_scanner *) currentTokenPtr (HERE) ; return ptr->mLexicalAttribute_functionContent ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_String C_Lexique_gtl_5F_scanner::attributeValue_identifierString (void) const { +String Lexique_gtl_5F_scanner::attributeValue_identifierString (void) const { cTokenFor_gtl_5F_scanner * ptr = (cTokenFor_gtl_5F_scanner *) currentTokenPtr (HERE) ; return ptr->mLexicalAttribute_identifierString ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_BigInt C_Lexique_gtl_5F_scanner::attributeValue_intValue (void) const { +BigSigned Lexique_gtl_5F_scanner::attributeValue_intValue (void) const { cTokenFor_gtl_5F_scanner * ptr = (cTokenFor_gtl_5F_scanner *) currentTokenPtr (HERE) ; return ptr->mLexicalAttribute_intValue ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_String C_Lexique_gtl_5F_scanner::attributeValue_tokenString (void) const { +String 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 C_Lexique_gtl_5F_scanner::attributeValue_uint_33__32_value (void) const { +uint32_t 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 C_Lexique_gtl_5F_scanner::synthetizedAttribute_a_5F_string (void) const { +GALGAS_lstring 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 ()) ; @@ -7919,9 +8261,9 @@ GALGAS_lstring C_Lexique_gtl_5F_scanner::synthetizedAttribute_a_5F_string (void) return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_lchar C_Lexique_gtl_5F_scanner::synthetizedAttribute_charValue (void) const { +GALGAS_lchar 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 ()) ; @@ -7930,9 +8272,9 @@ GALGAS_lchar C_Lexique_gtl_5F_scanner::synthetizedAttribute_charValue (void) con return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_ldouble C_Lexique_gtl_5F_scanner::synthetizedAttribute_floatValue (void) const { +GALGAS_ldouble 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 ()) ; @@ -7941,9 +8283,9 @@ GALGAS_ldouble C_Lexique_gtl_5F_scanner::synthetizedAttribute_floatValue (void) return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_lstring C_Lexique_gtl_5F_scanner::synthetizedAttribute_functionContent (void) const { +GALGAS_lstring 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 ()) ; @@ -7952,9 +8294,9 @@ GALGAS_lstring C_Lexique_gtl_5F_scanner::synthetizedAttribute_functionContent (v return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_lstring C_Lexique_gtl_5F_scanner::synthetizedAttribute_identifierString (void) const { +GALGAS_lstring 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 ()) ; @@ -7963,9 +8305,9 @@ GALGAS_lstring C_Lexique_gtl_5F_scanner::synthetizedAttribute_identifierString ( return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_lbigint C_Lexique_gtl_5F_scanner::synthetizedAttribute_intValue (void) const { +GALGAS_lbigint 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 ()) ; @@ -7974,9 +8316,9 @@ GALGAS_lbigint C_Lexique_gtl_5F_scanner::synthetizedAttribute_intValue (void) co return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_lstring C_Lexique_gtl_5F_scanner::synthetizedAttribute_tokenString (void) const { +GALGAS_lstring 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 ()) ; @@ -7985,9 +8327,9 @@ GALGAS_lstring C_Lexique_gtl_5F_scanner::synthetizedAttribute_tokenString (void) return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_luint C_Lexique_gtl_5F_scanner::synthetizedAttribute_uint_33__32_value (void) const { +GALGAS_luint 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 ()) ; @@ -7996,142 +8338,142 @@ GALGAS_luint C_Lexique_gtl_5F_scanner::synthetizedAttribute_uint_33__32_value (v return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // I N T R O S P E C T I O N -//---------------------------------------------------------------------------------------------------------------------- - -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) { +//-------------------------------------------------------------------------------------------------- + +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) { ioList.appendObject ("gtl_scanner:galgasDelimitorsList") ; ioList.appendObject ("gtl_scanner:goilTemplateKeyWordList") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static void getKeywordsForIdentifier_gtl_5F_scanner (const C_String & inIdentifier, +static void getKeywordsForIdentifier_gtl_5F_scanner (const String & inIdentifier, bool & ioFound, - TC_UniqueArray & ioList) { + TC_UniqueArray & ioList) { if (inIdentifier == "gtl_scanner:galgasDelimitorsList") { ioFound = true ; ioList.appendObject ("!") ; @@ -8246,17 +8588,17 @@ static void getKeywordsForIdentifier_gtl_5F_scanner (const C_String & inIdentifi } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- 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 C_Lexique_gtl_5F_scanner::styleIndexForTerminal (const int32_t inTerminalIndex) const { +uint32_t 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 */, @@ -8377,12 +8719,12 @@ uint32_t C_Lexique_gtl_5F_scanner::styleIndexForTerminal (const int32_t inTermin 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 -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_String C_Lexique_gtl_5F_scanner::styleNameForIndex (const uint32_t inStyleIndex) const { - C_String result ; +String Lexique_gtl_5F_scanner::styleNameForIndex (const uint32_t inStyleIndex) const { + String result ; if (inStyleIndex < 9) { static const char * kStyleArray [9] = { "", @@ -8400,16 +8742,16 @@ C_String C_Lexique_gtl_5F_scanner::styleNameForIndex (const uint32_t inStyleInde return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Class for element of '@gtlArgumentList' list // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class cCollectionElement_gtlArgumentList : public cCollectionElement { public: GALGAS_gtlArgumentList_2D_element mObject ; -//--- Constructors +//--- Class functions public: cCollectionElement_gtlArgumentList (const GALGAS_bool & in_typed, const GALGAS_type & in_type, const GALGAS_lstring & in_name @@ -8426,10 +8768,10 @@ class cCollectionElement_gtlArgumentList : public cCollectionElement { public: virtual cCollectionElement * copy (void) ; //--- Description - public: virtual void description (C_String & ioString, const int32_t inIndentation) const ; + public: virtual void description (String & ioString, const int32_t inIndentation) const ; } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cCollectionElement_gtlArgumentList::cCollectionElement_gtlArgumentList (const GALGAS_bool & in_typed, const GALGAS_type & in_type, @@ -8439,20 +8781,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 ; @@ -8460,24 +8802,24 @@ cCollectionElement * cCollectionElement_gtlArgumentList::copy (void) { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void cCollectionElement_gtlArgumentList::description (C_String & ioString, const int32_t inIndentation) const { - ioString << "\n" ; - ioString.writeStringMultiple ("| ", inIndentation) ; - ioString << "typed" ":" ; +void cCollectionElement_gtlArgumentList::description (String & ioString, const int32_t inIndentation) const { + ioString.appendNewLine () ; + ioString.appendStringMultiple ("| ", inIndentation) ; + ioString.appendCString ("typed" ":") ; mObject.mProperty_typed.description (ioString, inIndentation) ; - ioString << "\n" ; - ioString.writeStringMultiple ("| ", inIndentation) ; - ioString << "type" ":" ; + ioString.appendNewLine () ; + ioString.appendStringMultiple ("| ", inIndentation) ; + ioString.appendCString ("type" ":") ; mObject.mProperty_type.description (ioString, inIndentation) ; - ioString << "\n" ; - ioString.writeStringMultiple ("| ", inIndentation) ; - ioString << "name" ":" ; + ioString.appendNewLine () ; + ioString.appendStringMultiple ("| ", inIndentation) ; + ioString.appendCString ("name" ":") ; mObject.mProperty_name.description (ioString, inIndentation) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult cCollectionElement_gtlArgumentList::compare (const cCollectionElement * inOperand) const { cCollectionElement_gtlArgumentList * operand = (cCollectionElement_gtlArgumentList *) inOperand ; @@ -8485,30 +8827,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::constructor_emptyList (UNUSED_LOCATION_ARGS) { - return GALGAS_gtlArgumentList (capCollectionElementArray ()) ; +GALGAS_gtlArgumentList GALGAS_gtlArgumentList::class_func_emptyList (UNUSED_LOCATION_ARGS) { + return GALGAS_gtlArgumentList (capCollectionElementArray ()) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_gtlArgumentList GALGAS_gtlArgumentList::constructor_listWithValue (const GALGAS_bool & inOperand0, - const GALGAS_type & inOperand1, - const GALGAS_lstring & inOperand2 - COMMA_LOCATION_ARGS) { +GALGAS_gtlArgumentList GALGAS_gtlArgumentList::class_func_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 ()) ; @@ -8519,7 +8861,7 @@ GALGAS_gtlArgumentList GALGAS_gtlArgumentList::constructor_listWithValue (const return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlArgumentList::makeAttributesFromObjects (capCollectionElement & outAttributes, const GALGAS_bool & in_typed, @@ -8534,7 +8876,7 @@ void GALGAS_gtlArgumentList::makeAttributesFromObjects (capCollectionElement & o macroDetachSharedObject (p) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlArgumentList::addAssign_operation (const GALGAS_bool & inOperand0, const GALGAS_type & inOperand1, @@ -8550,12 +8892,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, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_LOCATION_ARGS) { if (isValid ()) { cCollectionElement * p = nullptr ; @@ -8567,13 +8909,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inInsertionIndex.isValid () && inOperand0.isValid () && inOperand1.isValid () && inOperand2.isValid ()) { @@ -8589,13 +8931,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inRemoveIndex.isValid ()) { @@ -8626,12 +8968,12 @@ void GALGAS_gtlArgumentList::setter_removeAtIndex (GALGAS_bool & outOperand0, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlArgumentList::setter_popFirst (GALGAS_bool & outOperand0, GALGAS_type & outOperand1, GALGAS_lstring & outOperand2, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeFirstObject (attributes, inCompiler COMMA_THERE) ; @@ -8648,12 +8990,12 @@ void GALGAS_gtlArgumentList::setter_popFirst (GALGAS_bool & outOperand0, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlArgumentList::setter_popLast (GALGAS_bool & outOperand0, GALGAS_type & outOperand1, GALGAS_lstring & outOperand2, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeLastObject (attributes, inCompiler COMMA_THERE) ; @@ -8670,12 +9012,12 @@ void GALGAS_gtlArgumentList::setter_popLast (GALGAS_bool & outOperand0, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlArgumentList::method_first (GALGAS_bool & outOperand0, GALGAS_type & outOperand1, GALGAS_lstring & outOperand2, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readFirst (attributes, inCompiler COMMA_THERE) ; @@ -8692,12 +9034,12 @@ void GALGAS_gtlArgumentList::method_first (GALGAS_bool & outOperand0, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlArgumentList::method_last (GALGAS_bool & outOperand0, GALGAS_type & outOperand1, GALGAS_lstring & outOperand2, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readLast (attributes, inCompiler COMMA_THERE) ; @@ -8714,10 +9056,10 @@ void GALGAS_gtlArgumentList::method_last (GALGAS_bool & outOperand0, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlArgumentList GALGAS_gtlArgumentList::add_operation (const GALGAS_gtlArgumentList & inOperand, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_gtlArgumentList result ; if (isValid () && inOperand.isValid ()) { @@ -8727,49 +9069,49 @@ GALGAS_gtlArgumentList GALGAS_gtlArgumentList::add_operation (const GALGAS_gtlAr return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlArgumentList GALGAS_gtlArgumentList::getter_subListWithRange (const GALGAS_range & inRange, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_gtlArgumentList result = GALGAS_gtlArgumentList::constructor_emptyList (THERE) ; + GALGAS_gtlArgumentList result = GALGAS_gtlArgumentList::class_func_emptyList (THERE) ; subListWithRange (result, inRange, inCompiler COMMA_THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlArgumentList GALGAS_gtlArgumentList::getter_subListFromIndex (const GALGAS_uint & inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_gtlArgumentList result = GALGAS_gtlArgumentList::constructor_emptyList (THERE) ; + GALGAS_gtlArgumentList result = GALGAS_gtlArgumentList::class_func_emptyList (THERE) ; subListFromIndex (result, inIndex, inCompiler COMMA_THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlArgumentList GALGAS_gtlArgumentList::getter_subListToIndex (const GALGAS_uint & inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_gtlArgumentList result = GALGAS_gtlArgumentList::constructor_emptyList (THERE) ; + GALGAS_gtlArgumentList result = GALGAS_gtlArgumentList::class_func_emptyList (THERE) ; subListToIndex (result, inIndex, inCompiler COMMA_THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlArgumentList::plusAssign_operation (const GALGAS_gtlArgumentList inOperand, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) { appendList (inOperand) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlArgumentList::setter_setTypedAtIndex (GALGAS_bool inOperand, GALGAS_uint inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement_gtlArgumentList * p = (cCollectionElement_gtlArgumentList *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; if (nullptr != p) { @@ -8779,10 +9121,10 @@ void GALGAS_gtlArgumentList::setter_setTypedAtIndex (GALGAS_bool inOperand, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_gtlArgumentList::getter_typedAtIndex (const GALGAS_uint & inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes = readObjectAtIndex (inIndex, inCompiler COMMA_THERE) ; cCollectionElement_gtlArgumentList * p = (cCollectionElement_gtlArgumentList *) attributes.ptr () ; @@ -8794,11 +9136,11 @@ GALGAS_bool GALGAS_gtlArgumentList::getter_typedAtIndex (const GALGAS_uint & inI return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlArgumentList::setter_setTypeAtIndex (GALGAS_type inOperand, GALGAS_uint inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement_gtlArgumentList * p = (cCollectionElement_gtlArgumentList *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; if (nullptr != p) { @@ -8808,10 +9150,10 @@ void GALGAS_gtlArgumentList::setter_setTypeAtIndex (GALGAS_type inOperand, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_type GALGAS_gtlArgumentList::getter_typeAtIndex (const GALGAS_uint & inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes = readObjectAtIndex (inIndex, inCompiler COMMA_THERE) ; cCollectionElement_gtlArgumentList * p = (cCollectionElement_gtlArgumentList *) attributes.ptr () ; @@ -8823,11 +9165,11 @@ GALGAS_type GALGAS_gtlArgumentList::getter_typeAtIndex (const GALGAS_uint & inIn return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlArgumentList::setter_setNameAtIndex (GALGAS_lstring inOperand, GALGAS_uint inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement_gtlArgumentList * p = (cCollectionElement_gtlArgumentList *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; if (nullptr != p) { @@ -8837,10 +9179,10 @@ void GALGAS_gtlArgumentList::setter_setNameAtIndex (GALGAS_lstring inOperand, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_lstring GALGAS_gtlArgumentList::getter_nameAtIndex (const GALGAS_uint & inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes = readObjectAtIndex (inIndex, inCompiler COMMA_THERE) ; cCollectionElement_gtlArgumentList * p = (cCollectionElement_gtlArgumentList *) attributes.ptr () ; @@ -8854,7 +9196,7 @@ GALGAS_lstring GALGAS_gtlArgumentList::getter_nameAtIndex (const GALGAS_uint & i -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cEnumerator_gtlArgumentList::cEnumerator_gtlArgumentList (const GALGAS_gtlArgumentList & inEnumeratedObject, const typeEnumerationOrder inOrder) : @@ -8862,7 +9204,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) ; @@ -8871,7 +9213,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) ; @@ -8879,7 +9221,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) ; @@ -8887,7 +9229,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) ; @@ -8898,23 +9240,22 @@ 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 ; @@ -8924,10 +9265,10 @@ AC_GALGAS_root * GALGAS_gtlArgumentList::clonedObject (void) const { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlArgumentList GALGAS_gtlArgumentList::extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlArgumentList result ; const GALGAS_gtlArgumentList * p = (const GALGAS_gtlArgumentList *) inObject.embeddedObject () ; @@ -8941,7 +9282,7 @@ GALGAS_gtlArgumentList GALGAS_gtlArgumentList::extractObject (const GALGAS_objec return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cMapElement_gtlProcMap::cMapElement_gtlProcMap (const GALGAS_lstring & inKey, const GALGAS_gtlProcedure & in_procedure @@ -8950,13 +9291,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 ; @@ -8964,16 +9305,16 @@ cMapElement * cMapElement_gtlProcMap::copy (void) { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void cMapElement_gtlProcMap::description (C_String & ioString, const int32_t inIndentation) const { - ioString << "\n" ; - ioString.writeStringMultiple ("| ", inIndentation) ; - ioString << "procedure" ":" ; +void cMapElement_gtlProcMap::description (String & ioString, const int32_t inIndentation) const { + ioString.appendNewLine () ; + ioString.appendStringMultiple ("| ", inIndentation) ; + ioString.appendCString ("procedure" ":") ; mProperty_procedure.description (ioString, inIndentation) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult cMapElement_gtlProcMap::compare (const cCollectionElement * inOperand) const { cMapElement_gtlProcMap * operand = (cMapElement_gtlProcMap *) inOperand ; @@ -8984,56 +9325,56 @@ typeComparisonResult cMapElement_gtlProcMap::compare (const cCollectionElement * return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlProcMap::GALGAS_gtlProcMap (void) : -AC_GALGAS_map (true) { +AC_GALGAS_map () { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- 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::constructor_emptyMap (LOCATION_ARGS) { +GALGAS_gtlProcMap GALGAS_gtlProcMap::class_func_emptyMap (LOCATION_ARGS) { GALGAS_gtlProcMap result ; result.makeNewEmptyMap (THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_gtlProcMap GALGAS_gtlProcMap::constructor_mapWithMapToOverride (const GALGAS_gtlProcMap & inMapToOverride - COMMA_LOCATION_ARGS) { +GALGAS_gtlProcMap GALGAS_gtlProcMap::class_func_mapWithMapToOverride (const GALGAS_gtlProcMap & inMapToOverride + COMMA_LOCATION_ARGS) { GALGAS_gtlProcMap result ; result.makeNewEmptyMapWithMapToOverride (inMapToOverride COMMA_THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_gtlProcMap GALGAS_gtlProcMap::getter_overriddenMap (C_Compiler * inCompiler +GALGAS_gtlProcMap GALGAS_gtlProcMap::getter_overriddenMap (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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { cMapElement_gtlProcMap * p = nullptr ; macroMyNew (p, cMapElement_gtlProcMap (inKey, inArgument0 COMMA_HERE)) ; @@ -9045,10 +9386,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { GALGAS_gtlProcMap result = *this ; cEnumerator_gtlProcMap enumerator (inOperand, kENUMERATION_UP) ; @@ -9059,11 +9400,11 @@ GALGAS_gtlProcMap GALGAS_gtlProcMap::add_operation (const GALGAS_gtlProcMap & in return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlProcMap::setter_put (GALGAS_lstring inKey, GALGAS_gtlProcedure inArgument0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { cMapElement_gtlProcMap * p = nullptr ; macroMyNew (p, cMapElement_gtlProcMap (inKey, inArgument0 COMMA_HERE)) ; @@ -9075,15 +9416,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { const cMapElement_gtlProcMap * p = (const cMapElement_gtlProcMap *) performSearch (inKey, inCompiler, @@ -9097,10 +9438,10 @@ void GALGAS_gtlProcMap::method_get (GALGAS_lstring inKey, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlProcedure GALGAS_gtlProcMap::getter_procedureForKey (const GALGAS_string & inKey, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { const cCollectionElement * attributes = searchForReadingAttribute (inKey, inCompiler COMMA_THERE) ; const cMapElement_gtlProcMap * p = (const cMapElement_gtlProcMap *) attributes ; @@ -9112,11 +9453,11 @@ GALGAS_gtlProcedure GALGAS_gtlProcMap::getter_procedureForKey (const GALGAS_stri return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlProcMap::setter_setProcedureForKey (GALGAS_gtlProcedure inAttributeValue, GALGAS_string inKey, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement * attributes = searchForReadWriteAttribute (inKey, true, inCompiler COMMA_THERE) ; cMapElement_gtlProcMap * p = (cMapElement_gtlProcMap *) attributes ; @@ -9126,9 +9467,9 @@ void GALGAS_gtlProcMap::setter_setProcedureForKey (GALGAS_gtlProcedure inAttribu } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -cMapElement_gtlProcMap * GALGAS_gtlProcMap::readWriteAccessForWithInstruction (C_Compiler * inCompiler, +cMapElement_gtlProcMap * GALGAS_gtlProcMap::readWriteAccessForWithInstruction (Compiler * inCompiler, const GALGAS_string & inKey COMMA_LOCATION_ARGS) { cMapElement_gtlProcMap * result = (cMapElement_gtlProcMap *) searchForReadWriteAttribute (inKey, false, inCompiler COMMA_THERE) ; @@ -9136,7 +9477,7 @@ cMapElement_gtlProcMap * GALGAS_gtlProcMap::readWriteAccessForWithInstruction (C return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cEnumerator_gtlProcMap::cEnumerator_gtlProcMap (const GALGAS_gtlProcMap & inEnumeratedObject, const typeEnumerationOrder inOrder) : @@ -9144,7 +9485,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) ; @@ -9152,7 +9493,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) ; @@ -9160,7 +9501,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) ; @@ -9168,7 +9509,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 { @@ -9183,23 +9524,22 @@ 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 ; @@ -9209,10 +9549,10 @@ AC_GALGAS_root * GALGAS_gtlProcMap::clonedObject (void) const { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlProcMap GALGAS_gtlProcMap::extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlProcMap result ; const GALGAS_gtlProcMap * p = (const GALGAS_gtlProcMap *) inObject.embeddedObject () ; @@ -9231,25 +9571,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, - C_Lexique_gtl_5F_scanner * inCompiler) { + 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 (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)) ; + 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)) ; GALGAS_gtlExpression var_rightSon_1159 ; nt_gtl_5F_relation_5F_term_ (var_rightSon_1159, inCompiler) ; - outArgument_expression = GALGAS_gtlOrExpression::constructor_new (var_opLocation_1096, outArgument_expression, var_rightSon_1159 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 41)) ; + outArgument_expression = GALGAS_gtlOrExpression::class_func_new (var_opLocation_1096, outArgument_expression, var_rightSon_1159 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 41)) ; } break ; case 3: { - 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)) ; + 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)) ; GALGAS_gtlExpression var_rightSon_1339 ; nt_gtl_5F_relation_5F_term_ (var_rightSon_1339, inCompiler) ; - outArgument_expression = GALGAS_gtlXorExpression::constructor_new (var_opLocation_1276, outArgument_expression, var_rightSon_1339 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 45)) ; + outArgument_expression = GALGAS_gtlXorExpression::class_func_new (var_opLocation_1276, outArgument_expression, var_rightSon_1339 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 45)) ; } break ; default: repeatFlag_0 = false ; @@ -9260,17 +9600,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 (C_Lexique_gtl_5F_scanner * inCompiler) { +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_expression_i0_parse (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 (C_Lexique_gtl_5F_scanner::kToken__7C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 39)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_scanner::kToken__5E_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 43)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__5E_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 43)) ; nt_gtl_5F_relation_5F_term_parse (inCompiler) ; } break ; default: @@ -9283,17 +9623,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 (C_Lexique_gtl_5F_scanner * inCompiler) { +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_expression_i0_indexing (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 (C_Lexique_gtl_5F_scanner::kToken__7C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 39)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_scanner::kToken__5E_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 43)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__5E_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 43)) ; nt_gtl_5F_relation_5F_term_indexing (inCompiler) ; } break ; default: @@ -9306,17 +9646,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, - C_Lexique_gtl_5F_scanner * inCompiler) { + 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 (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)) ; + 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)) ; GALGAS_gtlExpression var_rightSon_1876 ; nt_gtl_5F_relation_5F_factor_ (var_rightSon_1876, inCompiler) ; - outArgument_expression = GALGAS_gtlAndExpression::constructor_new (var_opLocation_1811, outArgument_expression, var_rightSon_1876 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 61)) ; + outArgument_expression = GALGAS_gtlAndExpression::class_func_new (var_opLocation_1811, outArgument_expression, var_rightSon_1876 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 61)) ; }else{ repeatFlag_0 = false ; } @@ -9325,12 +9665,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 (C_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 (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 (C_Lexique_gtl_5F_scanner::kToken__26_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 59)) ; + inCompiler->acceptTerminal (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 ; @@ -9341,12 +9681,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 (C_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 (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 (C_Lexique_gtl_5F_scanner::kToken__26_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 59)) ; + inCompiler->acceptTerminal (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 ; @@ -9357,53 +9697,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, - C_Lexique_gtl_5F_scanner * inCompiler) { + 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 (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)) ; + 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)) ; GALGAS_gtlExpression var_rightSon_2417 ; nt_gtl_5F_simple_5F_expression_ (var_rightSon_2417, inCompiler) ; - outArgument_expression = GALGAS_gtlEqualExpression::constructor_new (var_opLocation_2350, outArgument_expression, var_rightSon_2417 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 77)) ; + outArgument_expression = GALGAS_gtlEqualExpression::class_func_new (var_opLocation_2350, outArgument_expression, var_rightSon_2417 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 77)) ; } break ; case 3: { - 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)) ; + 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)) ; GALGAS_gtlExpression var_rightSon_2612 ; nt_gtl_5F_simple_5F_expression_ (var_rightSon_2612, inCompiler) ; - outArgument_expression = GALGAS_gtlNotEqualExpression::constructor_new (var_opLocation_2545, outArgument_expression, var_rightSon_2612 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 83)) ; + outArgument_expression = GALGAS_gtlNotEqualExpression::class_func_new (var_opLocation_2545, outArgument_expression, var_rightSon_2612 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 83)) ; } break ; case 4: { - 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)) ; + 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)) ; GALGAS_gtlExpression var_rightSon_2810 ; nt_gtl_5F_simple_5F_expression_ (var_rightSon_2810, inCompiler) ; - outArgument_expression = GALGAS_gtlLowerOrEqualExpression::constructor_new (var_opLocation_2743, outArgument_expression, var_rightSon_2810 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 89)) ; + outArgument_expression = GALGAS_gtlLowerOrEqualExpression::class_func_new (var_opLocation_2743, outArgument_expression, var_rightSon_2810 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 89)) ; } break ; case 5: { - 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)) ; + 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)) ; GALGAS_gtlExpression var_rightSon_3012 ; nt_gtl_5F_simple_5F_expression_ (var_rightSon_3012, inCompiler) ; - outArgument_expression = GALGAS_gtlGreaterOrEqualExpression::constructor_new (var_opLocation_2945, outArgument_expression, var_rightSon_3012 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 95)) ; + outArgument_expression = GALGAS_gtlGreaterOrEqualExpression::class_func_new (var_opLocation_2945, outArgument_expression, var_rightSon_3012 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 95)) ; } break ; case 6: { - 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)) ; + 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)) ; GALGAS_gtlExpression var_rightSon_3215 ; nt_gtl_5F_simple_5F_expression_ (var_rightSon_3215, inCompiler) ; - outArgument_expression = GALGAS_gtlGreaterThanExpression::constructor_new (var_opLocation_3148, outArgument_expression, var_rightSon_3215 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 101)) ; + outArgument_expression = GALGAS_gtlGreaterThanExpression::class_func_new (var_opLocation_3148, outArgument_expression, var_rightSon_3215 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 101)) ; } break ; case 7: { - 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)) ; + 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)) ; GALGAS_gtlExpression var_rightSon_3415 ; nt_gtl_5F_simple_5F_expression_ (var_rightSon_3415, inCompiler) ; - outArgument_expression = GALGAS_gtlLowerThanExpression::constructor_new (var_opLocation_3348, outArgument_expression, var_rightSon_3415 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 107)) ; + outArgument_expression = GALGAS_gtlLowerThanExpression::class_func_new (var_opLocation_3348, outArgument_expression, var_rightSon_3415 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 107)) ; } break ; default: break ; @@ -9412,33 +9752,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 (C_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 (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 (C_Lexique_gtl_5F_scanner::kToken__3D__3D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 75)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_scanner::kToken__21__3D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 81)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_scanner::kToken__3C__3D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 87)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_scanner::kToken__3E__3D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 93)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_scanner::kToken__3E_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 99)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_scanner::kToken__3C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 105)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__3C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 105)) ; nt_gtl_5F_simple_5F_expression_parse (inCompiler) ; } break ; default: @@ -9449,33 +9789,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 (C_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 (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 (C_Lexique_gtl_5F_scanner::kToken__3D__3D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 75)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_scanner::kToken__21__3D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 81)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_scanner::kToken__3C__3D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 87)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_scanner::kToken__3E__3D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 93)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_scanner::kToken__3E_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 99)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_scanner::kToken__3C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 105)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__3C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 105)) ; nt_gtl_5F_simple_5F_expression_indexing (inCompiler) ; } break ; default: @@ -9486,36 +9826,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, - C_Lexique_gtl_5F_scanner * inCompiler) { + 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 (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)) ; + 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)) ; GALGAS_gtlExpression var_rightSon_3952 ; nt_gtl_5F_term_ (var_rightSon_3952, inCompiler) ; - outArgument_expression = GALGAS_gtlShiftLeftExpression::constructor_new (var_opLocation_3898, outArgument_expression, var_rightSon_3952 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 125)) ; + outArgument_expression = GALGAS_gtlShiftLeftExpression::class_func_new (var_opLocation_3898, outArgument_expression, var_rightSon_3952 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 125)) ; } break ; case 3: { - 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)) ; + 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)) ; GALGAS_gtlExpression var_rightSon_4142 ; nt_gtl_5F_term_ (var_rightSon_4142, inCompiler) ; - outArgument_expression = GALGAS_gtlShiftRightExpression::constructor_new (var_opLocation_4088, outArgument_expression, var_rightSon_4142 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 131)) ; + outArgument_expression = GALGAS_gtlShiftRightExpression::class_func_new (var_opLocation_4088, outArgument_expression, var_rightSon_4142 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 131)) ; } break ; case 4: { - 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)) ; + 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)) ; GALGAS_gtlExpression var_rightSon_4332 ; nt_gtl_5F_term_ (var_rightSon_4332, inCompiler) ; - outArgument_expression = GALGAS_gtlAddExpression::constructor_new (var_opLocation_4278, outArgument_expression, var_rightSon_4332 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 137)) ; + outArgument_expression = GALGAS_gtlAddExpression::class_func_new (var_opLocation_4278, outArgument_expression, var_rightSon_4332 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 137)) ; } break ; case 5: { - 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)) ; + 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)) ; enumGalgasBool test_1 = kBoolTrue ; if (kBoolTrue == test_1) { test_1 = GALGAS_bool (gOption_gtl_5F_options_warnDeprecated.readProperty_value ()).boolEnum () ; @@ -9527,14 +9867,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::constructor_new (var_opLocation_4461, outArgument_expression, var_rightSon_4655 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 146)) ; + outArgument_expression = GALGAS_gtlAddExpression::class_func_new (var_opLocation_4461, outArgument_expression, var_rightSon_4655 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 146)) ; } break ; case 6: { - 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)) ; + 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)) ; GALGAS_gtlExpression var_rightSon_4838 ; nt_gtl_5F_term_ (var_rightSon_4838, inCompiler) ; - outArgument_expression = GALGAS_gtlSubstractExpression::constructor_new (var_opLocation_4784, outArgument_expression, var_rightSon_4838 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 152)) ; + outArgument_expression = GALGAS_gtlSubstractExpression::class_func_new (var_opLocation_4784, outArgument_expression, var_rightSon_4838 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 152)) ; } break ; default: repeatFlag_0 = false ; @@ -9545,29 +9885,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 (C_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 (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 (C_Lexique_gtl_5F_scanner::kToken__3C__3C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 123)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_scanner::kToken__3E__3E_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 129)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_scanner::kToken__2B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 135)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_scanner::kToken__2E_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 141)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_scanner::kToken__2D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 150)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 150)) ; nt_gtl_5F_term_parse (inCompiler) ; } break ; default: @@ -9580,29 +9920,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 (C_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 (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 (C_Lexique_gtl_5F_scanner::kToken__3C__3C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 123)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_scanner::kToken__3E__3E_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 129)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_scanner::kToken__2B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 135)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_scanner::kToken__2E_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 141)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_scanner::kToken__2D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 150)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 150)) ; nt_gtl_5F_term_indexing (inCompiler) ; } break ; default: @@ -9615,32 +9955,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, - C_Lexique_gtl_5F_scanner * inCompiler) { + 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 (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)) ; + 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)) ; GALGAS_gtlExpression var_rightSon_5365 ; nt_gtl_5F_factor_ (var_rightSon_5365, inCompiler) ; - outArgument_expression = GALGAS_gtlMultiplyExpression::constructor_new (var_opLocation_5309, outArgument_expression, var_rightSon_5365 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 170)) ; + outArgument_expression = GALGAS_gtlMultiplyExpression::class_func_new (var_opLocation_5309, outArgument_expression, var_rightSon_5365 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 170)) ; } break ; case 3: { - 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)) ; + 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)) ; GALGAS_gtlExpression var_rightSon_5555 ; nt_gtl_5F_factor_ (var_rightSon_5555, inCompiler) ; - outArgument_expression = GALGAS_gtlDivideExpression::constructor_new (var_opLocation_5499, outArgument_expression, var_rightSon_5555 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 176)) ; + outArgument_expression = GALGAS_gtlDivideExpression::class_func_new (var_opLocation_5499, outArgument_expression, var_rightSon_5555 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 176)) ; } break ; case 4: { - 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)) ; + 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)) ; GALGAS_gtlExpression var_rightSon_5745 ; nt_gtl_5F_factor_ (var_rightSon_5745, inCompiler) ; - outArgument_expression = GALGAS_gtlModulusExpression::constructor_new (var_opLocation_5689, outArgument_expression, var_rightSon_5745 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 182)) ; + outArgument_expression = GALGAS_gtlModulusExpression::class_func_new (var_opLocation_5689, outArgument_expression, var_rightSon_5745 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 182)) ; } break ; default: repeatFlag_0 = false ; @@ -9651,21 +9991,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 (C_Lexique_gtl_5F_scanner * inCompiler) { +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_term_i4_parse (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 (C_Lexique_gtl_5F_scanner::kToken__2A_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 168)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_scanner::kToken__2F_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 174)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_scanner::kToken_mod COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 180)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_mod COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 180)) ; nt_gtl_5F_factor_parse (inCompiler) ; } break ; default: @@ -9678,21 +10018,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 (C_Lexique_gtl_5F_scanner * inCompiler) { +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_term_i4_indexing (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 (C_Lexique_gtl_5F_scanner::kToken__2A_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 168)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_scanner::kToken__2F_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 174)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_scanner::kToken_mod COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 180)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_mod COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 180)) ; nt_gtl_5F_factor_indexing (inCompiler) ; } break ; default: @@ -9705,288 +10045,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, - C_Lexique_gtl_5F_scanner * inCompiler) { + Lexique_gtl_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - 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)) ; + 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)) ; GALGAS_gtlExpression var_factorExpression_6227 ; nt_gtl_5F_expression_ (var_factorExpression_6227, inCompiler) ; - 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)) ; + 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)) ; } //---------------------------------------------------------------------------------------------------------------------* -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)) ; +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)) ; nt_gtl_5F_expression_parse (inCompiler) ; - inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 201)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (C_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 (Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__28_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 195)) ; nt_gtl_5F_expression_indexing (inCompiler) ; - inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 201)) ; + inCompiler->acceptTerminal (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, - C_Lexique_gtl_5F_scanner * inCompiler) { + Lexique_gtl_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - 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)) ; + 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)) ; GALGAS_gtlExpression var_notExpression_6715 ; nt_gtl_5F_factor_ (var_notExpression_6715, inCompiler) ; - outArgument_expression = GALGAS_gtlNotExpression::constructor_new (var_opLocation_6661, var_notExpression_6715 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 213)) ; + outArgument_expression = GALGAS_gtlNotExpression::class_func_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 (C_Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (C_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 (Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (C_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 (Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (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, - C_Lexique_gtl_5F_scanner * inCompiler) { + Lexique_gtl_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - 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)) ; + 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)) ; GALGAS_gtlExpression var_notExpression_7169 ; nt_gtl_5F_factor_ (var_notExpression_7169, inCompiler) ; - outArgument_expression = GALGAS_gtlNotExpression::constructor_new (var_opLocation_7115, var_notExpression_7169 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 225)) ; + outArgument_expression = GALGAS_gtlNotExpression::class_func_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 (C_Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (C_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 (Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (C_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 (Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (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, - C_Lexique_gtl_5F_scanner * inCompiler) { + Lexique_gtl_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - 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)) ; + 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)) ; GALGAS_gtlExpression var_minusExpression_7623 ; nt_gtl_5F_factor_ (var_minusExpression_7623, inCompiler) ; - outArgument_expression = GALGAS_gtlMinusExpression::constructor_new (var_opLocation_7569, var_minusExpression_7623 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 237)) ; + outArgument_expression = GALGAS_gtlMinusExpression::class_func_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 (C_Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (C_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 (Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (C_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 (Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (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, - C_Lexique_gtl_5F_scanner * inCompiler) { + Lexique_gtl_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - 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)) ; + 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)) ; GALGAS_gtlExpression var_plusExpression_8083 ; nt_gtl_5F_factor_ (var_plusExpression_8083, inCompiler) ; - outArgument_expression = GALGAS_gtlPlusExpression::constructor_new (var_opLocation_8029, var_plusExpression_8083 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 249)) ; + outArgument_expression = GALGAS_gtlPlusExpression::class_func_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 (C_Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (C_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 (Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (C_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 (Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (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, - C_Lexique_gtl_5F_scanner * inCompiler) { + Lexique_gtl_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - 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)) ; + 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)) ; } //---------------------------------------------------------------------------------------------------------------------* -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)) ; +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)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -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_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_i11_ (GALGAS_gtlExpression & outArgument_expression, - C_Lexique_gtl_5F_scanner * inCompiler) { + Lexique_gtl_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - 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)) ; + 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)) ; } //---------------------------------------------------------------------------------------------------------------------* -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)) ; +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)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -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_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_i12_ (GALGAS_gtlExpression & outArgument_expression, - C_Lexique_gtl_5F_scanner * inCompiler) { + Lexique_gtl_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument GALGAS_lbigint var_literalInteger_9355 = inCompiler->synthetizedAttribute_intValue () ; - 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)) ; + 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)) ; } //---------------------------------------------------------------------------------------------------------------------* -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)) ; +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)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -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_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_i13_ (GALGAS_gtlExpression & outArgument_expression, - C_Lexique_gtl_5F_scanner * inCompiler) { + Lexique_gtl_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument GALGAS_ldouble var_literalFloat_9812 = inCompiler->synthetizedAttribute_floatValue () ; - 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)) ; + 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)) ; } //---------------------------------------------------------------------------------------------------------------------* -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)) ; +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)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -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_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_i14_ (GALGAS_gtlExpression & outArgument_expression, - C_Lexique_gtl_5F_scanner * inCompiler) { + Lexique_gtl_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument GALGAS_lstring var_literalString_10259 = inCompiler->synthetizedAttribute_a_5F_string () ; - 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)) ; + 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)) ; } //---------------------------------------------------------------------------------------------------------------------* -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)) ; +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)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -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_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_i15_ (GALGAS_gtlExpression & outArgument_expression, - C_Lexique_gtl_5F_scanner * inCompiler) { + Lexique_gtl_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument GALGAS_lchar var_literalChar_10711 = inCompiler->synthetizedAttribute_charValue () ; - 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)) ; + 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)) ; } //---------------------------------------------------------------------------------------------------------------------* -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)) ; +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)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -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_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_i16_ (GALGAS_gtlExpression & outArgument_expression, - C_Lexique_gtl_5F_scanner * inCompiler) { + Lexique_gtl_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 338)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 340)) ; + inCompiler->acceptTerminal (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 () ; @@ -10002,19 +10342,19 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 } } } - GALGAS_gtlExpressionList var_argumentList_11569 = GALGAS_gtlExpressionList::constructor_emptyList (SOURCE_FILE ("gtl_expression_parser.galgas", 347)) ; + GALGAS_gtlExpressionList var_argumentList_11569 = GALGAS_gtlExpressionList::class_func_emptyList (SOURCE_FILE ("gtl_expression_parser.galgas", 347)) ; switch (select_gtl_5F_expression_5F_parser_5 (inCompiler)) { case 1: { } break ; case 2: { - inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__3A_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 350)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 355)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 355)) ; }else{ repeatFlag_3 = false ; } @@ -10023,26 +10363,26 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 default: break ; } - 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)) ; + 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)) ; } //---------------------------------------------------------------------------------------------------------------------* -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)) ; +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)) ; nt_gtl_5F_expression_parse (inCompiler) ; - inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 340)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_scanner::kToken__3A_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 350)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 355)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 355)) ; }else{ repeatFlag_0 = false ; } @@ -10051,26 +10391,26 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 default: break ; } - inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 358)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (C_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 (Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 338)) ; nt_gtl_5F_expression_indexing (inCompiler) ; - inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 340)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_scanner::kToken__3A_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 350)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 355)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 355)) ; }else{ repeatFlag_0 = false ; } @@ -10079,19 +10419,19 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 default: break ; } - inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 358)) ; + inCompiler->acceptTerminal (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, - C_Lexique_gtl_5F_scanner * inCompiler) { + 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::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)) ; + 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)) ; } break ; case 2: { enumGalgasBool test_0 = kBoolTrue ; @@ -10099,11 +10439,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::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)) ; + 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)) ; } } - 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)) ; + 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)) ; switch (select_gtl_5F_expression_5F_parser_8 (inCompiler)) { case 1: { bool repeatFlag_2 = true ; @@ -10112,7 +10452,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 (C_Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 386)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 386)) ; }else{ repeatFlag_2 = false ; } @@ -10123,9 +10463,9 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 default: break ; } - inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 389)) ; + inCompiler->acceptTerminal (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::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)) ; + 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)) ; } break ; default: break ; @@ -10134,20 +10474,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 (C_Lexique_gtl_5F_scanner * inCompiler) { +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i17_parse (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 (C_Lexique_gtl_5F_scanner::kToken__28_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 380)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 386)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 386)) ; }else{ repeatFlag_0 = false ; } @@ -10158,7 +10498,7 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 default: break ; } - inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 389)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 389)) ; } break ; default: break ; @@ -10168,20 +10508,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 (C_Lexique_gtl_5F_scanner * inCompiler) { +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i17_indexing (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 (C_Lexique_gtl_5F_scanner::kToken__28_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 380)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 386)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 386)) ; }else{ repeatFlag_0 = false ; } @@ -10192,7 +10532,7 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 default: break ; } - inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 389)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 389)) ; } break ; default: break ; @@ -10202,22 +10542,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, - C_Lexique_gtl_5F_scanner * inCompiler) { + Lexique_gtl_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_exists COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 404)) ; + inCompiler->acceptTerminal (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 (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)) ; + 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)) ; GALGAS_gtlExpression var_defaultExpression_12847 ; nt_gtl_5F_expression_ (var_defaultExpression_12847, inCompiler) ; - 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)) ; + 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)) ; } break ; case 2: { - 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)) ; + 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)) ; } break ; default: break ; @@ -10226,15 +10566,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 (C_Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (C_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 (Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (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 (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)) ; + 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)) ; nt_gtl_5F_expression_parse (inCompiler) ; - inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 409)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 409)) ; } break ; case 2: { } break ; @@ -10246,15 +10586,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 (C_Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (C_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 (Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (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 (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)) ; + 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)) ; nt_gtl_5F_expression_indexing (inCompiler) ; - inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 409)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 409)) ; } break ; case 2: { } break ; @@ -10266,111 +10606,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, - C_Lexique_gtl_5F_scanner * inCompiler) { + Lexique_gtl_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_typeof COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 423)) ; + inCompiler->acceptTerminal (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::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)) ; + 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)) ; } //---------------------------------------------------------------------------------------------------------------------* -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)) ; +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)) ; 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 (C_Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (C_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 (Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (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, - C_Lexique_gtl_5F_scanner * inCompiler) { + Lexique_gtl_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - 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)) ; + 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)) ; } //---------------------------------------------------------------------------------------------------------------------* -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)) ; +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)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -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_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_i21_ (GALGAS_gtlExpression & outArgument_expression, - C_Lexique_gtl_5F_scanner * inCompiler) { + Lexique_gtl_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - 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)) ; + 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)) ; } //---------------------------------------------------------------------------------------------------------------------* -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)) ; +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)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -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_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_i22_ (GALGAS_gtlExpression & outArgument_expression, - C_Lexique_gtl_5F_scanner * inCompiler) { + Lexique_gtl_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument GALGAS_lstring var_enumValue_13978 = inCompiler->synthetizedAttribute_tokenString () ; - 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)) ; + 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)) ; } //---------------------------------------------------------------------------------------------------------------------* -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)) ; +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)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -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_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_i23_ (GALGAS_gtlExpression & outArgument_expression, - C_Lexique_gtl_5F_scanner * inCompiler) { + Lexique_gtl_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__40_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 480)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__40_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 480)) ; GALGAS_lstring var_typeName_14285 = inCompiler->synthetizedAttribute_tokenString () ; - inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 480)) ; + inCompiler->acceptTerminal (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::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)) ; + 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)) ; } } if (kBoolFalse == test_0) { @@ -10378,7 +10718,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::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)) ; + 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)) ; } } if (kBoolFalse == test_1) { @@ -10386,7 +10726,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::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)) ; + 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)) ; } } if (kBoolFalse == test_2) { @@ -10394,7 +10734,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::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)) ; + 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)) ; } } if (kBoolFalse == test_3) { @@ -10402,7 +10742,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::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)) ; + 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)) ; } } if (kBoolFalse == test_4) { @@ -10410,7 +10750,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::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)) ; + 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)) ; } } if (kBoolFalse == test_5) { @@ -10418,7 +10758,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::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)) ; + 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)) ; } } if (kBoolFalse == test_6) { @@ -10426,7 +10766,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::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)) ; + 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)) ; } } if (kBoolFalse == test_7) { @@ -10434,7 +10774,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::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)) ; + 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)) ; } } if (kBoolFalse == test_8) { @@ -10442,7 +10782,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::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)) ; + 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)) ; } } if (kBoolFalse == test_9) { @@ -10450,7 +10790,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::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)) ; + 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)) ; } } if (kBoolFalse == test_10) { @@ -10458,12 +10798,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::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)) ; + 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)) ; } } if (kBoolFalse == test_11) { TC_Array fixItArray12 ; - 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)) ; + 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)) ; var_type_14348.drop () ; // Release error dropped variable } } @@ -10477,104 +10817,104 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 } } } - outArgument_expression = GALGAS_gtlTerminal::constructor_new (var_typeName_14285.readProperty_location (), var_type_14348 COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 509)) ; + outArgument_expression = GALGAS_gtlTerminal::class_func_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 (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_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)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -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_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_i24_ (GALGAS_gtlExpression & outArgument_expression, - C_Lexique_gtl_5F_scanner * inCompiler) { + Lexique_gtl_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_emptylist COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 517)) ; + inCompiler->acceptTerminal (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::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)) ; + 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)) ; } } - 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)) ; + 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)) ; } //---------------------------------------------------------------------------------------------------------------------* -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)) ; +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)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -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_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_i25_ (GALGAS_gtlExpression & outArgument_expression, - C_Lexique_gtl_5F_scanner * inCompiler) { + Lexique_gtl_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_emptymap COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 536)) ; + inCompiler->acceptTerminal (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::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)) ; + 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)) ; } } - 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)) ; + 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)) ; } //---------------------------------------------------------------------------------------------------------------------* -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)) ; +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)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -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_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_i26_ (GALGAS_gtlExpression & outArgument_expression, - C_Lexique_gtl_5F_scanner * inCompiler) { + Lexique_gtl_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_mapof COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 555)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_scanner::kToken_by COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 558)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_by COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 558)) ; GALGAS_lstring var_key_16721 = inCompiler->synthetizedAttribute_tokenString () ; - 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)) ; + 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)) ; } break ; case 2: { - 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)) ; + 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)) ; } break ; default: break ; @@ -10583,16 +10923,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 (C_Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (C_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 (Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (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 (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)) ; + 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)) ; } break ; case 2: { - inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_end COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 566)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_end COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 566)) ; } break ; default: break ; @@ -10602,16 +10942,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 (C_Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (C_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 (Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (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 (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)) ; + 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)) ; } break ; case 2: { - inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_end COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 566)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_end COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 566)) ; } break ; default: break ; @@ -10621,39 +10961,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, - C_Lexique_gtl_5F_scanner * inCompiler) { + Lexique_gtl_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_listof COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 579)) ; + inCompiler->acceptTerminal (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::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)) ; + 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)) ; } //---------------------------------------------------------------------------------------------------------------------* -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)) ; +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)) ; nt_gtl_5F_expression_parse (inCompiler) ; - inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_end COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 582)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (C_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 (Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_listof COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 579)) ; nt_gtl_5F_expression_indexing (inCompiler) ; - inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_end COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 582)) ; + inCompiler->acceptTerminal (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, - C_Lexique_gtl_5F_scanner * inCompiler) { + Lexique_gtl_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - 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)) ; + 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)) ; switch (select_gtl_5F_expression_5F_parser_12 (inCompiler)) { case 1: { bool repeatFlag_0 = true ; @@ -10662,7 +11002,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 (C_Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 596)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 596)) ; }else{ repeatFlag_0 = false ; } @@ -10673,21 +11013,21 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 default: break ; } - 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)) ; + 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)) ; } //---------------------------------------------------------------------------------------------------------------------* -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)) ; +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)) ; 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 (C_Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 596)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 596)) ; }else{ repeatFlag_0 = false ; } @@ -10698,21 +11038,21 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 default: break ; } - inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 600)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (C_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 (Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 596)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 596)) ; }else{ repeatFlag_0 = false ; } @@ -10723,30 +11063,30 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 default: break ; } - inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 600)) ; + inCompiler->acceptTerminal (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, - C_Lexique_gtl_5F_scanner * inCompiler) { + Lexique_gtl_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - 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)) ; + 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)) ; 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 (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)) ; + 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)) ; 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 (C_Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 617)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 617)) ; }else{ repeatFlag_0 = false ; } @@ -10757,23 +11097,23 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 default: break ; } - 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)) ; + 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)) ; } //---------------------------------------------------------------------------------------------------------------------* -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)) ; +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)) ; switch (select_gtl_5F_expression_5F_parser_14 (inCompiler)) { case 1: { bool repeatFlag_0 = true ; while (repeatFlag_0) { - 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)) ; + 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)) ; nt_gtl_5F_expression_parse (inCompiler) ; if (select_gtl_5F_expression_5F_parser_15 (inCompiler) == 2) { - inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 617)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 617)) ; }else{ repeatFlag_0 = false ; } @@ -10784,23 +11124,23 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 default: break ; } - inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 621)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (C_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 (Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (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 (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)) ; + 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)) ; nt_gtl_5F_expression_indexing (inCompiler) ; if (select_gtl_5F_expression_5F_parser_15 (inCompiler) == 2) { - inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 617)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 617)) ; }else{ repeatFlag_0 = false ; } @@ -10811,30 +11151,30 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 default: break ; } - inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 621)) ; + inCompiler->acceptTerminal (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, - C_Lexique_gtl_5F_scanner * inCompiler) { + Lexique_gtl_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - 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)) ; + 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)) ; 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 (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)) ; + 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)) ; 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 (C_Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 638)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 638)) ; }else{ repeatFlag_0 = false ; } @@ -10845,23 +11185,23 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 default: break ; } - 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)) ; + 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)) ; } //---------------------------------------------------------------------------------------------------------------------* -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)) ; +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)) ; switch (select_gtl_5F_expression_5F_parser_16 (inCompiler)) { case 1: { bool repeatFlag_0 = true ; while (repeatFlag_0) { - 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)) ; + 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)) ; nt_gtl_5F_expression_parse (inCompiler) ; if (select_gtl_5F_expression_5F_parser_17 (inCompiler) == 2) { - inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 638)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 638)) ; }else{ repeatFlag_0 = false ; } @@ -10872,23 +11212,23 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 default: break ; } - inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__7D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 642)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (C_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 (Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (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 (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)) ; + 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)) ; nt_gtl_5F_expression_indexing (inCompiler) ; if (select_gtl_5F_expression_5F_parser_17 (inCompiler) == 2) { - inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 638)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 638)) ; }else{ repeatFlag_0 = false ; } @@ -10899,16 +11239,16 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 default: break ; } - inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__7D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 642)) ; + inCompiler->acceptTerminal (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, - C_Lexique_gtl_5F_scanner * inCompiler) { + Lexique_gtl_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - 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)) ; + 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)) ; switch (select_gtl_5F_expression_5F_parser_18 (inCompiler)) { case 1: { bool repeatFlag_0 = true ; @@ -10917,7 +11257,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 (C_Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 657)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 657)) ; }else{ repeatFlag_0 = false ; } @@ -10928,21 +11268,21 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 default: break ; } - 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)) ; + 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)) ; } //---------------------------------------------------------------------------------------------------------------------* -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)) ; +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)) ; 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 (C_Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 657)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 657)) ; }else{ repeatFlag_0 = false ; } @@ -10953,21 +11293,21 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 default: break ; } - inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__21_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 661)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (C_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 (Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 657)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 657)) ; }else{ repeatFlag_0 = false ; } @@ -10978,92 +11318,92 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 default: break ; } - inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__21_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 661)) ; + inCompiler->acceptTerminal (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, - C_Lexique_gtl_5F_scanner * inCompiler) { + Lexique_gtl_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__40__3F_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 670)) ; + inCompiler->acceptTerminal (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 (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)) ; + 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)) ; } //---------------------------------------------------------------------------------------------------------------------* -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)) ; +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)) ; nt_gtl_5F_expression_parse (inCompiler) ; - inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__3F_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 672)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (C_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 (Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__40__3F_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 670)) ; nt_gtl_5F_expression_indexing (inCompiler) ; - inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__3F_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 672)) ; + inCompiler->acceptTerminal (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, - C_Lexique_gtl_5F_scanner * inCompiler) { + Lexique_gtl_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - 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)) ; + 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)) ; } //---------------------------------------------------------------------------------------------------------------------* -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)) ; +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)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -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_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_variable_i34_ (GALGAS_gtlVarPath & outArgument_path, - C_Lexique_gtl_5F_scanner * inCompiler) { + Lexique_gtl_5F_scanner * inCompiler) { outArgument_path.drop () ; // Release 'out' argument - outArgument_path = GALGAS_gtlVarPath::constructor_emptyList (SOURCE_FILE ("gtl_expression_parser.galgas", 690)) ; + outArgument_path = GALGAS_gtlVarPath::class_func_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 (C_Lexique_gtl_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 692)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 694)) ; + inCompiler->acceptTerminal (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 (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)) ; + 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)) ; switch (select_gtl_5F_expression_5F_parser_22 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 699)) ; + inCompiler->acceptTerminal (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 (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)) ; + 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)) ; bool repeatFlag_1 = true ; while (repeatFlag_1) { if (select_gtl_5F_expression_5F_parser_23 (inCompiler) == 2) { - inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 705)) ; + inCompiler->acceptTerminal (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 (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)) ; + 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)) ; }else{ repeatFlag_1 = false ; } @@ -11076,13 +11416,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::constructor_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::class_func_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 (C_Lexique_gtl_5F_scanner::kToken__3A__3A_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 716)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__3A__3A_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 716)) ; }else{ repeatFlag_0 = false ; } @@ -11091,26 +11431,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 (C_Lexique_gtl_5F_scanner * inCompiler) { +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_variable_i34_parse (Lexique_gtl_5F_scanner * inCompiler) { bool repeatFlag_0 = true ; while (repeatFlag_0) { - inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 692)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 694)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 694)) ; nt_gtl_5F_expression_parse (inCompiler) ; - inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 696)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 699)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 699)) ; nt_gtl_5F_expression_parse (inCompiler) ; - inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 701)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 705)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 705)) ; nt_gtl_5F_expression_parse (inCompiler) ; - inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 707)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 707)) ; }else{ repeatFlag_1 = false ; } @@ -11128,7 +11468,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 (C_Lexique_gtl_5F_scanner::kToken__3A__3A_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 716)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__3A__3A_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 716)) ; }else{ repeatFlag_0 = false ; } @@ -11138,26 +11478,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 (C_Lexique_gtl_5F_scanner * inCompiler) { +void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5F_variable_i34_indexing (Lexique_gtl_5F_scanner * inCompiler) { bool repeatFlag_0 = true ; while (repeatFlag_0) { - inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 692)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 694)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 694)) ; nt_gtl_5F_expression_indexing (inCompiler) ; - inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 696)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 699)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 699)) ; nt_gtl_5F_expression_indexing (inCompiler) ; - inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 701)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 705)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 705)) ; nt_gtl_5F_expression_indexing (inCompiler) ; - inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 707)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 707)) ; }else{ repeatFlag_1 = false ; } @@ -11175,7 +11515,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 (C_Lexique_gtl_5F_scanner::kToken__3A__3A_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 716)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__3A__3A_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 716)) ; }else{ repeatFlag_0 = false ; } @@ -11186,13 +11526,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, - C_Lexique_gtl_5F_scanner * inCompiler) { + 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 (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)) ; + 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)) ; outArgument_hereInstead = GALGAS_bool (true) ; } break ; case 2: { @@ -11206,10 +11546,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 (C_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 (Lexique_gtl_5F_scanner * inCompiler) { switch (select_gtl_5F_expression_5F_parser_24 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_here COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 727)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_here COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 727)) ; } break ; case 2: { nt_gtl_5F_variable_parse (inCompiler) ; @@ -11222,10 +11562,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 (C_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 (Lexique_gtl_5F_scanner * inCompiler) { switch (select_gtl_5F_expression_5F_parser_24 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_here COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 727)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken_here COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 727)) ; } break ; case 2: { nt_gtl_5F_variable_indexing (inCompiler) ; @@ -11238,22 +11578,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, - C_Lexique_gtl_5F_scanner * inCompiler) { + Lexique_gtl_5F_scanner * inCompiler) { outArgument_arguments.drop () ; // Release 'out' argument - 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)) ; + 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)) ; 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 (C_Lexique_gtl_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 743)) ; + inCompiler->acceptTerminal (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 (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 (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)) ; GALGAS_lstring var_typeName_20793 = inCompiler->synthetizedAttribute_tokenString () ; - inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 745)) ; + inCompiler->acceptTerminal (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: { @@ -11263,7 +11603,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 (C_Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 750)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 750)) ; }else{ repeatFlag_0 = false ; } @@ -11274,23 +11614,23 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 default: break ; } - inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 753)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (C_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 (Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 743)) ; + inCompiler->acceptTerminal (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 (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)) ; + 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)) ; } break ; case 2: { } break ; @@ -11298,7 +11638,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 (C_Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 750)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 750)) ; }else{ repeatFlag_0 = false ; } @@ -11309,24 +11649,24 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 default: break ; } - inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 753)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_scanner * inCompiler) { - inCompiler->acceptTerminal (C_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 (Lexique_gtl_5F_scanner * inCompiler) { + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 743)) ; + inCompiler->acceptTerminal (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 (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)) ; + 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)) ; } break ; case 2: { } break ; @@ -11334,7 +11674,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 (C_Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 750)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 750)) ; }else{ repeatFlag_0 = false ; } @@ -11345,12 +11685,12 @@ void cParser_gtl_5F_expression_5F_parser::rule_gtl_5F_expression_5F_parser_gtl_5 default: break ; } - inCompiler->acceptTerminal (C_Lexique_gtl_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 753)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_expression_parser.galgas", 753)) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Object comparison -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- @@ -11370,19 +11710,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) { @@ -11394,13 +11734,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) { @@ -11412,13 +11752,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) { @@ -11430,14 +11770,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) { @@ -11449,16 +11789,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 @@ -11469,23 +11809,22 @@ 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 ; @@ -11495,10 +11834,10 @@ AC_GALGAS_root * GALGAS_gtlInstruction::clonedObject (void) const { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlInstruction GALGAS_gtlInstruction::extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlInstruction result ; const GALGAS_gtlInstruction * p = (const GALGAS_gtlInstruction *) inObject.embeddedObject () ; @@ -11512,13 +11851,13 @@ GALGAS_gtlInstruction GALGAS_gtlInstruction::extractObject (const GALGAS_object return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Extension getter '@gtlInstruction location' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_location cPtr_gtlInstruction::getter_location (C_Compiler */* inCompiler */ +GALGAS_location cPtr_gtlInstruction::getter_location (Compiler */* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_location result_result ; // Returned variable result_result = this->mProperty_where ; @@ -11528,10 +11867,10 @@ GALGAS_location cPtr_gtlInstruction::getter_location (C_Compiler */* inCompiler -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_location callExtensionGetter_location (const cPtr_gtlInstruction * inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_location result ; if (nullptr != inObject) { @@ -11540,18 +11879,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { //--- Drop output arguments //--- Find method @@ -11560,18 +11899,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { enumGalgasBool test_0 = kBoolTrue ; if (kBoolTrue == test_0) { @@ -11583,12 +11922,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::constructor_errorCount (SOURCE_FILE ("gtl_instructions.galgas", 62)) ; + GALGAS_uint var_lastErrorCount_1615 = GALGAS_uint::class_func_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::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)))) ; + 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)))) ; 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 () ; @@ -11623,8 +11962,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::constructor_max (SOURCE_FILE ("gtl_instructions.galgas", 73)).isValid ()) { - uint32_t variant_2188 = GALGAS_uint::constructor_max (SOURCE_FILE ("gtl_instructions.galgas", 73)).uintValue () ; + 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 () ; 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)) ; @@ -11635,12 +11974,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::constructor_errorCount (SOURCE_FILE ("gtl_instructions.galgas", 77)) ; + GALGAS_uint var_currentErrorCount_2374 = GALGAS_uint::class_func_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::constructor_new (GALGAS_location::constructor_here (inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 79)), GALGAS_string::makeEmptyString () COMMA_SOURCE_FILE ("gtl_instructions.galgas", 79)) ; + 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)) ; } } if (kBoolFalse == test_4) { @@ -11649,7 +11988,7 @@ void extensionMethod_execute (const GALGAS_gtlInstructionList inObject, } enumGalgasBool test_5 = kBoolTrue ; if (kBoolTrue == test_5) { - test_5 = GALGAS_bool (kIsEqual, GALGAS_uint::constructor_errorCount (SOURCE_FILE ("gtl_instructions.galgas", 84)).objectCompare (var_currentErrorCount_2374)).boolEnum () ; + test_5 = GALGAS_bool (kIsEqual, GALGAS_uint::class_func_errorCount (SOURCE_FILE ("gtl_instructions.galgas", 84)).objectCompare (var_currentErrorCount_2374)).boolEnum () ; if (kBoolTrue == test_5) { enumGalgasBool test_6 = kBoolTrue ; if (kBoolTrue == test_6) { @@ -11687,7 +12026,7 @@ void extensionMethod_execute (const GALGAS_gtlInstructionList inObject, } } } - var_lastErrorCount_1615 = GALGAS_uint::constructor_errorCount (SOURCE_FILE ("gtl_instructions.galgas", 96)) ; + var_lastErrorCount_1615 = GALGAS_uint::class_func_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)) ; @@ -11705,12 +12044,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::constructor_errorCount (SOURCE_FILE ("gtl_instructions.galgas", 102)).objectCompare (GALGAS_uint (uint32_t (0U)))).boolEnum () ; + test_8 = GALGAS_bool (kIsEqual, GALGAS_uint::class_func_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::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 () ; + 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 () ; 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)) ; @@ -11724,9 +12063,9 @@ void extensionMethod_execute (const GALGAS_gtlInstructionList inObject, } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Object comparison -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult cPtr_gtlLetUnconstructedInstruction::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { typeComparisonResult result = kOperandEqual ; @@ -11744,7 +12083,7 @@ typeComparisonResult cPtr_gtlLetUnconstructedInstruction::dynamicObjectCompare ( return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_gtlLetUnconstructedInstruction::objectCompare (const GALGAS_gtlLetUnconstructedInstruction & inOperand) const { @@ -11763,33 +12102,24 @@ 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::constructor_new (const GALGAS_location & inAttribute_where, - const GALGAS_string & inAttribute_signature, - const GALGAS_gtlVarPath & inAttribute_lValue - COMMA_LOCATION_ARGS) { +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 result ; if (inAttribute_where.isValid () && inAttribute_signature.isValid () && inAttribute_lValue.isValid ()) { macroMyNew (result.mObjectPtr, cPtr_gtlLetUnconstructedInstruction (inAttribute_where, inAttribute_signature, inAttribute_lValue COMMA_THERE)) ; @@ -11797,7 +12127,7 @@ GALGAS_gtlLetUnconstructedInstruction GALGAS_gtlLetUnconstructedInstruction::con return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlVarPath GALGAS_gtlLetUnconstructedInstruction::readProperty_lValue (void) const { if (nullptr == mObjectPtr) { @@ -11809,13 +12139,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) { @@ -11827,16 +12157,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, @@ -11846,24 +12176,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 (C_String & ioString, +void cPtr_gtlLetUnconstructedInstruction::description (String & ioString, const int32_t inIndentation) const { - ioString << "[@gtlLetUnconstructedInstruction:" ; + ioString.appendCString ("[@gtlLetUnconstructedInstruction:") ; mProperty_where.description (ioString, inIndentation+1) ; - ioString << ", " ; + ioString.appendCString (", ") ; mProperty_signature.description (ioString, inIndentation+1) ; - ioString << ", " ; + ioString.appendCString (", ") ; mProperty_lValue.description (ioString, inIndentation+1) ; - ioString << "]" ; + ioString.appendCString ("]") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- acPtr_class * cPtr_gtlLetUnconstructedInstruction::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -11872,23 +12202,22 @@ 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 ; @@ -11898,10 +12227,10 @@ AC_GALGAS_root * GALGAS_gtlLetUnconstructedInstruction::clonedObject (void) cons return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlLetUnconstructedInstruction GALGAS_gtlLetUnconstructedInstruction::extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlLetUnconstructedInstruction result ; const GALGAS_gtlLetUnconstructedInstruction * p = (const GALGAS_gtlLetUnconstructedInstruction *) inObject.embeddedObject () ; @@ -11915,9 +12244,9 @@ GALGAS_gtlLetUnconstructedInstruction GALGAS_gtlLetUnconstructedInstruction::ext return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Object comparison -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult cPtr_gtlUnletInstruction::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { typeComparisonResult result = kOperandEqual ; @@ -11935,7 +12264,7 @@ typeComparisonResult cPtr_gtlUnletInstruction::dynamicObjectCompare (const acPtr return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_gtlUnletInstruction::objectCompare (const GALGAS_gtlUnletInstruction & inOperand) const { @@ -11954,33 +12283,24 @@ 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::constructor_new (const GALGAS_location & inAttribute_where, - const GALGAS_string & inAttribute_signature, - const GALGAS_gtlVarPath & inAttribute_lValue - COMMA_LOCATION_ARGS) { +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 result ; if (inAttribute_where.isValid () && inAttribute_signature.isValid () && inAttribute_lValue.isValid ()) { macroMyNew (result.mObjectPtr, cPtr_gtlUnletInstruction (inAttribute_where, inAttribute_signature, inAttribute_lValue COMMA_THERE)) ; @@ -11988,9 +12308,9 @@ GALGAS_gtlUnletInstruction GALGAS_gtlUnletInstruction::constructor_new (const GA return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- //Pointer class for @gtlUnletInstruction class -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cPtr_gtlUnletInstruction::cPtr_gtlUnletInstruction (const GALGAS_location & in_where, const GALGAS_string & in_signature, @@ -11999,24 +12319,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 (C_String & ioString, +void cPtr_gtlUnletInstruction::description (String & ioString, const int32_t inIndentation) const { - ioString << "[@gtlUnletInstruction:" ; + ioString.appendCString ("[@gtlUnletInstruction:") ; mProperty_where.description (ioString, inIndentation+1) ; - ioString << ", " ; + ioString.appendCString (", ") ; mProperty_signature.description (ioString, inIndentation+1) ; - ioString << ", " ; + ioString.appendCString (", ") ; mProperty_lValue.description (ioString, inIndentation+1) ; - ioString << "]" ; + ioString.appendCString ("]") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- acPtr_class * cPtr_gtlUnletInstruction::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -12025,23 +12345,22 @@ 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 ; @@ -12051,10 +12370,10 @@ AC_GALGAS_root * GALGAS_gtlUnletInstruction::clonedObject (void) const { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlUnletInstruction GALGAS_gtlUnletInstruction::extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlUnletInstruction result ; const GALGAS_gtlUnletInstruction * p = (const GALGAS_gtlUnletInstruction *) inObject.embeddedObject () ; @@ -12068,9 +12387,9 @@ GALGAS_gtlUnletInstruction GALGAS_gtlUnletInstruction::extractObject (const GALG return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Object comparison -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult cPtr_gtlTemplateStringInstruction::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { typeComparisonResult result = kOperandEqual ; @@ -12088,7 +12407,7 @@ typeComparisonResult cPtr_gtlTemplateStringInstruction::dynamicObjectCompare (co return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_gtlTemplateStringInstruction::objectCompare (const GALGAS_gtlTemplateStringInstruction & inOperand) const { @@ -12107,33 +12426,24 @@ 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::constructor_new (const GALGAS_location & inAttribute_where, - const GALGAS_string & inAttribute_signature, - const GALGAS_string & inAttribute_value - COMMA_LOCATION_ARGS) { +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 result ; if (inAttribute_where.isValid () && inAttribute_signature.isValid () && inAttribute_value.isValid ()) { macroMyNew (result.mObjectPtr, cPtr_gtlTemplateStringInstruction (inAttribute_where, inAttribute_signature, inAttribute_value COMMA_THERE)) ; @@ -12141,7 +12451,7 @@ GALGAS_gtlTemplateStringInstruction GALGAS_gtlTemplateStringInstruction::constru return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_string GALGAS_gtlTemplateStringInstruction::readProperty_value (void) const { if (nullptr == mObjectPtr) { @@ -12153,13 +12463,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) { @@ -12171,16 +12481,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, @@ -12190,24 +12500,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 (C_String & ioString, +void cPtr_gtlTemplateStringInstruction::description (String & ioString, const int32_t inIndentation) const { - ioString << "[@gtlTemplateStringInstruction:" ; + ioString.appendCString ("[@gtlTemplateStringInstruction:") ; mProperty_where.description (ioString, inIndentation+1) ; - ioString << ", " ; + ioString.appendCString (", ") ; mProperty_signature.description (ioString, inIndentation+1) ; - ioString << ", " ; + ioString.appendCString (", ") ; mProperty_value.description (ioString, inIndentation+1) ; - ioString << "]" ; + ioString.appendCString ("]") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- acPtr_class * cPtr_gtlTemplateStringInstruction::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -12216,23 +12526,22 @@ 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 ; @@ -12242,10 +12551,10 @@ AC_GALGAS_root * GALGAS_gtlTemplateStringInstruction::clonedObject (void) const return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlTemplateStringInstruction GALGAS_gtlTemplateStringInstruction::extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlTemplateStringInstruction result ; const GALGAS_gtlTemplateStringInstruction * p = (const GALGAS_gtlTemplateStringInstruction *) inObject.embeddedObject () ; @@ -12259,9 +12568,9 @@ GALGAS_gtlTemplateStringInstruction GALGAS_gtlTemplateStringInstruction::extract return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Object comparison -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult cPtr_gtlGetColumnInstruction::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { typeComparisonResult result = kOperandEqual ; @@ -12279,7 +12588,7 @@ typeComparisonResult cPtr_gtlGetColumnInstruction::dynamicObjectCompare (const a return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_gtlGetColumnInstruction::objectCompare (const GALGAS_gtlGetColumnInstruction & inOperand) const { @@ -12298,33 +12607,24 @@ 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::constructor_new (const GALGAS_location & inAttribute_where, - const GALGAS_string & inAttribute_signature, - const GALGAS_gtlVarPath & inAttribute_destVariable - COMMA_LOCATION_ARGS) { +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 result ; if (inAttribute_where.isValid () && inAttribute_signature.isValid () && inAttribute_destVariable.isValid ()) { macroMyNew (result.mObjectPtr, cPtr_gtlGetColumnInstruction (inAttribute_where, inAttribute_signature, inAttribute_destVariable COMMA_THERE)) ; @@ -12332,7 +12632,7 @@ GALGAS_gtlGetColumnInstruction GALGAS_gtlGetColumnInstruction::constructor_new ( return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlVarPath GALGAS_gtlGetColumnInstruction::readProperty_destVariable (void) const { if (nullptr == mObjectPtr) { @@ -12344,13 +12644,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) { @@ -12362,16 +12662,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, @@ -12381,24 +12681,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 (C_String & ioString, +void cPtr_gtlGetColumnInstruction::description (String & ioString, const int32_t inIndentation) const { - ioString << "[@gtlGetColumnInstruction:" ; + ioString.appendCString ("[@gtlGetColumnInstruction:") ; mProperty_where.description (ioString, inIndentation+1) ; - ioString << ", " ; + ioString.appendCString (", ") ; mProperty_signature.description (ioString, inIndentation+1) ; - ioString << ", " ; + ioString.appendCString (", ") ; mProperty_destVariable.description (ioString, inIndentation+1) ; - ioString << "]" ; + ioString.appendCString ("]") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- acPtr_class * cPtr_gtlGetColumnInstruction::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -12407,23 +12707,22 @@ 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 ; @@ -12433,10 +12732,10 @@ AC_GALGAS_root * GALGAS_gtlGetColumnInstruction::clonedObject (void) const { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlGetColumnInstruction GALGAS_gtlGetColumnInstruction::extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlGetColumnInstruction result ; const GALGAS_gtlGetColumnInstruction * p = (const GALGAS_gtlGetColumnInstruction *) inObject.embeddedObject () ; @@ -12450,16 +12749,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 ; -//--- Constructors +//--- Class functions public: cCollectionElement_gtlThenElsifStatementList (const GALGAS_gtlExpression & in_condition, const GALGAS_gtlInstructionList & in_instructionList COMMA_LOCATION_ARGS) ; @@ -12475,10 +12774,10 @@ class cCollectionElement_gtlThenElsifStatementList : public cCollectionElement { public: virtual cCollectionElement * copy (void) ; //--- Description - public: virtual void description (C_String & ioString, const int32_t inIndentation) const ; + public: virtual void description (String & ioString, const int32_t inIndentation) const ; } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cCollectionElement_gtlThenElsifStatementList::cCollectionElement_gtlThenElsifStatementList (const GALGAS_gtlExpression & in_condition, const GALGAS_gtlInstructionList & in_instructionList @@ -12487,20 +12786,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 ; @@ -12508,20 +12807,20 @@ cCollectionElement * cCollectionElement_gtlThenElsifStatementList::copy (void) { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void cCollectionElement_gtlThenElsifStatementList::description (C_String & ioString, const int32_t inIndentation) const { - ioString << "\n" ; - ioString.writeStringMultiple ("| ", inIndentation) ; - ioString << "condition" ":" ; +void cCollectionElement_gtlThenElsifStatementList::description (String & ioString, const int32_t inIndentation) const { + ioString.appendNewLine () ; + ioString.appendStringMultiple ("| ", inIndentation) ; + ioString.appendCString ("condition" ":") ; mObject.mProperty_condition.description (ioString, inIndentation) ; - ioString << "\n" ; - ioString.writeStringMultiple ("| ", inIndentation) ; - ioString << "instructionList" ":" ; + ioString.appendNewLine () ; + ioString.appendStringMultiple ("| ", inIndentation) ; + ioString.appendCString ("instructionList" ":") ; mObject.mProperty_instructionList.description (ioString, inIndentation) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult cCollectionElement_gtlThenElsifStatementList::compare (const cCollectionElement * inOperand) const { cCollectionElement_gtlThenElsifStatementList * operand = (cCollectionElement_gtlThenElsifStatementList *) inOperand ; @@ -12529,29 +12828,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::constructor_emptyList (UNUSED_LOCATION_ARGS) { - return GALGAS_gtlThenElsifStatementList (capCollectionElementArray ()) ; +GALGAS_gtlThenElsifStatementList GALGAS_gtlThenElsifStatementList::class_func_emptyList (UNUSED_LOCATION_ARGS) { + return GALGAS_gtlThenElsifStatementList (capCollectionElementArray ()) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_gtlThenElsifStatementList GALGAS_gtlThenElsifStatementList::constructor_listWithValue (const GALGAS_gtlExpression & inOperand0, - const GALGAS_gtlInstructionList & inOperand1 - COMMA_LOCATION_ARGS) { +GALGAS_gtlThenElsifStatementList GALGAS_gtlThenElsifStatementList::class_func_listWithValue (const GALGAS_gtlExpression & inOperand0, + const GALGAS_gtlInstructionList & inOperand1 + COMMA_LOCATION_ARGS) { GALGAS_gtlThenElsifStatementList result ; if (inOperand0.isValid () && inOperand1.isValid ()) { result = GALGAS_gtlThenElsifStatementList (capCollectionElementArray ()) ; @@ -12562,7 +12861,7 @@ GALGAS_gtlThenElsifStatementList GALGAS_gtlThenElsifStatementList::constructor_l return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlThenElsifStatementList::makeAttributesFromObjects (capCollectionElement & outAttributes, const GALGAS_gtlExpression & in_condition, @@ -12575,7 +12874,7 @@ void GALGAS_gtlThenElsifStatementList::makeAttributesFromObjects (capCollectionE macroDetachSharedObject (p) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlThenElsifStatementList::addAssign_operation (const GALGAS_gtlExpression & inOperand0, const GALGAS_gtlInstructionList & inOperand1 @@ -12590,11 +12889,11 @@ void GALGAS_gtlThenElsifStatementList::addAssign_operation (const GALGAS_gtlExpr } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlThenElsifStatementList::setter_append (const GALGAS_gtlExpression inOperand0, const GALGAS_gtlInstructionList inOperand1, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_LOCATION_ARGS) { if (isValid ()) { cCollectionElement * p = nullptr ; @@ -12606,12 +12905,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inInsertionIndex.isValid () && inOperand0.isValid () && inOperand1.isValid ()) { @@ -12627,12 +12926,12 @@ void GALGAS_gtlThenElsifStatementList::setter_insertAtIndex (const GALGAS_gtlExp } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlThenElsifStatementList::setter_removeAtIndex (GALGAS_gtlExpression & outOperand0, GALGAS_gtlInstructionList & outOperand1, const GALGAS_uint inRemoveIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inRemoveIndex.isValid ()) { @@ -12659,11 +12958,11 @@ void GALGAS_gtlThenElsifStatementList::setter_removeAtIndex (GALGAS_gtlExpressio } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlThenElsifStatementList::setter_popFirst (GALGAS_gtlExpression & outOperand0, GALGAS_gtlInstructionList & outOperand1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeFirstObject (attributes, inCompiler COMMA_THERE) ; @@ -12678,11 +12977,11 @@ void GALGAS_gtlThenElsifStatementList::setter_popFirst (GALGAS_gtlExpression & o } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlThenElsifStatementList::setter_popLast (GALGAS_gtlExpression & outOperand0, GALGAS_gtlInstructionList & outOperand1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeLastObject (attributes, inCompiler COMMA_THERE) ; @@ -12697,11 +12996,11 @@ void GALGAS_gtlThenElsifStatementList::setter_popLast (GALGAS_gtlExpression & ou } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlThenElsifStatementList::method_first (GALGAS_gtlExpression & outOperand0, GALGAS_gtlInstructionList & outOperand1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readFirst (attributes, inCompiler COMMA_THERE) ; @@ -12716,11 +13015,11 @@ void GALGAS_gtlThenElsifStatementList::method_first (GALGAS_gtlExpression & outO } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlThenElsifStatementList::method_last (GALGAS_gtlExpression & outOperand0, GALGAS_gtlInstructionList & outOperand1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readLast (attributes, inCompiler COMMA_THERE) ; @@ -12735,10 +13034,10 @@ void GALGAS_gtlThenElsifStatementList::method_last (GALGAS_gtlExpression & outOp } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlThenElsifStatementList GALGAS_gtlThenElsifStatementList::add_operation (const GALGAS_gtlThenElsifStatementList & inOperand, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_gtlThenElsifStatementList result ; if (isValid () && inOperand.isValid ()) { @@ -12748,49 +13047,49 @@ GALGAS_gtlThenElsifStatementList GALGAS_gtlThenElsifStatementList::add_operation return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlThenElsifStatementList GALGAS_gtlThenElsifStatementList::getter_subListWithRange (const GALGAS_range & inRange, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_gtlThenElsifStatementList result = GALGAS_gtlThenElsifStatementList::constructor_emptyList (THERE) ; + GALGAS_gtlThenElsifStatementList result = GALGAS_gtlThenElsifStatementList::class_func_emptyList (THERE) ; subListWithRange (result, inRange, inCompiler COMMA_THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlThenElsifStatementList GALGAS_gtlThenElsifStatementList::getter_subListFromIndex (const GALGAS_uint & inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_gtlThenElsifStatementList result = GALGAS_gtlThenElsifStatementList::constructor_emptyList (THERE) ; + GALGAS_gtlThenElsifStatementList result = GALGAS_gtlThenElsifStatementList::class_func_emptyList (THERE) ; subListFromIndex (result, inIndex, inCompiler COMMA_THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlThenElsifStatementList GALGAS_gtlThenElsifStatementList::getter_subListToIndex (const GALGAS_uint & inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_gtlThenElsifStatementList result = GALGAS_gtlThenElsifStatementList::constructor_emptyList (THERE) ; + GALGAS_gtlThenElsifStatementList result = GALGAS_gtlThenElsifStatementList::class_func_emptyList (THERE) ; subListToIndex (result, inIndex, inCompiler COMMA_THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlThenElsifStatementList::plusAssign_operation (const GALGAS_gtlThenElsifStatementList inOperand, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) { appendList (inOperand) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlThenElsifStatementList::setter_setConditionAtIndex (GALGAS_gtlExpression inOperand, GALGAS_uint inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement_gtlThenElsifStatementList * p = (cCollectionElement_gtlThenElsifStatementList *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; if (nullptr != p) { @@ -12800,10 +13099,10 @@ void GALGAS_gtlThenElsifStatementList::setter_setConditionAtIndex (GALGAS_gtlExp } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlExpression GALGAS_gtlThenElsifStatementList::getter_conditionAtIndex (const GALGAS_uint & inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes = readObjectAtIndex (inIndex, inCompiler COMMA_THERE) ; cCollectionElement_gtlThenElsifStatementList * p = (cCollectionElement_gtlThenElsifStatementList *) attributes.ptr () ; @@ -12815,11 +13114,11 @@ GALGAS_gtlExpression GALGAS_gtlThenElsifStatementList::getter_conditionAtIndex ( return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlThenElsifStatementList::setter_setInstructionListAtIndex (GALGAS_gtlInstructionList inOperand, GALGAS_uint inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement_gtlThenElsifStatementList * p = (cCollectionElement_gtlThenElsifStatementList *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; if (nullptr != p) { @@ -12829,10 +13128,10 @@ void GALGAS_gtlThenElsifStatementList::setter_setInstructionListAtIndex (GALGAS_ } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlInstructionList GALGAS_gtlThenElsifStatementList::getter_instructionListAtIndex (const GALGAS_uint & inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes = readObjectAtIndex (inIndex, inCompiler COMMA_THERE) ; cCollectionElement_gtlThenElsifStatementList * p = (cCollectionElement_gtlThenElsifStatementList *) attributes.ptr () ; @@ -12846,7 +13145,7 @@ GALGAS_gtlInstructionList GALGAS_gtlThenElsifStatementList::getter_instructionLi -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cEnumerator_gtlThenElsifStatementList::cEnumerator_gtlThenElsifStatementList (const GALGAS_gtlThenElsifStatementList & inEnumeratedObject, const typeEnumerationOrder inOrder) : @@ -12854,7 +13153,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) ; @@ -12863,7 +13162,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) ; @@ -12871,7 +13170,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) ; @@ -12882,23 +13181,22 @@ 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 ; @@ -12908,10 +13206,10 @@ AC_GALGAS_root * GALGAS_gtlThenElsifStatementList::clonedObject (void) const { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlThenElsifStatementList GALGAS_gtlThenElsifStatementList::extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlThenElsifStatementList result ; const GALGAS_gtlThenElsifStatementList * p = (const GALGAS_gtlThenElsifStatementList *) inObject.embeddedObject () ; @@ -12925,9 +13223,9 @@ GALGAS_gtlThenElsifStatementList GALGAS_gtlThenElsifStatementList::extractObject return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Object comparison -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult cPtr_gtlIfStatementInstruction::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { typeComparisonResult result = kOperandEqual ; @@ -12948,7 +13246,7 @@ typeComparisonResult cPtr_gtlIfStatementInstruction::dynamicObjectCompare (const return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_gtlIfStatementInstruction::objectCompare (const GALGAS_gtlIfStatementInstruction & inOperand) const { @@ -12967,35 +13265,25 @@ 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::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 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 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)) ; @@ -13003,7 +13291,7 @@ GALGAS_gtlIfStatementInstruction GALGAS_gtlIfStatementInstruction::constructor_n return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlThenElsifStatementList GALGAS_gtlIfStatementInstruction::readProperty_thenElsifList (void) const { if (nullptr == mObjectPtr) { @@ -13015,13 +13303,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) { @@ -13033,13 +13321,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) { @@ -13051,14 +13339,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) { @@ -13070,16 +13358,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, @@ -13091,26 +13379,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 (C_String & ioString, +void cPtr_gtlIfStatementInstruction::description (String & ioString, const int32_t inIndentation) const { - ioString << "[@gtlIfStatementInstruction:" ; + ioString.appendCString ("[@gtlIfStatementInstruction:") ; mProperty_where.description (ioString, inIndentation+1) ; - ioString << ", " ; + ioString.appendCString (", ") ; mProperty_signature.description (ioString, inIndentation+1) ; - ioString << ", " ; + ioString.appendCString (", ") ; mProperty_thenElsifList.description (ioString, inIndentation+1) ; - ioString << ", " ; + ioString.appendCString (", ") ; mProperty_elseList.description (ioString, inIndentation+1) ; - ioString << "]" ; + ioString.appendCString ("]") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- acPtr_class * cPtr_gtlIfStatementInstruction::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -13119,23 +13407,22 @@ 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 ; @@ -13145,10 +13432,10 @@ AC_GALGAS_root * GALGAS_gtlIfStatementInstruction::clonedObject (void) const { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlIfStatementInstruction GALGAS_gtlIfStatementInstruction::extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlIfStatementInstruction result ; const GALGAS_gtlIfStatementInstruction * p = (const GALGAS_gtlIfStatementInstruction *) inObject.embeddedObject () ; @@ -13162,9 +13449,9 @@ GALGAS_gtlIfStatementInstruction GALGAS_gtlIfStatementInstruction::extractObject return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Object comparison -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult cPtr_gtlDisplayStatementInstruction::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { typeComparisonResult result = kOperandEqual ; @@ -13182,7 +13469,7 @@ typeComparisonResult cPtr_gtlDisplayStatementInstruction::dynamicObjectCompare ( return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_gtlDisplayStatementInstruction::objectCompare (const GALGAS_gtlDisplayStatementInstruction & inOperand) const { @@ -13201,33 +13488,24 @@ 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::constructor_new (const GALGAS_location & inAttribute_where, - const GALGAS_string & inAttribute_signature, - const GALGAS_gtlVarPath & inAttribute_variablePath - COMMA_LOCATION_ARGS) { +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 result ; if (inAttribute_where.isValid () && inAttribute_signature.isValid () && inAttribute_variablePath.isValid ()) { macroMyNew (result.mObjectPtr, cPtr_gtlDisplayStatementInstruction (inAttribute_where, inAttribute_signature, inAttribute_variablePath COMMA_THERE)) ; @@ -13235,7 +13513,7 @@ GALGAS_gtlDisplayStatementInstruction GALGAS_gtlDisplayStatementInstruction::con return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlVarPath GALGAS_gtlDisplayStatementInstruction::readProperty_variablePath (void) const { if (nullptr == mObjectPtr) { @@ -13247,13 +13525,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) { @@ -13265,16 +13543,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, @@ -13284,24 +13562,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 (C_String & ioString, +void cPtr_gtlDisplayStatementInstruction::description (String & ioString, const int32_t inIndentation) const { - ioString << "[@gtlDisplayStatementInstruction:" ; + ioString.appendCString ("[@gtlDisplayStatementInstruction:") ; mProperty_where.description (ioString, inIndentation+1) ; - ioString << ", " ; + ioString.appendCString (", ") ; mProperty_signature.description (ioString, inIndentation+1) ; - ioString << ", " ; + ioString.appendCString (", ") ; mProperty_variablePath.description (ioString, inIndentation+1) ; - ioString << "]" ; + ioString.appendCString ("]") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- acPtr_class * cPtr_gtlDisplayStatementInstruction::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -13310,23 +13588,22 @@ 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 ; @@ -13336,10 +13613,10 @@ AC_GALGAS_root * GALGAS_gtlDisplayStatementInstruction::clonedObject (void) cons return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlDisplayStatementInstruction GALGAS_gtlDisplayStatementInstruction::extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlDisplayStatementInstruction result ; const GALGAS_gtlDisplayStatementInstruction * p = (const GALGAS_gtlDisplayStatementInstruction *) inObject.embeddedObject () ; @@ -13353,16 +13630,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 ; -//--- Constructors +//--- Class functions public: cCollectionElement_sortingKeyList (const GALGAS_lstring & in_key, const GALGAS_lsint & in_order COMMA_LOCATION_ARGS) ; @@ -13378,10 +13655,10 @@ class cCollectionElement_sortingKeyList : public cCollectionElement { public: virtual cCollectionElement * copy (void) ; //--- Description - public: virtual void description (C_String & ioString, const int32_t inIndentation) const ; + public: virtual void description (String & ioString, const int32_t inIndentation) const ; } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cCollectionElement_sortingKeyList::cCollectionElement_sortingKeyList (const GALGAS_lstring & in_key, const GALGAS_lsint & in_order @@ -13390,20 +13667,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 ; @@ -13411,20 +13688,20 @@ cCollectionElement * cCollectionElement_sortingKeyList::copy (void) { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void cCollectionElement_sortingKeyList::description (C_String & ioString, const int32_t inIndentation) const { - ioString << "\n" ; - ioString.writeStringMultiple ("| ", inIndentation) ; - ioString << "key" ":" ; +void cCollectionElement_sortingKeyList::description (String & ioString, const int32_t inIndentation) const { + ioString.appendNewLine () ; + ioString.appendStringMultiple ("| ", inIndentation) ; + ioString.appendCString ("key" ":") ; mObject.mProperty_key.description (ioString, inIndentation) ; - ioString << "\n" ; - ioString.writeStringMultiple ("| ", inIndentation) ; - ioString << "order" ":" ; + ioString.appendNewLine () ; + ioString.appendStringMultiple ("| ", inIndentation) ; + ioString.appendCString ("order" ":") ; mObject.mProperty_order.description (ioString, inIndentation) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult cCollectionElement_sortingKeyList::compare (const cCollectionElement * inOperand) const { cCollectionElement_sortingKeyList * operand = (cCollectionElement_sortingKeyList *) inOperand ; @@ -13432,29 +13709,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::constructor_emptyList (UNUSED_LOCATION_ARGS) { - return GALGAS_sortingKeyList (capCollectionElementArray ()) ; +GALGAS_sortingKeyList GALGAS_sortingKeyList::class_func_emptyList (UNUSED_LOCATION_ARGS) { + return GALGAS_sortingKeyList (capCollectionElementArray ()) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_sortingKeyList GALGAS_sortingKeyList::constructor_listWithValue (const GALGAS_lstring & inOperand0, - const GALGAS_lsint & inOperand1 - COMMA_LOCATION_ARGS) { +GALGAS_sortingKeyList GALGAS_sortingKeyList::class_func_listWithValue (const GALGAS_lstring & inOperand0, + const GALGAS_lsint & inOperand1 + COMMA_LOCATION_ARGS) { GALGAS_sortingKeyList result ; if (inOperand0.isValid () && inOperand1.isValid ()) { result = GALGAS_sortingKeyList (capCollectionElementArray ()) ; @@ -13465,7 +13742,7 @@ GALGAS_sortingKeyList GALGAS_sortingKeyList::constructor_listWithValue (const GA return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_sortingKeyList::makeAttributesFromObjects (capCollectionElement & outAttributes, const GALGAS_lstring & in_key, @@ -13478,7 +13755,7 @@ void GALGAS_sortingKeyList::makeAttributesFromObjects (capCollectionElement & ou macroDetachSharedObject (p) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_sortingKeyList::addAssign_operation (const GALGAS_lstring & inOperand0, const GALGAS_lsint & inOperand1 @@ -13493,11 +13770,11 @@ void GALGAS_sortingKeyList::addAssign_operation (const GALGAS_lstring & inOperan } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_sortingKeyList::setter_append (const GALGAS_lstring inOperand0, const GALGAS_lsint inOperand1, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_LOCATION_ARGS) { if (isValid ()) { cCollectionElement * p = nullptr ; @@ -13509,12 +13786,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inInsertionIndex.isValid () && inOperand0.isValid () && inOperand1.isValid ()) { @@ -13530,12 +13807,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inRemoveIndex.isValid ()) { @@ -13562,11 +13839,11 @@ void GALGAS_sortingKeyList::setter_removeAtIndex (GALGAS_lstring & outOperand0, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_sortingKeyList::setter_popFirst (GALGAS_lstring & outOperand0, GALGAS_lsint & outOperand1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeFirstObject (attributes, inCompiler COMMA_THERE) ; @@ -13581,11 +13858,11 @@ void GALGAS_sortingKeyList::setter_popFirst (GALGAS_lstring & outOperand0, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_sortingKeyList::setter_popLast (GALGAS_lstring & outOperand0, GALGAS_lsint & outOperand1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeLastObject (attributes, inCompiler COMMA_THERE) ; @@ -13600,11 +13877,11 @@ void GALGAS_sortingKeyList::setter_popLast (GALGAS_lstring & outOperand0, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_sortingKeyList::method_first (GALGAS_lstring & outOperand0, GALGAS_lsint & outOperand1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readFirst (attributes, inCompiler COMMA_THERE) ; @@ -13619,11 +13896,11 @@ void GALGAS_sortingKeyList::method_first (GALGAS_lstring & outOperand0, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_sortingKeyList::method_last (GALGAS_lstring & outOperand0, GALGAS_lsint & outOperand1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readLast (attributes, inCompiler COMMA_THERE) ; @@ -13638,10 +13915,10 @@ void GALGAS_sortingKeyList::method_last (GALGAS_lstring & outOperand0, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_sortingKeyList GALGAS_sortingKeyList::add_operation (const GALGAS_sortingKeyList & inOperand, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_sortingKeyList result ; if (isValid () && inOperand.isValid ()) { @@ -13651,49 +13928,49 @@ GALGAS_sortingKeyList GALGAS_sortingKeyList::add_operation (const GALGAS_sorting return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_sortingKeyList GALGAS_sortingKeyList::getter_subListWithRange (const GALGAS_range & inRange, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_sortingKeyList result = GALGAS_sortingKeyList::constructor_emptyList (THERE) ; + GALGAS_sortingKeyList result = GALGAS_sortingKeyList::class_func_emptyList (THERE) ; subListWithRange (result, inRange, inCompiler COMMA_THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_sortingKeyList GALGAS_sortingKeyList::getter_subListFromIndex (const GALGAS_uint & inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_sortingKeyList result = GALGAS_sortingKeyList::constructor_emptyList (THERE) ; + GALGAS_sortingKeyList result = GALGAS_sortingKeyList::class_func_emptyList (THERE) ; subListFromIndex (result, inIndex, inCompiler COMMA_THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_sortingKeyList GALGAS_sortingKeyList::getter_subListToIndex (const GALGAS_uint & inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_sortingKeyList result = GALGAS_sortingKeyList::constructor_emptyList (THERE) ; + GALGAS_sortingKeyList result = GALGAS_sortingKeyList::class_func_emptyList (THERE) ; subListToIndex (result, inIndex, inCompiler COMMA_THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_sortingKeyList::plusAssign_operation (const GALGAS_sortingKeyList inOperand, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) { appendList (inOperand) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_sortingKeyList::setter_setKeyAtIndex (GALGAS_lstring inOperand, GALGAS_uint inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement_sortingKeyList * p = (cCollectionElement_sortingKeyList *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; if (nullptr != p) { @@ -13703,10 +13980,10 @@ void GALGAS_sortingKeyList::setter_setKeyAtIndex (GALGAS_lstring inOperand, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_lstring GALGAS_sortingKeyList::getter_keyAtIndex (const GALGAS_uint & inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes = readObjectAtIndex (inIndex, inCompiler COMMA_THERE) ; cCollectionElement_sortingKeyList * p = (cCollectionElement_sortingKeyList *) attributes.ptr () ; @@ -13718,11 +13995,11 @@ GALGAS_lstring GALGAS_sortingKeyList::getter_keyAtIndex (const GALGAS_uint & inI return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_sortingKeyList::setter_setOrderAtIndex (GALGAS_lsint inOperand, GALGAS_uint inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement_sortingKeyList * p = (cCollectionElement_sortingKeyList *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; if (nullptr != p) { @@ -13732,10 +14009,10 @@ void GALGAS_sortingKeyList::setter_setOrderAtIndex (GALGAS_lsint inOperand, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_lsint GALGAS_sortingKeyList::getter_orderAtIndex (const GALGAS_uint & inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes = readObjectAtIndex (inIndex, inCompiler COMMA_THERE) ; cCollectionElement_sortingKeyList * p = (cCollectionElement_sortingKeyList *) attributes.ptr () ; @@ -13749,7 +14026,7 @@ GALGAS_lsint GALGAS_sortingKeyList::getter_orderAtIndex (const GALGAS_uint & inI -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cEnumerator_sortingKeyList::cEnumerator_sortingKeyList (const GALGAS_sortingKeyList & inEnumeratedObject, const typeEnumerationOrder inOrder) : @@ -13757,7 +14034,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) ; @@ -13766,7 +14043,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) ; @@ -13774,7 +14051,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) ; @@ -13785,23 +14062,22 @@ 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 ; @@ -13811,10 +14087,10 @@ AC_GALGAS_root * GALGAS_sortingKeyList::clonedObject (void) const { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_sortingKeyList GALGAS_sortingKeyList::extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_sortingKeyList result ; const GALGAS_sortingKeyList * p = (const GALGAS_sortingKeyList *) inObject.embeddedObject () ; @@ -13828,9 +14104,9 @@ GALGAS_sortingKeyList GALGAS_sortingKeyList::extractObject (const GALGAS_object return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Object comparison -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- @@ -13850,19 +14126,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) { @@ -13874,13 +14150,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) { @@ -13892,16 +14168,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, @@ -13912,23 +14188,22 @@ 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 ; @@ -13938,10 +14213,10 @@ AC_GALGAS_root * GALGAS_gtlAbstractSortInstruction::clonedObject (void) const { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlAbstractSortInstruction GALGAS_gtlAbstractSortInstruction::extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlAbstractSortInstruction result ; const GALGAS_gtlAbstractSortInstruction * p = (const GALGAS_gtlAbstractSortInstruction *) inObject.embeddedObject () ; @@ -13955,16 +14230,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_, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_sint result ; if (nullptr != inObject) { @@ -13973,16 +14248,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_, - C_Compiler * inCompiler + 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)) ; { @@ -13993,30 +14268,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_, - C_Compiler * inCompiler + 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, - C_Compiler * inCompiler + 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 ; @@ -14056,30 +14331,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, - C_Compiler * inCompiler + 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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { enumGalgasBool test_0 = kBoolTrue ; if (kBoolTrue == test_0) { @@ -14096,22 +14371,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, - C_Compiler * inCompiler + 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 ; @@ -14132,7 +14407,7 @@ typeComparisonResult cPtr_gtlSortStatementStructInstruction::dynamicObjectCompar return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_gtlSortStatementStructInstruction::objectCompare (const GALGAS_gtlSortStatementStructInstruction & inOperand) const { @@ -14151,35 +14426,25 @@ 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::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 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 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)) ; @@ -14187,7 +14452,7 @@ GALGAS_gtlSortStatementStructInstruction GALGAS_gtlSortStatementStructInstructio return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_sortingKeyList GALGAS_gtlSortStatementStructInstruction::readProperty_sortingKey (void) const { if (nullptr == mObjectPtr) { @@ -14199,13 +14464,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) { @@ -14217,16 +14482,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, @@ -14237,26 +14502,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 (C_String & ioString, +void cPtr_gtlSortStatementStructInstruction::description (String & ioString, const int32_t inIndentation) const { - ioString << "[@gtlSortStatementStructInstruction:" ; + ioString.appendCString ("[@gtlSortStatementStructInstruction:") ; mProperty_where.description (ioString, inIndentation+1) ; - ioString << ", " ; + ioString.appendCString (", ") ; mProperty_signature.description (ioString, inIndentation+1) ; - ioString << ", " ; + ioString.appendCString (", ") ; mProperty_variablePath.description (ioString, inIndentation+1) ; - ioString << ", " ; + ioString.appendCString (", ") ; mProperty_sortingKey.description (ioString, inIndentation+1) ; - ioString << "]" ; + ioString.appendCString ("]") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- acPtr_class * cPtr_gtlSortStatementStructInstruction::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -14265,23 +14530,22 @@ 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 ; @@ -14291,10 +14555,10 @@ AC_GALGAS_root * GALGAS_gtlSortStatementStructInstruction::clonedObject (void) c return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlSortStatementStructInstruction GALGAS_gtlSortStatementStructInstruction::extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlSortStatementStructInstruction result ; const GALGAS_gtlSortStatementStructInstruction * p = (const GALGAS_gtlSortStatementStructInstruction *) inObject.embeddedObject () ; @@ -14308,16 +14572,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_sint result_result ; // Returned variable enumGalgasBool test_0 = kBoolTrue ; @@ -14361,7 +14625,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", 1078)).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", 1071)).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)) ; } @@ -14369,7 +14633,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", 1077)).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", 1074)).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)) ; } @@ -14404,13 +14668,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_sint result ; if (nullptr != inObject) { @@ -14419,9 +14683,9 @@ GALGAS_sint callExtensionGetter_compareElements (const cPtr_gtlSortStatementStru return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Object comparison -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult cPtr_gtlVariablesInstruction::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { typeComparisonResult result = kOperandEqual ; @@ -14439,7 +14703,7 @@ typeComparisonResult cPtr_gtlVariablesInstruction::dynamicObjectCompare (const a return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_gtlVariablesInstruction::objectCompare (const GALGAS_gtlVariablesInstruction & inOperand) const { @@ -14458,33 +14722,24 @@ 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::constructor_new (const GALGAS_location & inAttribute_where, - const GALGAS_string & inAttribute_signature, - const GALGAS_bool & inAttribute_shortDisplay - COMMA_LOCATION_ARGS) { +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 result ; if (inAttribute_where.isValid () && inAttribute_signature.isValid () && inAttribute_shortDisplay.isValid ()) { macroMyNew (result.mObjectPtr, cPtr_gtlVariablesInstruction (inAttribute_where, inAttribute_signature, inAttribute_shortDisplay COMMA_THERE)) ; @@ -14492,7 +14747,7 @@ GALGAS_gtlVariablesInstruction GALGAS_gtlVariablesInstruction::constructor_new ( return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_bool GALGAS_gtlVariablesInstruction::readProperty_shortDisplay (void) const { if (nullptr == mObjectPtr) { @@ -14504,13 +14759,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) { @@ -14522,16 +14777,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, @@ -14541,24 +14796,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 (C_String & ioString, +void cPtr_gtlVariablesInstruction::description (String & ioString, const int32_t inIndentation) const { - ioString << "[@gtlVariablesInstruction:" ; + ioString.appendCString ("[@gtlVariablesInstruction:") ; mProperty_where.description (ioString, inIndentation+1) ; - ioString << ", " ; + ioString.appendCString (", ") ; mProperty_signature.description (ioString, inIndentation+1) ; - ioString << ", " ; + ioString.appendCString (", ") ; mProperty_shortDisplay.description (ioString, inIndentation+1) ; - ioString << "]" ; + ioString.appendCString ("]") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- acPtr_class * cPtr_gtlVariablesInstruction::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -14567,23 +14822,22 @@ 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 ; @@ -14593,10 +14847,10 @@ AC_GALGAS_root * GALGAS_gtlVariablesInstruction::clonedObject (void) const { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlVariablesInstruction GALGAS_gtlVariablesInstruction::extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlVariablesInstruction result ; const GALGAS_gtlVariablesInstruction * p = (const GALGAS_gtlVariablesInstruction *) inObject.embeddedObject () ; @@ -14610,14 +14864,14 @@ GALGAS_gtlVariablesInstruction GALGAS_gtlVariablesInstruction::extractObject (co return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Extension method '@gtlVariablesInstruction displayShort' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void cPtr_gtlVariablesInstruction::method_displayShort (const GALGAS_gtlData constinArgument_vars, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { if (constinArgument_vars.isValid ()) { if (constinArgument_vars.dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_gtlStruct) { @@ -14636,29 +14890,29 @@ void cPtr_gtlVariablesInstruction::method_displayShort (const GALGAS_gtlData con } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void callExtensionMethod_displayShort (cPtr_gtlVariablesInstruction * inObject, const GALGAS_gtlData constin_vars, - C_Compiler * inCompiler + 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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { - 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)) ; + 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)) ; 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)) ; @@ -14682,20 +14936,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, - C_Compiler * inCompiler + 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 ; @@ -14710,7 +14964,7 @@ typeComparisonResult cPtr_gtlLibrariesInstruction::dynamicObjectCompare (const a return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_gtlLibrariesInstruction::objectCompare (const GALGAS_gtlLibrariesInstruction & inOperand) const { @@ -14729,31 +14983,23 @@ 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::constructor_new (const GALGAS_location & inAttribute_where, - const GALGAS_string & inAttribute_signature - COMMA_LOCATION_ARGS) { +GALGAS_gtlLibrariesInstruction GALGAS_gtlLibrariesInstruction::class_func_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)) ; @@ -14761,9 +15007,9 @@ GALGAS_gtlLibrariesInstruction GALGAS_gtlLibrariesInstruction::constructor_new ( return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- //Pointer class for @gtlLibrariesInstruction class -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cPtr_gtlLibrariesInstruction::cPtr_gtlLibrariesInstruction (const GALGAS_location & in_where, const GALGAS_string & in_signature @@ -14771,22 +15017,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 (C_String & ioString, +void cPtr_gtlLibrariesInstruction::description (String & ioString, const int32_t inIndentation) const { - ioString << "[@gtlLibrariesInstruction:" ; + ioString.appendCString ("[@gtlLibrariesInstruction:") ; mProperty_where.description (ioString, inIndentation+1) ; - ioString << ", " ; + ioString.appendCString (", ") ; mProperty_signature.description (ioString, inIndentation+1) ; - ioString << "]" ; + ioString.appendCString ("]") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- acPtr_class * cPtr_gtlLibrariesInstruction::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -14795,23 +15041,22 @@ 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 ; @@ -14821,10 +15066,10 @@ AC_GALGAS_root * GALGAS_gtlLibrariesInstruction::clonedObject (void) const { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlLibrariesInstruction GALGAS_gtlLibrariesInstruction::extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlLibrariesInstruction result ; const GALGAS_gtlLibrariesInstruction * p = (const GALGAS_gtlLibrariesInstruction *) inObject.embeddedObject () ; @@ -14838,9 +15083,9 @@ GALGAS_gtlLibrariesInstruction GALGAS_gtlLibrariesInstruction::extractObject (co return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Object comparison -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult cPtr_gtlInputStatementInstruction::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { typeComparisonResult result = kOperandEqual ; @@ -14858,7 +15103,7 @@ typeComparisonResult cPtr_gtlInputStatementInstruction::dynamicObjectCompare (co return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_gtlInputStatementInstruction::objectCompare (const GALGAS_gtlInputStatementInstruction & inOperand) const { @@ -14877,33 +15122,24 @@ 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::constructor_new (const GALGAS_location & inAttribute_where, - const GALGAS_string & inAttribute_signature, - const GALGAS_gtlArgumentList & inAttribute_formalArguments - COMMA_LOCATION_ARGS) { +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 result ; if (inAttribute_where.isValid () && inAttribute_signature.isValid () && inAttribute_formalArguments.isValid ()) { macroMyNew (result.mObjectPtr, cPtr_gtlInputStatementInstruction (inAttribute_where, inAttribute_signature, inAttribute_formalArguments COMMA_THERE)) ; @@ -14911,7 +15147,7 @@ GALGAS_gtlInputStatementInstruction GALGAS_gtlInputStatementInstruction::constru return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlArgumentList GALGAS_gtlInputStatementInstruction::readProperty_formalArguments (void) const { if (nullptr == mObjectPtr) { @@ -14923,13 +15159,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) { @@ -14941,16 +15177,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, @@ -14960,24 +15196,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 (C_String & ioString, +void cPtr_gtlInputStatementInstruction::description (String & ioString, const int32_t inIndentation) const { - ioString << "[@gtlInputStatementInstruction:" ; + ioString.appendCString ("[@gtlInputStatementInstruction:") ; mProperty_where.description (ioString, inIndentation+1) ; - ioString << ", " ; + ioString.appendCString (", ") ; mProperty_signature.description (ioString, inIndentation+1) ; - ioString << ", " ; + ioString.appendCString (", ") ; mProperty_formalArguments.description (ioString, inIndentation+1) ; - ioString << "]" ; + ioString.appendCString ("]") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- acPtr_class * cPtr_gtlInputStatementInstruction::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -14986,23 +15222,22 @@ 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 ; @@ -15012,10 +15247,10 @@ AC_GALGAS_root * GALGAS_gtlInputStatementInstruction::clonedObject (void) const return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlInputStatementInstruction GALGAS_gtlInputStatementInstruction::extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlInputStatementInstruction result ; const GALGAS_gtlInputStatementInstruction * p = (const GALGAS_gtlInputStatementInstruction *) inObject.embeddedObject () ; @@ -15029,17 +15264,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { enumGalgasBool test_0 = kBoolTrue ; if (kBoolTrue == test_0) { @@ -15049,7 +15284,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::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_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_string var_whatInFile_2792 = GALGAS_string::makeEmptyString () ; cEnumerator_stringlist enumerator_2817 (var_commands_2684, kENUMERATION_UP) ; while (enumerator_2817.hasCurrentObject ()) { @@ -15090,16 +15325,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 ; -//--- Constructors +//--- Class functions public: cCollectionElement_gtlBreakpointList (const GALGAS_gtlBreakpoint & in_breakpoint COMMA_LOCATION_ARGS) ; public: cCollectionElement_gtlBreakpointList (const GALGAS_gtlBreakpointList_2D_element & inElement COMMA_LOCATION_ARGS) ; @@ -15114,10 +15349,10 @@ class cCollectionElement_gtlBreakpointList : public cCollectionElement { public: virtual cCollectionElement * copy (void) ; //--- Description - public: virtual void description (C_String & ioString, const int32_t inIndentation) const ; + public: virtual void description (String & ioString, const int32_t inIndentation) const ; } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cCollectionElement_gtlBreakpointList::cCollectionElement_gtlBreakpointList (const GALGAS_gtlBreakpoint & in_breakpoint COMMA_LOCATION_ARGS) : @@ -15125,20 +15360,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 ; @@ -15146,16 +15381,16 @@ cCollectionElement * cCollectionElement_gtlBreakpointList::copy (void) { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void cCollectionElement_gtlBreakpointList::description (C_String & ioString, const int32_t inIndentation) const { - ioString << "\n" ; - ioString.writeStringMultiple ("| ", inIndentation) ; - ioString << "breakpoint" ":" ; +void cCollectionElement_gtlBreakpointList::description (String & ioString, const int32_t inIndentation) const { + ioString.appendNewLine () ; + ioString.appendStringMultiple ("| ", inIndentation) ; + ioString.appendCString ("breakpoint" ":") ; mObject.mProperty_breakpoint.description (ioString, inIndentation) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult cCollectionElement_gtlBreakpointList::compare (const cCollectionElement * inOperand) const { cCollectionElement_gtlBreakpointList * operand = (cCollectionElement_gtlBreakpointList *) inOperand ; @@ -15163,28 +15398,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::constructor_emptyList (UNUSED_LOCATION_ARGS) { - return GALGAS_gtlBreakpointList (capCollectionElementArray ()) ; +GALGAS_gtlBreakpointList GALGAS_gtlBreakpointList::class_func_emptyList (UNUSED_LOCATION_ARGS) { + return GALGAS_gtlBreakpointList (capCollectionElementArray ()) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_gtlBreakpointList GALGAS_gtlBreakpointList::constructor_listWithValue (const GALGAS_gtlBreakpoint & inOperand0 - COMMA_LOCATION_ARGS) { +GALGAS_gtlBreakpointList GALGAS_gtlBreakpointList::class_func_listWithValue (const GALGAS_gtlBreakpoint & inOperand0 + COMMA_LOCATION_ARGS) { GALGAS_gtlBreakpointList result ; if (inOperand0.isValid ()) { result = GALGAS_gtlBreakpointList (capCollectionElementArray ()) ; @@ -15195,7 +15430,7 @@ GALGAS_gtlBreakpointList GALGAS_gtlBreakpointList::constructor_listWithValue (co return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlBreakpointList::makeAttributesFromObjects (capCollectionElement & outAttributes, const GALGAS_gtlBreakpoint & in_breakpoint @@ -15206,7 +15441,7 @@ void GALGAS_gtlBreakpointList::makeAttributesFromObjects (capCollectionElement & macroDetachSharedObject (p) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlBreakpointList::addAssign_operation (const GALGAS_gtlBreakpoint & inOperand0 COMMA_LOCATION_ARGS) { @@ -15220,10 +15455,10 @@ void GALGAS_gtlBreakpointList::addAssign_operation (const GALGAS_gtlBreakpoint & } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlBreakpointList::setter_append (const GALGAS_gtlBreakpoint inOperand0, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_LOCATION_ARGS) { if (isValid ()) { cCollectionElement * p = nullptr ; @@ -15235,11 +15470,11 @@ void GALGAS_gtlBreakpointList::setter_append (const GALGAS_gtlBreakpoint inOpera } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlBreakpointList::setter_insertAtIndex (const GALGAS_gtlBreakpoint inOperand0, const GALGAS_uint inInsertionIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inInsertionIndex.isValid () && inOperand0.isValid ()) { @@ -15255,11 +15490,11 @@ void GALGAS_gtlBreakpointList::setter_insertAtIndex (const GALGAS_gtlBreakpoint } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlBreakpointList::setter_removeAtIndex (GALGAS_gtlBreakpoint & outOperand0, const GALGAS_uint inRemoveIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inRemoveIndex.isValid ()) { @@ -15282,10 +15517,10 @@ void GALGAS_gtlBreakpointList::setter_removeAtIndex (GALGAS_gtlBreakpoint & outO } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlBreakpointList::setter_popFirst (GALGAS_gtlBreakpoint & outOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeFirstObject (attributes, inCompiler COMMA_THERE) ; @@ -15298,10 +15533,10 @@ void GALGAS_gtlBreakpointList::setter_popFirst (GALGAS_gtlBreakpoint & outOperan } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlBreakpointList::setter_popLast (GALGAS_gtlBreakpoint & outOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeLastObject (attributes, inCompiler COMMA_THERE) ; @@ -15314,10 +15549,10 @@ void GALGAS_gtlBreakpointList::setter_popLast (GALGAS_gtlBreakpoint & outOperand } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlBreakpointList::method_first (GALGAS_gtlBreakpoint & outOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readFirst (attributes, inCompiler COMMA_THERE) ; @@ -15330,10 +15565,10 @@ void GALGAS_gtlBreakpointList::method_first (GALGAS_gtlBreakpoint & outOperand0, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlBreakpointList::method_last (GALGAS_gtlBreakpoint & outOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readLast (attributes, inCompiler COMMA_THERE) ; @@ -15346,10 +15581,10 @@ void GALGAS_gtlBreakpointList::method_last (GALGAS_gtlBreakpoint & outOperand0, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlBreakpointList GALGAS_gtlBreakpointList::add_operation (const GALGAS_gtlBreakpointList & inOperand, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_gtlBreakpointList result ; if (isValid () && inOperand.isValid ()) { @@ -15359,49 +15594,49 @@ GALGAS_gtlBreakpointList GALGAS_gtlBreakpointList::add_operation (const GALGAS_g return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlBreakpointList GALGAS_gtlBreakpointList::getter_subListWithRange (const GALGAS_range & inRange, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_gtlBreakpointList result = GALGAS_gtlBreakpointList::constructor_emptyList (THERE) ; + GALGAS_gtlBreakpointList result = GALGAS_gtlBreakpointList::class_func_emptyList (THERE) ; subListWithRange (result, inRange, inCompiler COMMA_THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlBreakpointList GALGAS_gtlBreakpointList::getter_subListFromIndex (const GALGAS_uint & inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_gtlBreakpointList result = GALGAS_gtlBreakpointList::constructor_emptyList (THERE) ; + GALGAS_gtlBreakpointList result = GALGAS_gtlBreakpointList::class_func_emptyList (THERE) ; subListFromIndex (result, inIndex, inCompiler COMMA_THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlBreakpointList GALGAS_gtlBreakpointList::getter_subListToIndex (const GALGAS_uint & inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_gtlBreakpointList result = GALGAS_gtlBreakpointList::constructor_emptyList (THERE) ; + GALGAS_gtlBreakpointList result = GALGAS_gtlBreakpointList::class_func_emptyList (THERE) ; subListToIndex (result, inIndex, inCompiler COMMA_THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlBreakpointList::plusAssign_operation (const GALGAS_gtlBreakpointList inOperand, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) { appendList (inOperand) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlBreakpointList::setter_setBreakpointAtIndex (GALGAS_gtlBreakpoint inOperand, GALGAS_uint inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement_gtlBreakpointList * p = (cCollectionElement_gtlBreakpointList *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; if (nullptr != p) { @@ -15411,10 +15646,10 @@ void GALGAS_gtlBreakpointList::setter_setBreakpointAtIndex (GALGAS_gtlBreakpoint } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlBreakpoint GALGAS_gtlBreakpointList::getter_breakpointAtIndex (const GALGAS_uint & inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes = readObjectAtIndex (inIndex, inCompiler COMMA_THERE) ; cCollectionElement_gtlBreakpointList * p = (cCollectionElement_gtlBreakpointList *) attributes.ptr () ; @@ -15428,7 +15663,7 @@ GALGAS_gtlBreakpoint GALGAS_gtlBreakpointList::getter_breakpointAtIndex (const G -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cEnumerator_gtlBreakpointList::cEnumerator_gtlBreakpointList (const GALGAS_gtlBreakpointList & inEnumeratedObject, const typeEnumerationOrder inOrder) : @@ -15436,7 +15671,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) ; @@ -15445,7 +15680,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) ; @@ -15456,23 +15691,22 @@ 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 ; @@ -15482,10 +15716,10 @@ AC_GALGAS_root * GALGAS_gtlBreakpointList::clonedObject (void) const { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlBreakpointList GALGAS_gtlBreakpointList::extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlBreakpointList result ; const GALGAS_gtlBreakpointList * p = (const GALGAS_gtlBreakpointList *) inObject.embeddedObject () ; @@ -15499,16 +15733,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 ; -//--- Constructors +//--- Class functions public: cCollectionElement_gtlInstructionListContextStack (const GALGAS_uint & in_nextInstructionIndex, const GALGAS_gtlInstructionList & in_instructionList COMMA_LOCATION_ARGS) ; @@ -15524,10 +15758,10 @@ class cCollectionElement_gtlInstructionListContextStack : public cCollectionElem public: virtual cCollectionElement * copy (void) ; //--- Description - public: virtual void description (C_String & ioString, const int32_t inIndentation) const ; + public: virtual void description (String & ioString, const int32_t inIndentation) const ; } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cCollectionElement_gtlInstructionListContextStack::cCollectionElement_gtlInstructionListContextStack (const GALGAS_uint & in_nextInstructionIndex, const GALGAS_gtlInstructionList & in_instructionList @@ -15536,20 +15770,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 ; @@ -15557,20 +15791,20 @@ cCollectionElement * cCollectionElement_gtlInstructionListContextStack::copy (vo return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void cCollectionElement_gtlInstructionListContextStack::description (C_String & ioString, const int32_t inIndentation) const { - ioString << "\n" ; - ioString.writeStringMultiple ("| ", inIndentation) ; - ioString << "nextInstructionIndex" ":" ; +void cCollectionElement_gtlInstructionListContextStack::description (String & ioString, const int32_t inIndentation) const { + ioString.appendNewLine () ; + ioString.appendStringMultiple ("| ", inIndentation) ; + ioString.appendCString ("nextInstructionIndex" ":") ; mObject.mProperty_nextInstructionIndex.description (ioString, inIndentation) ; - ioString << "\n" ; - ioString.writeStringMultiple ("| ", inIndentation) ; - ioString << "instructionList" ":" ; + ioString.appendNewLine () ; + ioString.appendStringMultiple ("| ", inIndentation) ; + ioString.appendCString ("instructionList" ":") ; mObject.mProperty_instructionList.description (ioString, inIndentation) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult cCollectionElement_gtlInstructionListContextStack::compare (const cCollectionElement * inOperand) const { cCollectionElement_gtlInstructionListContextStack * operand = (cCollectionElement_gtlInstructionListContextStack *) inOperand ; @@ -15578,29 +15812,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::constructor_emptyList (UNUSED_LOCATION_ARGS) { - return GALGAS_gtlInstructionListContextStack (capCollectionElementArray ()) ; +GALGAS_gtlInstructionListContextStack GALGAS_gtlInstructionListContextStack::class_func_emptyList (UNUSED_LOCATION_ARGS) { + return GALGAS_gtlInstructionListContextStack (capCollectionElementArray ()) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_gtlInstructionListContextStack GALGAS_gtlInstructionListContextStack::constructor_listWithValue (const GALGAS_uint & inOperand0, - const GALGAS_gtlInstructionList & inOperand1 - COMMA_LOCATION_ARGS) { +GALGAS_gtlInstructionListContextStack GALGAS_gtlInstructionListContextStack::class_func_listWithValue (const GALGAS_uint & inOperand0, + const GALGAS_gtlInstructionList & inOperand1 + COMMA_LOCATION_ARGS) { GALGAS_gtlInstructionListContextStack result ; if (inOperand0.isValid () && inOperand1.isValid ()) { result = GALGAS_gtlInstructionListContextStack (capCollectionElementArray ()) ; @@ -15611,7 +15845,7 @@ GALGAS_gtlInstructionListContextStack GALGAS_gtlInstructionListContextStack::con return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlInstructionListContextStack::makeAttributesFromObjects (capCollectionElement & outAttributes, const GALGAS_uint & in_nextInstructionIndex, @@ -15624,7 +15858,7 @@ void GALGAS_gtlInstructionListContextStack::makeAttributesFromObjects (capCollec macroDetachSharedObject (p) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlInstructionListContextStack::addAssign_operation (const GALGAS_uint & inOperand0, const GALGAS_gtlInstructionList & inOperand1 @@ -15639,11 +15873,11 @@ void GALGAS_gtlInstructionListContextStack::addAssign_operation (const GALGAS_ui } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlInstructionListContextStack::setter_append (const GALGAS_uint inOperand0, const GALGAS_gtlInstructionList inOperand1, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_LOCATION_ARGS) { if (isValid ()) { cCollectionElement * p = nullptr ; @@ -15655,12 +15889,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inInsertionIndex.isValid () && inOperand0.isValid () && inOperand1.isValid ()) { @@ -15676,12 +15910,12 @@ void GALGAS_gtlInstructionListContextStack::setter_insertAtIndex (const GALGAS_u } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlInstructionListContextStack::setter_removeAtIndex (GALGAS_uint & outOperand0, GALGAS_gtlInstructionList & outOperand1, const GALGAS_uint inRemoveIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inRemoveIndex.isValid ()) { @@ -15708,11 +15942,11 @@ void GALGAS_gtlInstructionListContextStack::setter_removeAtIndex (GALGAS_uint & } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlInstructionListContextStack::setter_popFirst (GALGAS_uint & outOperand0, GALGAS_gtlInstructionList & outOperand1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeFirstObject (attributes, inCompiler COMMA_THERE) ; @@ -15727,11 +15961,11 @@ void GALGAS_gtlInstructionListContextStack::setter_popFirst (GALGAS_uint & outOp } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlInstructionListContextStack::setter_popLast (GALGAS_uint & outOperand0, GALGAS_gtlInstructionList & outOperand1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeLastObject (attributes, inCompiler COMMA_THERE) ; @@ -15746,11 +15980,11 @@ void GALGAS_gtlInstructionListContextStack::setter_popLast (GALGAS_uint & outOpe } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlInstructionListContextStack::method_first (GALGAS_uint & outOperand0, GALGAS_gtlInstructionList & outOperand1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readFirst (attributes, inCompiler COMMA_THERE) ; @@ -15765,11 +15999,11 @@ void GALGAS_gtlInstructionListContextStack::method_first (GALGAS_uint & outOpera } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlInstructionListContextStack::method_last (GALGAS_uint & outOperand0, GALGAS_gtlInstructionList & outOperand1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readLast (attributes, inCompiler COMMA_THERE) ; @@ -15784,10 +16018,10 @@ void GALGAS_gtlInstructionListContextStack::method_last (GALGAS_uint & outOperan } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlInstructionListContextStack GALGAS_gtlInstructionListContextStack::add_operation (const GALGAS_gtlInstructionListContextStack & inOperand, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_gtlInstructionListContextStack result ; if (isValid () && inOperand.isValid ()) { @@ -15797,49 +16031,49 @@ GALGAS_gtlInstructionListContextStack GALGAS_gtlInstructionListContextStack::add return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlInstructionListContextStack GALGAS_gtlInstructionListContextStack::getter_subListWithRange (const GALGAS_range & inRange, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_gtlInstructionListContextStack result = GALGAS_gtlInstructionListContextStack::constructor_emptyList (THERE) ; + GALGAS_gtlInstructionListContextStack result = GALGAS_gtlInstructionListContextStack::class_func_emptyList (THERE) ; subListWithRange (result, inRange, inCompiler COMMA_THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlInstructionListContextStack GALGAS_gtlInstructionListContextStack::getter_subListFromIndex (const GALGAS_uint & inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_gtlInstructionListContextStack result = GALGAS_gtlInstructionListContextStack::constructor_emptyList (THERE) ; + GALGAS_gtlInstructionListContextStack result = GALGAS_gtlInstructionListContextStack::class_func_emptyList (THERE) ; subListFromIndex (result, inIndex, inCompiler COMMA_THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlInstructionListContextStack GALGAS_gtlInstructionListContextStack::getter_subListToIndex (const GALGAS_uint & inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_gtlInstructionListContextStack result = GALGAS_gtlInstructionListContextStack::constructor_emptyList (THERE) ; + GALGAS_gtlInstructionListContextStack result = GALGAS_gtlInstructionListContextStack::class_func_emptyList (THERE) ; subListToIndex (result, inIndex, inCompiler COMMA_THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlInstructionListContextStack::plusAssign_operation (const GALGAS_gtlInstructionListContextStack inOperand, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) { appendList (inOperand) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlInstructionListContextStack::setter_setNextInstructionIndexAtIndex (GALGAS_uint inOperand, GALGAS_uint inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement_gtlInstructionListContextStack * p = (cCollectionElement_gtlInstructionListContextStack *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; if (nullptr != p) { @@ -15849,10 +16083,10 @@ void GALGAS_gtlInstructionListContextStack::setter_setNextInstructionIndexAtInde } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_uint GALGAS_gtlInstructionListContextStack::getter_nextInstructionIndexAtIndex (const GALGAS_uint & inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes = readObjectAtIndex (inIndex, inCompiler COMMA_THERE) ; cCollectionElement_gtlInstructionListContextStack * p = (cCollectionElement_gtlInstructionListContextStack *) attributes.ptr () ; @@ -15864,11 +16098,11 @@ GALGAS_uint GALGAS_gtlInstructionListContextStack::getter_nextInstructionIndexAt return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_gtlInstructionListContextStack::setter_setInstructionListAtIndex (GALGAS_gtlInstructionList inOperand, GALGAS_uint inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement_gtlInstructionListContextStack * p = (cCollectionElement_gtlInstructionListContextStack *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; if (nullptr != p) { @@ -15878,10 +16112,10 @@ void GALGAS_gtlInstructionListContextStack::setter_setInstructionListAtIndex (GA } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlInstructionList GALGAS_gtlInstructionListContextStack::getter_instructionListAtIndex (const GALGAS_uint & inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes = readObjectAtIndex (inIndex, inCompiler COMMA_THERE) ; cCollectionElement_gtlInstructionListContextStack * p = (cCollectionElement_gtlInstructionListContextStack *) attributes.ptr () ; @@ -15895,7 +16129,7 @@ GALGAS_gtlInstructionList GALGAS_gtlInstructionListContextStack::getter_instruct -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cEnumerator_gtlInstructionListContextStack::cEnumerator_gtlInstructionListContextStack (const GALGAS_gtlInstructionListContextStack & inEnumeratedObject, const typeEnumerationOrder inOrder) : @@ -15903,7 +16137,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) ; @@ -15912,7 +16146,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) ; @@ -15920,7 +16154,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) ; @@ -15931,23 +16165,22 @@ 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 ; @@ -15957,10 +16190,10 @@ AC_GALGAS_root * GALGAS_gtlInstructionListContextStack::clonedObject (void) cons return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlInstructionListContextStack GALGAS_gtlInstructionListContextStack::extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + 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 73c62e446..e6782f947 100644 --- a/goil/build/output/all-declarations-0.h +++ b/goil/build/output/all-declarations-0.h @@ -1,17 +1,253 @@ #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 @@ -25,25 +261,25 @@ class GALGAS_gtlDataList : public AC_GALGAS_list { const class GALGAS_gtlData & in_data COMMA_LOCATION_ARGS) ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlDataList extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS constructors - public: static class GALGAS_gtlDataList constructor_emptyList (LOCATION_ARGS) ; +//--------------------------------- GALGAS class functions + public: static class GALGAS_gtlDataList class_func_emptyList (LOCATION_ARGS) ; - public: static class GALGAS_gtlDataList constructor_listWithValue (const class GALGAS_gtlData & inOperand0 - COMMA_LOCATION_ARGS) ; + public: static class GALGAS_gtlDataList class_func_listWithValue (const class GALGAS_gtlData & inOperand0 + COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with expression) public: VIRTUAL_IN_DEBUG void plusAssign_operation (const GALGAS_gtlDataList inOperand, - class C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with list of field expressions) @@ -51,65 +287,65 @@ class GALGAS_gtlDataList : public AC_GALGAS_list { COMMA_LOCATION_ARGS) ; //--------------------------------- + operator public: VIRTUAL_IN_DEBUG GALGAS_gtlDataList add_operation (const GALGAS_gtlDataList & inOperand, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Setters public: VIRTUAL_IN_DEBUG void setter_append (class GALGAS_gtlData constinArgument0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_insertAtIndex (class GALGAS_gtlData constinArgument0, class GALGAS_uint constinArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popFirst (class GALGAS_gtlData & outArgument0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popLast (class GALGAS_gtlData & outArgument0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_removeAtIndex (class GALGAS_gtlData & outArgument0, class GALGAS_uint constinArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setDataAtIndex (class GALGAS_gtlData constinArgument0, class GALGAS_uint constinArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Instance Methods public: VIRTUAL_IN_DEBUG void method_first (class GALGAS_gtlData & outArgument0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void method_last (class GALGAS_gtlData & outArgument0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Class Methods //--------------------------------- Getters public: VIRTUAL_IN_DEBUG class GALGAS_gtlData getter_dataAtIndex (const class GALGAS_uint & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlDataList getter_subListFromIndex (const class GALGAS_uint & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlDataList getter_subListToIndex (const class GALGAS_uint & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlDataList getter_subListWithRange (const class GALGAS_range & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; @@ -123,9 +359,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, @@ -137,15 +373,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 @@ -164,14 +400,14 @@ class GALGAS_gtlData : public AC_GALGAS_value_class { public: class GALGAS_lstring readProperty_meta (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlData extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison @@ -198,167 +434,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, - C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; + Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter andOp public: virtual class GALGAS_gtlData getter_andOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; + Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter bool - public: virtual class GALGAS_bool getter_bool (C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; + public: virtual class GALGAS_bool getter_bool (Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter desc public: virtual class GALGAS_string getter_desc (const class GALGAS_uint tab, - C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; + Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter divOp public: virtual class GALGAS_gtlData getter_divOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; + Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter embeddedType - public: virtual class GALGAS_type getter_embeddedType (C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; + public: virtual class GALGAS_type getter_embeddedType (Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter eqOp public: virtual class GALGAS_gtlData getter_eqOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; + Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter float - public: virtual class GALGAS_double getter_float (C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; + public: virtual class GALGAS_double getter_float (Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter geOp public: virtual class GALGAS_gtlData getter_geOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; + Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter gtOp public: virtual class GALGAS_gtlData getter_gtOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; + Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter hasItemAtIndex public: virtual class GALGAS_bool getter_hasItemAtIndex (const class GALGAS_gtlInt index, - C_Compiler * COMMA_LOCATION_ARGS) const ; + Compiler * COMMA_LOCATION_ARGS) const ; //--- Extension getter hasMapItem public: virtual class GALGAS_bool getter_hasMapItem (const class GALGAS_lstring name, - C_Compiler * COMMA_LOCATION_ARGS) const ; + Compiler * COMMA_LOCATION_ARGS) const ; //--- Extension getter hasStructField public: virtual class GALGAS_bool getter_hasStructField (const class GALGAS_lstring name, - C_Compiler * COMMA_LOCATION_ARGS) const ; + Compiler * COMMA_LOCATION_ARGS) const ; //--- Extension getter int - public: virtual class GALGAS_bigint getter_int (C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; + public: virtual class GALGAS_bigint getter_int (Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter leOp public: virtual class GALGAS_gtlData getter_leOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; + Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter location - public: virtual class GALGAS_location getter_location (C_Compiler * COMMA_LOCATION_ARGS) const ; + public: virtual class GALGAS_location getter_location (Compiler * COMMA_LOCATION_ARGS) const ; //--- Extension getter lstring - public: virtual class GALGAS_lstring getter_lstring (C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; + public: virtual class GALGAS_lstring getter_lstring (Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter ltOp public: virtual class GALGAS_gtlData getter_ltOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; + Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter minusOp - public: virtual class GALGAS_gtlData getter_minusOp (C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; + public: virtual class GALGAS_gtlData getter_minusOp (Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter modOp public: virtual class GALGAS_gtlData getter_modOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; + Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter mulOp public: virtual class GALGAS_gtlData getter_mulOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; + Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter neqOp public: virtual class GALGAS_gtlData getter_neqOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; + Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter notOp - public: virtual class GALGAS_gtlData getter_notOp (C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; + public: virtual class GALGAS_gtlData getter_notOp (Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter orOp public: virtual class GALGAS_gtlData getter_orOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; + Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter overriddenMap - public: virtual class GALGAS_gtlStruct getter_overriddenMap (C_Compiler * COMMA_LOCATION_ARGS) const ; + public: virtual class GALGAS_gtlStruct getter_overriddenMap (Compiler * COMMA_LOCATION_ARGS) const ; //--- Extension getter overrideMap - public: virtual class GALGAS_gtlStruct getter_overrideMap (C_Compiler * COMMA_LOCATION_ARGS) const ; + public: virtual class GALGAS_gtlStruct getter_overrideMap (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, - C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; + Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter plusOp - public: virtual class GALGAS_gtlData getter_plusOp (C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; + public: virtual class GALGAS_gtlData getter_plusOp (Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter resultField public: virtual class GALGAS_gtlData getter_resultField (const class GALGAS_lstring name, - C_Compiler * COMMA_LOCATION_ARGS) const ; + Compiler * COMMA_LOCATION_ARGS) const ; //--- Extension getter slOp public: virtual class GALGAS_gtlData getter_slOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; + Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter srOp public: virtual class GALGAS_gtlData getter_srOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; + Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter string - public: virtual class GALGAS_string getter_string (C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; + public: virtual class GALGAS_string getter_string (Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; + public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter subOp public: virtual class GALGAS_gtlData getter_subOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; + Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter xorOp public: virtual class GALGAS_gtlData getter_xorOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; + Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension method addMyValue public: virtual void method_addMyValue (class GALGAS_objectlist & objectList, - C_Compiler * COMMA_LOCATION_ARGS) = 0 ; + Compiler * COMMA_LOCATION_ARGS) = 0 ; //--- Extension method itemAtIndex public: virtual void method_itemAtIndex (class GALGAS_gtlData & result, const class GALGAS_gtlInt index, - C_Compiler * COMMA_LOCATION_ARGS) ; + Compiler * COMMA_LOCATION_ARGS) ; //--- Extension method mapItem public: virtual void method_mapItem (const class GALGAS_lstring name, class GALGAS_gtlData & result, - C_Compiler * COMMA_LOCATION_ARGS) ; + 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, - C_Compiler * COMMA_LOCATION_ARGS) ; + Compiler * COMMA_LOCATION_ARGS) ; //--- Properties @@ -376,7 +612,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override = 0 ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override = 0 ; @@ -385,11 +621,11 @@ class cPtr_gtlData : public acPtr_class { } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 1: @gtlDataList_2D_element struct // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_gtlDataList_2D_element : public AC_GALGAS_root { //--------------------------------- Properties @@ -416,23 +652,24 @@ class GALGAS_gtlDataList_2D_element : public AC_GALGAS_root { //--------------------------------- Native constructor public: GALGAS_gtlDataList_2D_element (const GALGAS_gtlData & in_data) ; -//-- Start of generic part --* +//-- Start of type 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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS constructors - public: static class GALGAS_gtlDataList_2D_element constructor_new (const class GALGAS_gtlData & inOperand0 - 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) ; //--------------------------------- Implementation of getter 'description' - public: VIRTUAL_IN_DEBUG void description (C_String & ioString, - const int32_t inIndentation) const override ; + public: VIRTUAL_IN_DEBUG void description (String & ioString, + const int32_t inIndentation) const override ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlDataList_2D_element & inOperand) const ; @@ -451,38 +688,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 C_Compiler * inCompiler + class 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 @@ -492,69 +729,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 generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlVarMap extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS constructors - public: static class GALGAS_gtlVarMap constructor_emptyMap (LOCATION_ARGS) ; +//--------------------------------- GALGAS class functions + public: static class GALGAS_gtlVarMap class_func_emptyMap (LOCATION_ARGS) ; - public: static class GALGAS_gtlVarMap constructor_mapWithMapToOverride (const class GALGAS_gtlVarMap & inOperand0 - COMMA_LOCATION_ARGS) ; + public: static class GALGAS_gtlVarMap class_func_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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- + operator public: VIRTUAL_IN_DEBUG GALGAS_gtlVarMap add_operation (const GALGAS_gtlVarMap & inOperand, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Setters public: VIRTUAL_IN_DEBUG void setter_del (class GALGAS_lstring constinArgument0, class GALGAS_gtlData & outArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_put (class GALGAS_lstring constinArgument0, class GALGAS_gtlData constinArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setValueForKey (class GALGAS_gtlData constinArgument0, class GALGAS_string constinArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Instance Methods public: VIRTUAL_IN_DEBUG void method_get (class GALGAS_lstring constinArgument0, class GALGAS_gtlData & outArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void method_getResult (class GALGAS_lstring constinArgument0, class GALGAS_gtlData & outArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Class Methods //--------------------------------- Getters - public: VIRTUAL_IN_DEBUG class GALGAS_gtlVarMap getter_overriddenMap (C_Compiler * inCompiler + public: VIRTUAL_IN_DEBUG class GALGAS_gtlVarMap getter_overriddenMap (Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlData getter_valueForKey (const class GALGAS_string & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; @@ -565,7 +802,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 (C_Compiler * inCompiler, + public: VIRTUAL_IN_DEBUG cMapElement_gtlVarMap * readWriteAccessForWithInstruction (Compiler * inCompiler, const GALGAS_string & inKey COMMA_LOCATION_ARGS) ; @@ -575,9 +812,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, @@ -590,15 +827,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 @@ -619,14 +856,14 @@ class cMapElement_gtlVarMap : public cMapElement { public: virtual cMapElement * copy (void) ; //--- Description - public: virtual void description (C_String & ioString, const int32_t inIndentation) const ; + public: virtual void description (String & ioString, const int32_t inIndentation) const ; } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 1: @gtlVarMap_2D_element struct // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_gtlVarMap_2D_element : public AC_GALGAS_root { //--------------------------------- Properties @@ -663,24 +900,25 @@ 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 generic part --* +//-- Start of type 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, - C_Compiler * inCompiler + 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) ; +//--------------------------------- 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) ; //--------------------------------- Implementation of getter 'description' - public: VIRTUAL_IN_DEBUG void description (C_String & ioString, - const int32_t inIndentation) const override ; + public: VIRTUAL_IN_DEBUG void description (String & ioString, + const int32_t inIndentation) const override ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlVarMap_2D_element & inOperand) const ; @@ -699,48 +937,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 C_Compiler * inCompiler + class 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 C_Compiler * inCompiler + class 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 @@ -750,64 +988,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 generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlExpressionMap extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS constructors - public: static class GALGAS_gtlExpressionMap constructor_emptyMap (LOCATION_ARGS) ; +//--------------------------------- GALGAS class functions + public: static class GALGAS_gtlExpressionMap class_func_emptyMap (LOCATION_ARGS) ; - public: static class GALGAS_gtlExpressionMap constructor_mapWithMapToOverride (const class GALGAS_gtlExpressionMap & inOperand0 - COMMA_LOCATION_ARGS) ; + public: static class GALGAS_gtlExpressionMap class_func_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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- + operator public: VIRTUAL_IN_DEBUG GALGAS_gtlExpressionMap add_operation (const GALGAS_gtlExpressionMap & inOperand, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Setters public: VIRTUAL_IN_DEBUG void setter_del (class GALGAS_lstring constinArgument0, class GALGAS_gtlExpression & outArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_put (class GALGAS_lstring constinArgument0, class GALGAS_gtlExpression constinArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setExpressionForKey (class GALGAS_gtlExpression constinArgument0, class GALGAS_string constinArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Instance Methods public: VIRTUAL_IN_DEBUG void method_get (class GALGAS_lstring constinArgument0, class GALGAS_gtlExpression & outArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Class Methods //--------------------------------- Getters public: VIRTUAL_IN_DEBUG class GALGAS_gtlExpression getter_expressionForKey (const class GALGAS_string & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; - public: VIRTUAL_IN_DEBUG class GALGAS_gtlExpressionMap getter_overriddenMap (C_Compiler * inCompiler + public: VIRTUAL_IN_DEBUG class GALGAS_gtlExpressionMap getter_overriddenMap (Compiler * inCompiler COMMA_LOCATION_ARGS) const ; @@ -818,7 +1056,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 (C_Compiler * inCompiler, + public: VIRTUAL_IN_DEBUG cMapElement_gtlExpressionMap * readWriteAccessForWithInstruction (Compiler * inCompiler, const GALGAS_string & inKey COMMA_LOCATION_ARGS) ; @@ -828,9 +1066,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, @@ -843,15 +1081,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 @@ -868,14 +1106,14 @@ class GALGAS_gtlExpression : public AC_GALGAS_value_class { //--------------------------------- Property read access public: class GALGAS_location readProperty_where (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlExpression extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison @@ -899,15 +1137,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 @@ -928,14 +1166,14 @@ class cMapElement_gtlExpressionMap : public cMapElement { public: virtual cMapElement * copy (void) ; //--- Description - public: virtual void description (C_String & ioString, const int32_t inIndentation) const ; + public: virtual void description (String & ioString, const int32_t inIndentation) const ; } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 1: @gtlExpressionMap_2D_element struct // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_gtlExpressionMap_2D_element : public AC_GALGAS_root { //--------------------------------- Properties @@ -972,24 +1210,25 @@ 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 generic part --* +//-- Start of type 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, - C_Compiler * inCompiler + 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) ; +//--------------------------------- 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) ; //--------------------------------- Implementation of getter 'description' - public: VIRTUAL_IN_DEBUG void description (C_String & ioString, - const int32_t inIndentation) const override ; + public: VIRTUAL_IN_DEBUG void description (String & ioString, + const int32_t inIndentation) const override ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlExpressionMap_2D_element & inOperand) const ; @@ -1008,15 +1247,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 @@ -1030,25 +1269,25 @@ class GALGAS_gtlInstructionList : public AC_GALGAS_list { const class GALGAS_gtlInstruction & in_instruction COMMA_LOCATION_ARGS) ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlInstructionList extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS constructors - public: static class GALGAS_gtlInstructionList constructor_emptyList (LOCATION_ARGS) ; +//--------------------------------- GALGAS class functions + public: static class GALGAS_gtlInstructionList class_func_emptyList (LOCATION_ARGS) ; - public: static class GALGAS_gtlInstructionList constructor_listWithValue (const class GALGAS_gtlInstruction & inOperand0 - COMMA_LOCATION_ARGS) ; + public: static class GALGAS_gtlInstructionList class_func_listWithValue (const class GALGAS_gtlInstruction & inOperand0 + COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with expression) public: VIRTUAL_IN_DEBUG void plusAssign_operation (const GALGAS_gtlInstructionList inOperand, - class C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with list of field expressions) @@ -1056,65 +1295,65 @@ class GALGAS_gtlInstructionList : public AC_GALGAS_list { COMMA_LOCATION_ARGS) ; //--------------------------------- + operator public: VIRTUAL_IN_DEBUG GALGAS_gtlInstructionList add_operation (const GALGAS_gtlInstructionList & inOperand, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Setters public: VIRTUAL_IN_DEBUG void setter_append (class GALGAS_gtlInstruction constinArgument0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_insertAtIndex (class GALGAS_gtlInstruction constinArgument0, class GALGAS_uint constinArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popFirst (class GALGAS_gtlInstruction & outArgument0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popLast (class GALGAS_gtlInstruction & outArgument0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_removeAtIndex (class GALGAS_gtlInstruction & outArgument0, class GALGAS_uint constinArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setInstructionAtIndex (class GALGAS_gtlInstruction constinArgument0, class GALGAS_uint constinArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Instance Methods public: VIRTUAL_IN_DEBUG void method_first (class GALGAS_gtlInstruction & outArgument0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void method_last (class GALGAS_gtlInstruction & outArgument0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Class Methods //--------------------------------- Getters public: VIRTUAL_IN_DEBUG class GALGAS_gtlInstruction getter_instructionAtIndex (const class GALGAS_uint & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlInstructionList getter_subListFromIndex (const class GALGAS_uint & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlInstructionList getter_subListToIndex (const class GALGAS_uint & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlInstructionList getter_subListWithRange (const class GALGAS_range & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; @@ -1128,9 +1367,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, @@ -1142,15 +1381,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 @@ -1169,14 +1408,14 @@ class GALGAS_gtlInstruction : public AC_GALGAS_value_class { public: class GALGAS_string readProperty_signature (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlInstruction extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison @@ -1203,43 +1442,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 (C_Compiler * COMMA_LOCATION_ARGS) const ; + public: virtual class GALGAS_location getter_location (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, - C_Compiler * COMMA_LOCATION_ARGS) const ; + Compiler * COMMA_LOCATION_ARGS) const ; //--- Extension getter shortLocation - public: virtual class GALGAS_string getter_shortLocation (C_Compiler * COMMA_LOCATION_ARGS) const ; + public: virtual class GALGAS_string getter_shortLocation (Compiler * COMMA_LOCATION_ARGS) const ; //--- Extension method display - public: virtual void method_display (C_Compiler * COMMA_LOCATION_ARGS) = 0 ; + public: virtual void method_display (Compiler * COMMA_LOCATION_ARGS) = 0 ; //--- Extension method displayWithLocation public: virtual void method_displayWithLocation (const class GALGAS_debuggerContext context, - C_Compiler * COMMA_LOCATION_ARGS) ; + 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, - C_Compiler * COMMA_LOCATION_ARGS) = 0 ; + Compiler * COMMA_LOCATION_ARGS) = 0 ; //--- Properties @@ -1257,7 +1496,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override = 0 ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override = 0 ; @@ -1266,11 +1505,11 @@ class cPtr_gtlInstruction : public acPtr_class { } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 1: @gtlInstructionList_2D_element struct // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_gtlInstructionList_2D_element : public AC_GALGAS_root { //--------------------------------- Properties @@ -1297,23 +1536,24 @@ class GALGAS_gtlInstructionList_2D_element : public AC_GALGAS_root { //--------------------------------- Native constructor public: GALGAS_gtlInstructionList_2D_element (const GALGAS_gtlInstruction & in_instruction) ; -//-- Start of generic part --* +//-- Start of type 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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS constructors - public: static class GALGAS_gtlInstructionList_2D_element constructor_new (const class GALGAS_gtlInstruction & inOperand0 - 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) ; //--------------------------------- Implementation of getter 'description' - public: VIRTUAL_IN_DEBUG void description (C_String & ioString, - const int32_t inIndentation) const override ; + public: VIRTUAL_IN_DEBUG void description (String & ioString, + const int32_t inIndentation) const override ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlInstructionList_2D_element & inOperand) const ; @@ -1332,23 +1572,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 @@ -1358,59 +1598,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 generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlTemplateMap extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS constructors - public: static class GALGAS_gtlTemplateMap constructor_emptyMap (LOCATION_ARGS) ; +//--------------------------------- GALGAS class functions + public: static class GALGAS_gtlTemplateMap class_func_emptyMap (LOCATION_ARGS) ; - public: static class GALGAS_gtlTemplateMap constructor_mapWithMapToOverride (const class GALGAS_gtlTemplateMap & inOperand0 - COMMA_LOCATION_ARGS) ; + public: static class GALGAS_gtlTemplateMap class_func_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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- + operator public: VIRTUAL_IN_DEBUG GALGAS_gtlTemplateMap add_operation (const GALGAS_gtlTemplateMap & inOperand, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Setters public: VIRTUAL_IN_DEBUG void setter_put (class GALGAS_lstring constinArgument0, class GALGAS_gtlTemplate constinArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setATemplateForKey (class GALGAS_gtlTemplate constinArgument0, class GALGAS_string constinArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Instance Methods public: VIRTUAL_IN_DEBUG void method_get (class GALGAS_lstring constinArgument0, class GALGAS_gtlTemplate & outArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Class Methods //--------------------------------- Getters public: VIRTUAL_IN_DEBUG class GALGAS_gtlTemplate getter_aTemplateForKey (const class GALGAS_string & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; - public: VIRTUAL_IN_DEBUG class GALGAS_gtlTemplateMap getter_overriddenMap (C_Compiler * inCompiler + public: VIRTUAL_IN_DEBUG class GALGAS_gtlTemplateMap getter_overriddenMap (Compiler * inCompiler COMMA_LOCATION_ARGS) const ; @@ -1421,7 +1661,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 (C_Compiler * inCompiler, + public: VIRTUAL_IN_DEBUG cMapElement_gtlTemplateMap * readWriteAccessForWithInstruction (Compiler * inCompiler, const GALGAS_string & inKey COMMA_LOCATION_ARGS) ; @@ -1431,9 +1671,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, @@ -1446,23 +1686,20 @@ 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 ; @@ -1476,20 +1713,20 @@ class GALGAS_gtlTemplate : public AC_GALGAS_value_class { public: class GALGAS_gtlInstructionList readProperty_program (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlTemplate extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- GALGAS class functions + public: static class GALGAS_gtlTemplate class_func_new (const class GALGAS_string & inOperand0, + const class GALGAS_gtlInstructionList & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlTemplate & inOperand) const ; @@ -1515,15 +1752,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 @@ -1544,14 +1781,14 @@ class cMapElement_gtlTemplateMap : public cMapElement { public: virtual cMapElement * copy (void) ; //--- Description - public: virtual void description (C_String & ioString, const int32_t inIndentation) const ; + public: virtual void description (String & ioString, const int32_t inIndentation) const ; } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 1: @gtlTemplateMap_2D_element struct // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_gtlTemplateMap_2D_element : public AC_GALGAS_root { //--------------------------------- Properties @@ -1569,9 +1806,6 @@ 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) ; @@ -1591,24 +1825,25 @@ 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 generic part --* +//-- Start of type 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, - C_Compiler * inCompiler + 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) ; +//--------------------------------- 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) ; //--------------------------------- Implementation of getter 'description' - public: VIRTUAL_IN_DEBUG void description (C_String & ioString, - const int32_t inIndentation) const override ; + public: VIRTUAL_IN_DEBUG void description (String & ioString, + const int32_t inIndentation) const override ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlTemplateMap_2D_element & inOperand) const ; @@ -1627,15 +1862,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, @@ -1644,22 +1879,19 @@ void extensionSetter_getTemplate (class GALGAS_gtlTemplateMap & ioObject, class GALGAS_library & io_lib, class GALGAS_bool & out_found, class GALGAS_gtlTemplate & out_result, - class C_Compiler * inCompiler + class 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 ; @@ -1671,19 +1903,19 @@ class GALGAS_debugCommandInput : public AC_GALGAS_value_class { //--------------------------------- Property read access public: class GALGAS_stringlist readProperty_history (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_debugCommandInput extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS constructors - public: static class GALGAS_debugCommandInput constructor_new (const class GALGAS_stringlist & inOperand0 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS class functions + public: static class GALGAS_debugCommandInput class_func_new (const class GALGAS_stringlist & inOperand0 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_debugCommandInput & inOperand) const ; @@ -1706,20 +1938,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 (C_Compiler * COMMA_LOCATION_ARGS) ; + public: virtual void method_listHistory (Compiler * COMMA_LOCATION_ARGS) ; //--- Properties @@ -1736,7 +1968,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -1745,19 +1977,16 @@ 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 ; @@ -1805,37 +2034,37 @@ class GALGAS_debuggerContext : public AC_GALGAS_value_class { public: class GALGAS_debugCommandInput readProperty_commandInput (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_debuggerContext extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_debuggerContext & inOperand) const ; @@ -1912,15 +2141,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 @@ -1934,25 +2163,25 @@ class GALGAS_gtlBreakpointList : public AC_GALGAS_list { const class GALGAS_gtlBreakpoint & in_breakpoint COMMA_LOCATION_ARGS) ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlBreakpointList extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS constructors - public: static class GALGAS_gtlBreakpointList constructor_emptyList (LOCATION_ARGS) ; +//--------------------------------- GALGAS class functions + public: static class GALGAS_gtlBreakpointList class_func_emptyList (LOCATION_ARGS) ; - public: static class GALGAS_gtlBreakpointList constructor_listWithValue (const class GALGAS_gtlBreakpoint & inOperand0 - COMMA_LOCATION_ARGS) ; + public: static class GALGAS_gtlBreakpointList class_func_listWithValue (const class GALGAS_gtlBreakpoint & inOperand0 + COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with expression) public: VIRTUAL_IN_DEBUG void plusAssign_operation (const GALGAS_gtlBreakpointList inOperand, - class C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with list of field expressions) @@ -1960,65 +2189,65 @@ class GALGAS_gtlBreakpointList : public AC_GALGAS_list { COMMA_LOCATION_ARGS) ; //--------------------------------- + operator public: VIRTUAL_IN_DEBUG GALGAS_gtlBreakpointList add_operation (const GALGAS_gtlBreakpointList & inOperand, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Setters public: VIRTUAL_IN_DEBUG void setter_append (class GALGAS_gtlBreakpoint constinArgument0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_insertAtIndex (class GALGAS_gtlBreakpoint constinArgument0, class GALGAS_uint constinArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popFirst (class GALGAS_gtlBreakpoint & outArgument0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popLast (class GALGAS_gtlBreakpoint & outArgument0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_removeAtIndex (class GALGAS_gtlBreakpoint & outArgument0, class GALGAS_uint constinArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setBreakpointAtIndex (class GALGAS_gtlBreakpoint constinArgument0, class GALGAS_uint constinArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Instance Methods public: VIRTUAL_IN_DEBUG void method_first (class GALGAS_gtlBreakpoint & outArgument0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void method_last (class GALGAS_gtlBreakpoint & outArgument0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Class Methods //--------------------------------- Getters public: VIRTUAL_IN_DEBUG class GALGAS_gtlBreakpoint getter_breakpointAtIndex (const class GALGAS_uint & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlBreakpointList getter_subListFromIndex (const class GALGAS_uint & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlBreakpointList getter_subListToIndex (const class GALGAS_uint & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlBreakpointList getter_subListWithRange (const class GALGAS_range & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; @@ -2032,9 +2261,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, @@ -2046,15 +2275,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 @@ -2068,25 +2297,25 @@ class GALGAS_gtlExpressionList : public AC_GALGAS_list { const class GALGAS_gtlExpression & in_expression COMMA_LOCATION_ARGS) ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlExpressionList extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS constructors - public: static class GALGAS_gtlExpressionList constructor_emptyList (LOCATION_ARGS) ; +//--------------------------------- GALGAS class functions + public: static class GALGAS_gtlExpressionList class_func_emptyList (LOCATION_ARGS) ; - public: static class GALGAS_gtlExpressionList constructor_listWithValue (const class GALGAS_gtlExpression & inOperand0 - COMMA_LOCATION_ARGS) ; + public: static class GALGAS_gtlExpressionList class_func_listWithValue (const class GALGAS_gtlExpression & inOperand0 + COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with expression) public: VIRTUAL_IN_DEBUG void plusAssign_operation (const GALGAS_gtlExpressionList inOperand, - class C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with list of field expressions) @@ -2094,65 +2323,65 @@ class GALGAS_gtlExpressionList : public AC_GALGAS_list { COMMA_LOCATION_ARGS) ; //--------------------------------- + operator public: VIRTUAL_IN_DEBUG GALGAS_gtlExpressionList add_operation (const GALGAS_gtlExpressionList & inOperand, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Setters public: VIRTUAL_IN_DEBUG void setter_append (class GALGAS_gtlExpression constinArgument0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_insertAtIndex (class GALGAS_gtlExpression constinArgument0, class GALGAS_uint constinArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popFirst (class GALGAS_gtlExpression & outArgument0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popLast (class GALGAS_gtlExpression & outArgument0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_removeAtIndex (class GALGAS_gtlExpression & outArgument0, class GALGAS_uint constinArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setExpressionAtIndex (class GALGAS_gtlExpression constinArgument0, class GALGAS_uint constinArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Instance Methods public: VIRTUAL_IN_DEBUG void method_first (class GALGAS_gtlExpression & outArgument0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void method_last (class GALGAS_gtlExpression & outArgument0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Class Methods //--------------------------------- Getters public: VIRTUAL_IN_DEBUG class GALGAS_gtlExpression getter_expressionAtIndex (const class GALGAS_uint & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlExpressionList getter_subListFromIndex (const class GALGAS_uint & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlExpressionList getter_subListToIndex (const class GALGAS_uint & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlExpressionList getter_subListWithRange (const class GALGAS_range & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; @@ -2166,9 +2395,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, @@ -2180,15 +2409,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 @@ -2203,26 +2432,26 @@ class GALGAS_gtlInstructionListContextStack : public AC_GALGAS_list { const class GALGAS_gtlInstructionList & in_instructionList COMMA_LOCATION_ARGS) ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlInstructionListContextStack extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS constructors - public: static class GALGAS_gtlInstructionListContextStack constructor_emptyList (LOCATION_ARGS) ; +//--------------------------------- GALGAS class functions + public: static class GALGAS_gtlInstructionListContextStack class_func_emptyList (LOCATION_ARGS) ; - public: static class GALGAS_gtlInstructionListContextStack constructor_listWithValue (const class GALGAS_uint & inOperand0, - const class GALGAS_gtlInstructionList & inOperand1 - COMMA_LOCATION_ARGS) ; + public: static class GALGAS_gtlInstructionListContextStack class_func_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 C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with list of field expressions) @@ -2231,81 +2460,81 @@ class GALGAS_gtlInstructionListContextStack : public AC_GALGAS_list { COMMA_LOCATION_ARGS) ; //--------------------------------- + operator public: VIRTUAL_IN_DEBUG GALGAS_gtlInstructionListContextStack add_operation (const GALGAS_gtlInstructionListContextStack & inOperand, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Setters public: VIRTUAL_IN_DEBUG void setter_append (class GALGAS_uint constinArgument0, class GALGAS_gtlInstructionList constinArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_insertAtIndex (class GALGAS_uint constinArgument0, class GALGAS_gtlInstructionList constinArgument1, class GALGAS_uint constinArgument2, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popFirst (class GALGAS_uint & outArgument0, class GALGAS_gtlInstructionList & outArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popLast (class GALGAS_uint & outArgument0, class GALGAS_gtlInstructionList & outArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_removeAtIndex (class GALGAS_uint & outArgument0, class GALGAS_gtlInstructionList & outArgument1, class GALGAS_uint constinArgument2, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setInstructionListAtIndex (class GALGAS_gtlInstructionList constinArgument0, class GALGAS_uint constinArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setNextInstructionIndexAtIndex (class GALGAS_uint constinArgument0, class GALGAS_uint constinArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Instance Methods public: VIRTUAL_IN_DEBUG void method_first (class GALGAS_uint & outArgument0, class GALGAS_gtlInstructionList & outArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void method_last (class GALGAS_uint & outArgument0, class GALGAS_gtlInstructionList & outArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Class Methods //--------------------------------- Getters public: VIRTUAL_IN_DEBUG class GALGAS_gtlInstructionList getter_instructionListAtIndex (const class GALGAS_uint & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_uint getter_nextInstructionIndexAtIndex (const class GALGAS_uint & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlInstructionListContextStack getter_subListFromIndex (const class GALGAS_uint & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlInstructionListContextStack getter_subListToIndex (const class GALGAS_uint & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlInstructionListContextStack getter_subListWithRange (const class GALGAS_range & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; @@ -2319,9 +2548,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, @@ -2334,40 +2563,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, - C_Compiler * COMMA_LOCATION_ARGS) const ; + 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, - C_Compiler * COMMA_LOCATION_ARGS) const ; + Compiler * COMMA_LOCATION_ARGS) const ; //--- Extension method hereWeAre public: virtual void method_hereWeAre (const class GALGAS_uint window, - C_Compiler * COMMA_LOCATION_ARGS) ; + Compiler * COMMA_LOCATION_ARGS) ; //--- Extension method listBreakpoints - public: virtual void method_listBreakpoints (C_Compiler * COMMA_LOCATION_ARGS) ; + public: virtual void method_listBreakpoints (Compiler * COMMA_LOCATION_ARGS) ; //--- Extension method listStepDoInstructions - public: virtual void method_listStepDoInstructions (C_Compiler * COMMA_LOCATION_ARGS) ; + public: virtual void method_listStepDoInstructions (Compiler * COMMA_LOCATION_ARGS) ; //--- Extension method listWatchpoints - public: virtual void method_listWatchpoints (C_Compiler * COMMA_LOCATION_ARGS) ; + public: virtual void method_listWatchpoints (Compiler * COMMA_LOCATION_ARGS) ; //--- Properties @@ -2456,7 +2685,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -2465,19 +2694,16 @@ 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 ; @@ -2505,27 +2731,27 @@ class GALGAS_gtlContext : public AC_GALGAS_value_class { public: class GALGAS_debuggerContext readProperty_debuggerContext (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlContext extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlContext & inOperand) const ; @@ -2572,65 +2798,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, - C_Compiler * COMMA_LOCATION_ARGS) const ; + Compiler * COMMA_LOCATION_ARGS) const ; //--- Extension getter breakOnNext - public: virtual class GALGAS_bool getter_breakOnNext (C_Compiler * COMMA_LOCATION_ARGS) const ; + public: virtual class GALGAS_bool getter_breakOnNext (Compiler * COMMA_LOCATION_ARGS) const ; //--- Extension getter debugActive - public: virtual class GALGAS_bool getter_debugActive (C_Compiler * COMMA_LOCATION_ARGS) const ; + public: virtual class GALGAS_bool getter_debugActive (Compiler * COMMA_LOCATION_ARGS) const ; //--- Extension getter fullPrefix public: virtual class GALGAS_lstring getter_fullPrefix (const class GALGAS_gtlData vars, - C_Compiler * COMMA_LOCATION_ARGS) const ; + 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, - C_Compiler * COMMA_LOCATION_ARGS) const ; + Compiler * COMMA_LOCATION_ARGS) const ; //--- Extension getter loopOnCommand - public: virtual class GALGAS_bool getter_loopOnCommand (C_Compiler * COMMA_LOCATION_ARGS) const ; + public: virtual class GALGAS_bool getter_loopOnCommand (Compiler * COMMA_LOCATION_ARGS) const ; //--- Extension getter outputStyle - public: virtual class GALGAS_string getter_outputStyle (C_Compiler * COMMA_LOCATION_ARGS) const ; + public: virtual class GALGAS_string getter_outputStyle (Compiler * COMMA_LOCATION_ARGS) const ; //--- Extension getter promptStyle - public: virtual class GALGAS_string getter_promptStyle (C_Compiler * COMMA_LOCATION_ARGS) const ; + public: virtual class GALGAS_string getter_promptStyle (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, - C_Compiler * COMMA_LOCATION_ARGS) const ; + Compiler * COMMA_LOCATION_ARGS) const ; //--- Extension method hereWeAre public: virtual void method_hereWeAre (const class GALGAS_uint window, - C_Compiler * COMMA_LOCATION_ARGS) ; + Compiler * COMMA_LOCATION_ARGS) ; //--- Extension method listBreakpoints - public: virtual void method_listBreakpoints (C_Compiler * COMMA_LOCATION_ARGS) ; + public: virtual void method_listBreakpoints (Compiler * COMMA_LOCATION_ARGS) ; //--- Extension method listStepDoInstructions - public: virtual void method_listStepDoInstructions (C_Compiler * COMMA_LOCATION_ARGS) ; + public: virtual void method_listStepDoInstructions (Compiler * COMMA_LOCATION_ARGS) ; //--- Extension method listWatchpoints - public: virtual void method_listWatchpoints (C_Compiler * COMMA_LOCATION_ARGS) ; + public: virtual void method_listWatchpoints (Compiler * COMMA_LOCATION_ARGS) ; //--- Properties @@ -2679,7 +2905,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -2688,11 +2914,11 @@ class cPtr_gtlContext : public acPtr_class { } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlTemplate class // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class cPtr_gtlTemplate : public acPtr_class { @@ -2701,7 +2927,7 @@ class cPtr_gtlTemplate : public acPtr_class { class GALGAS_gtlData & vars, class GALGAS_library & lib, class GALGAS_string & outputString, - C_Compiler * COMMA_LOCATION_ARGS) ; + Compiler * COMMA_LOCATION_ARGS) ; //--- Properties @@ -2722,7 +2948,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -2731,19 +2957,16 @@ 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 ; @@ -2763,23 +2986,23 @@ class GALGAS_library : public AC_GALGAS_value_class { public: class GALGAS_stringset readProperty_doneImports (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_library extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_library & inOperand) const ; @@ -2814,23 +3037,20 @@ 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 ; @@ -2848,22 +3068,22 @@ class GALGAS_gtlExecutableEntity : public AC_GALGAS_value_class { public: class GALGAS_gtlInstructionList readProperty_instructions (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlExecutableEntity extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlExecutableEntity & inOperand) const ; @@ -2895,15 +3115,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 @@ -2919,27 +3139,27 @@ class GALGAS_gtlArgumentList : public AC_GALGAS_list { const class GALGAS_lstring & in_name COMMA_LOCATION_ARGS) ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlArgumentList extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS constructors - public: static class GALGAS_gtlArgumentList constructor_emptyList (LOCATION_ARGS) ; +//--------------------------------- GALGAS class functions + public: static class GALGAS_gtlArgumentList class_func_emptyList (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) ; + 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) ; //--------------------------------- += operator (with expression) public: VIRTUAL_IN_DEBUG void plusAssign_operation (const GALGAS_gtlArgumentList inOperand, - class C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with list of field expressions) @@ -2949,7 +3169,7 @@ class GALGAS_gtlArgumentList : public AC_GALGAS_list { COMMA_LOCATION_ARGS) ; //--------------------------------- + operator public: VIRTUAL_IN_DEBUG GALGAS_gtlArgumentList add_operation (const GALGAS_gtlArgumentList & inOperand, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; @@ -2957,48 +3177,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, - C_Compiler * inCompiler + 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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popFirst (class GALGAS_bool & outArgument0, class GALGAS_type & outArgument1, class GALGAS_lstring & outArgument2, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popLast (class GALGAS_bool & outArgument0, class GALGAS_type & outArgument1, class GALGAS_lstring & outArgument2, - C_Compiler * inCompiler + 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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setNameAtIndex (class GALGAS_lstring constinArgument0, class GALGAS_uint constinArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setTypeAtIndex (class GALGAS_type constinArgument0, class GALGAS_uint constinArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setTypedAtIndex (class GALGAS_bool constinArgument0, class GALGAS_uint constinArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; @@ -3006,40 +3226,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, - C_Compiler * inCompiler + 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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Class Methods //--------------------------------- Getters public: VIRTUAL_IN_DEBUG class GALGAS_lstring getter_nameAtIndex (const class GALGAS_uint & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlArgumentList getter_subListFromIndex (const class GALGAS_uint & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlArgumentList getter_subListToIndex (const class GALGAS_uint & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlArgumentList getter_subListWithRange (const class GALGAS_range & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_type getter_typeAtIndex (const class GALGAS_uint & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_bool getter_typedAtIndex (const class GALGAS_uint & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; @@ -3053,9 +3273,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, @@ -3069,15 +3289,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 { @@ -3086,7 +3306,7 @@ class cPtr_gtlExecutableEntity : public acPtr_class { const class GALGAS_gtlDataList actualArguments, class GALGAS_gtlData & entityVariableMap, class GALGAS_bool & result, - C_Compiler * COMMA_LOCATION_ARGS) ; + Compiler * COMMA_LOCATION_ARGS) ; //--- Properties @@ -3115,7 +3335,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -3124,19 +3344,16 @@ 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 ; @@ -3148,23 +3365,23 @@ class GALGAS_gtlFunction : public GALGAS_gtlExecutableEntity { //--------------------------------- Property read access public: class GALGAS_lstring readProperty_returnVariable (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlFunction extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlFunction & inOperand) const ; @@ -3187,23 +3404,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 @@ -3213,59 +3430,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 generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlFuncMap extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS constructors - public: static class GALGAS_gtlFuncMap constructor_emptyMap (LOCATION_ARGS) ; +//--------------------------------- GALGAS class functions + public: static class GALGAS_gtlFuncMap class_func_emptyMap (LOCATION_ARGS) ; - public: static class GALGAS_gtlFuncMap constructor_mapWithMapToOverride (const class GALGAS_gtlFuncMap & inOperand0 - COMMA_LOCATION_ARGS) ; + public: static class GALGAS_gtlFuncMap class_func_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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- + operator public: VIRTUAL_IN_DEBUG GALGAS_gtlFuncMap add_operation (const GALGAS_gtlFuncMap & inOperand, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Setters public: VIRTUAL_IN_DEBUG void setter_put (class GALGAS_lstring constinArgument0, class GALGAS_gtlFunction constinArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setFunctionForKey (class GALGAS_gtlFunction constinArgument0, class GALGAS_string constinArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Instance Methods public: VIRTUAL_IN_DEBUG void method_get (class GALGAS_lstring constinArgument0, class GALGAS_gtlFunction & outArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Class Methods //--------------------------------- Getters public: VIRTUAL_IN_DEBUG class GALGAS_gtlFunction getter_functionForKey (const class GALGAS_string & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; - public: VIRTUAL_IN_DEBUG class GALGAS_gtlFuncMap getter_overriddenMap (C_Compiler * inCompiler + public: VIRTUAL_IN_DEBUG class GALGAS_gtlFuncMap getter_overriddenMap (Compiler * inCompiler COMMA_LOCATION_ARGS) const ; @@ -3276,7 +3493,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 (C_Compiler * inCompiler, + public: VIRTUAL_IN_DEBUG cMapElement_gtlFuncMap * readWriteAccessForWithInstruction (Compiler * inCompiler, const GALGAS_string & inKey COMMA_LOCATION_ARGS) ; @@ -3286,9 +3503,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, @@ -3301,15 +3518,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 @@ -3330,14 +3547,14 @@ class cMapElement_gtlFuncMap : public cMapElement { public: virtual cMapElement * copy (void) ; //--- Description - public: virtual void description (C_String & ioString, const int32_t inIndentation) const ; + public: virtual void description (String & ioString, const int32_t inIndentation) const ; } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlFunction class // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class cPtr_gtlFunction : public cPtr_gtlExecutableEntity { @@ -3346,7 +3563,7 @@ class cPtr_gtlFunction : public cPtr_gtlExecutableEntity { const class GALGAS_gtlContext context, const class GALGAS_library lib, const class GALGAS_gtlDataList actualArguments, - C_Compiler * COMMA_LOCATION_ARGS) const ; + Compiler * COMMA_LOCATION_ARGS) const ; //--- Properties @@ -3367,7 +3584,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -3376,11 +3593,11 @@ class cPtr_gtlFunction : public cPtr_gtlExecutableEntity { } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 1: @gtlGetter value class // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_gtlGetter : public GALGAS_gtlFunction { //--------------------------------- Default constructor @@ -3397,24 +3614,24 @@ class GALGAS_gtlGetter : public GALGAS_gtlFunction { //--------------------------------- Property read access public: class GALGAS_type readProperty_targetType (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlGetter extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlGetter & inOperand) const ; @@ -3437,23 +3654,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 @@ -3463,59 +3680,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 generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlGetterMap extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS constructors - public: static class GALGAS_gtlGetterMap constructor_emptyMap (LOCATION_ARGS) ; +//--------------------------------- GALGAS class functions + public: static class GALGAS_gtlGetterMap class_func_emptyMap (LOCATION_ARGS) ; - public: static class GALGAS_gtlGetterMap constructor_mapWithMapToOverride (const class GALGAS_gtlGetterMap & inOperand0 - COMMA_LOCATION_ARGS) ; + public: static class GALGAS_gtlGetterMap class_func_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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- + operator public: VIRTUAL_IN_DEBUG GALGAS_gtlGetterMap add_operation (const GALGAS_gtlGetterMap & inOperand, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Setters public: VIRTUAL_IN_DEBUG void setter_put (class GALGAS_lstring constinArgument0, class GALGAS_gtlGetter constinArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setTheGetterForKey (class GALGAS_gtlGetter constinArgument0, class GALGAS_string constinArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Instance Methods public: VIRTUAL_IN_DEBUG void method_get (class GALGAS_lstring constinArgument0, class GALGAS_gtlGetter & outArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Class Methods //--------------------------------- Getters - public: VIRTUAL_IN_DEBUG class GALGAS_gtlGetterMap getter_overriddenMap (C_Compiler * inCompiler + public: VIRTUAL_IN_DEBUG class GALGAS_gtlGetterMap getter_overriddenMap (Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlGetter getter_theGetterForKey (const class GALGAS_string & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; @@ -3526,7 +3743,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 (C_Compiler * inCompiler, + public: VIRTUAL_IN_DEBUG cMapElement_gtlGetterMap * readWriteAccessForWithInstruction (Compiler * inCompiler, const GALGAS_string & inKey COMMA_LOCATION_ARGS) ; @@ -3536,9 +3753,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, @@ -3551,15 +3768,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 @@ -3580,14 +3797,14 @@ class cMapElement_gtlGetterMap : public cMapElement { public: virtual cMapElement * copy (void) ; //--- Description - public: virtual void description (C_String & ioString, const int32_t inIndentation) const ; + public: virtual void description (String & ioString, const int32_t inIndentation) const ; } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 1: @gtlSetter value class // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_gtlSetter : public GALGAS_gtlExecutableEntity { //--------------------------------- Default constructor @@ -3604,23 +3821,23 @@ class GALGAS_gtlSetter : public GALGAS_gtlExecutableEntity { //--------------------------------- Property read access public: class GALGAS_type readProperty_targetType (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlSetter extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlSetter & inOperand) const ; @@ -3643,23 +3860,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 @@ -3669,59 +3886,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 generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlSetterMap extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS constructors - public: static class GALGAS_gtlSetterMap constructor_emptyMap (LOCATION_ARGS) ; +//--------------------------------- GALGAS class functions + public: static class GALGAS_gtlSetterMap class_func_emptyMap (LOCATION_ARGS) ; - public: static class GALGAS_gtlSetterMap constructor_mapWithMapToOverride (const class GALGAS_gtlSetterMap & inOperand0 - COMMA_LOCATION_ARGS) ; + public: static class GALGAS_gtlSetterMap class_func_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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- + operator public: VIRTUAL_IN_DEBUG GALGAS_gtlSetterMap add_operation (const GALGAS_gtlSetterMap & inOperand, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Setters public: VIRTUAL_IN_DEBUG void setter_put (class GALGAS_lstring constinArgument0, class GALGAS_gtlSetter constinArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setTheSetterForKey (class GALGAS_gtlSetter constinArgument0, class GALGAS_string constinArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Instance Methods public: VIRTUAL_IN_DEBUG void method_get (class GALGAS_lstring constinArgument0, class GALGAS_gtlSetter & outArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Class Methods //--------------------------------- Getters - public: VIRTUAL_IN_DEBUG class GALGAS_gtlSetterMap getter_overriddenMap (C_Compiler * inCompiler + public: VIRTUAL_IN_DEBUG class GALGAS_gtlSetterMap getter_overriddenMap (Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlSetter getter_theSetterForKey (const class GALGAS_string & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; @@ -3732,7 +3949,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 (C_Compiler * inCompiler, + public: VIRTUAL_IN_DEBUG cMapElement_gtlSetterMap * readWriteAccessForWithInstruction (Compiler * inCompiler, const GALGAS_string & inKey COMMA_LOCATION_ARGS) ; @@ -3742,9 +3959,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, @@ -3757,15 +3974,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 @@ -3786,48 +4003,48 @@ class cMapElement_gtlSetterMap : public cMapElement { public: virtual cMapElement * copy (void) ; //--- Description - public: virtual void description (C_String & ioString, const int32_t inIndentation) const ; + public: virtual void description (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, - C_Compiler * COMMA_LOCATION_ARGS) const ; + Compiler * COMMA_LOCATION_ARGS) const ; //--- Extension getter getFunction public: virtual class GALGAS_gtlFunction getter_getFunction (const class GALGAS_lstring name, - C_Compiler * COMMA_LOCATION_ARGS) const ; + 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, - C_Compiler * COMMA_LOCATION_ARGS) const ; + 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, - C_Compiler * COMMA_LOCATION_ARGS) const ; + 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, - C_Compiler * COMMA_LOCATION_ARGS) const ; + Compiler * COMMA_LOCATION_ARGS) const ; //--- Extension getter hasImport public: virtual class GALGAS_bool getter_hasImport (const class GALGAS_string importPath, - C_Compiler * COMMA_LOCATION_ARGS) const ; + 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, - C_Compiler * COMMA_LOCATION_ARGS) const ; + Compiler * COMMA_LOCATION_ARGS) const ; //--- Properties @@ -3860,7 +4077,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -3869,52 +4086,52 @@ class cPtr_library : public acPtr_class { } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //LEXIQUE gtl_5F_scanner // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -#include "galgas2/C_Lexique.h" +#include "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: C_String mLexicalAttribute_a_5F_string ; + public: String mLexicalAttribute_a_5F_string ; public: utf32 mLexicalAttribute_charValue ; public: double mLexicalAttribute_floatValue ; - public: C_String mLexicalAttribute_functionContent ; - public: C_String mLexicalAttribute_identifierString ; - public: C_BigInt mLexicalAttribute_intValue ; - public: C_String mLexicalAttribute_tokenString ; + public: String mLexicalAttribute_functionContent ; + public: String mLexicalAttribute_identifierString ; + public: BigSigned mLexicalAttribute_intValue ; + public: 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 C_Lexique_gtl_5F_scanner : public C_Lexique { +class Lexique_gtl_5F_scanner : public Lexique { //--- Constructors - public: C_Lexique_gtl_5F_scanner (C_Compiler * inCallerCompiler, - const C_String & inSourceFileName + public: Lexique_gtl_5F_scanner (Compiler * inCallerCompiler, + const String & inSourceFileName COMMA_LOCATION_ARGS) ; - public: C_Lexique_gtl_5F_scanner (C_Compiler * inCallerCompiler, - const C_String & inSourceString, - const C_String & inStringForError + public: Lexique_gtl_5F_scanner (Compiler * inCallerCompiler, + const String & inSourceString, + const String & inStringForError COMMA_LOCATION_ARGS) ; //--- Instrospection @@ -3922,9 +4139,9 @@ class C_Lexique_gtl_5F_scanner : public C_Lexique { //--- Declaring a protected virtual destructor enables the compiler to raise // an error if a direct delete is performed; only the static method -// C_SharedObject::detachPointer may invoke delete. +// SharedObject::detachPointer may invoke delete. #ifndef DO_NOT_GENERATE_CHECKINGS - protected: virtual ~ C_Lexique_gtl_5F_scanner (void) {} + protected: virtual ~ Lexique_gtl_5F_scanner (void) {} #endif //--- Scanner mode for template scanner @@ -3934,127 +4151,127 @@ class C_Lexique_gtl_5F_scanner : public C_Lexique { //--- Terminal symbols enumeration public: enum {kToken_, - 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_} ; + 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 */ } ; //--- Key words table 'goilTemplateKeyWordList' - public: static int32_t search_into_goilTemplateKeyWordList (const C_String & inSearchedString) ; + public: static int32_t search_into_goilTemplateKeyWordList (const String & inSearchedString) ; //--- Key words table 'galgasDelimitorsList' - public: static int32_t search_into_galgasDelimitorsList (const C_String & inSearchedString) ; + public: static int32_t search_into_galgasDelimitorsList (const String & inSearchedString) ; //--- Assign from attribute @@ -4069,44 +4286,44 @@ class C_Lexique_gtl_5F_scanner : public C_Lexique { //--- Attribute access - public: C_String attributeValue_a_5F_string (void) const ; + public: String attributeValue_a_5F_string (void) const ; public: utf32 attributeValue_charValue (void) const ; public: double attributeValue_floatValue (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: String attributeValue_functionContent (void) const ; + public: String attributeValue_identifierString (void) const ; + public: BigSigned attributeValue_intValue (void) const ; + public: 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 C_String getMessageForTerminal (const int32_t inTerminalSymbol) const override ; + protected: virtual 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 C_String getCurrentTokenString (const cToken * inTokenPtr) const override ; + public: virtual String getCurrentTokenString (const cToken * inTokenPtr) const override ; //--- Enter Token protected: void enterToken (cTokenFor_gtl_5F_scanner & ioToken) ; //--- Style name for Latex - protected: virtual C_String styleNameForIndex (const uint32_t inStyleIndex) const override ; + protected: virtual 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 @@ -4114,398 +4331,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 C_Lexique_gtl_5F_scanner * inLexique) = 0 ; + 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_parse (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_argument_5F_list_indexing (class Lexique_gtl_5F_scanner * inLexique) = 0 ; protected: virtual void nt_gtl_5F_expression_ (class GALGAS_gtlExpression & outArgument0, - class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; + 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_parse (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_expression_indexing (class Lexique_gtl_5F_scanner * inLexique) = 0 ; protected: virtual void nt_gtl_5F_factor_ (class GALGAS_gtlExpression & outArgument0, - class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; + 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_parse (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_factor_indexing (class Lexique_gtl_5F_scanner * inLexique) = 0 ; protected: virtual void nt_gtl_5F_relation_5F_factor_ (class GALGAS_gtlExpression & outArgument0, - class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; + 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_parse (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_factor_indexing (class Lexique_gtl_5F_scanner * inLexique) = 0 ; protected: virtual void nt_gtl_5F_relation_5F_term_ (class GALGAS_gtlExpression & outArgument0, - class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; + 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_parse (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_relation_5F_term_indexing (class Lexique_gtl_5F_scanner * inLexique) = 0 ; protected: virtual void nt_gtl_5F_simple_5F_expression_ (class GALGAS_gtlExpression & outArgument0, - class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; + 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_parse (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_simple_5F_expression_indexing (class Lexique_gtl_5F_scanner * inLexique) = 0 ; protected: virtual void nt_gtl_5F_term_ (class GALGAS_gtlExpression & outArgument0, - class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; + 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_parse (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_term_indexing (class Lexique_gtl_5F_scanner * inLexique) = 0 ; protected: virtual void nt_gtl_5F_variable_ (class GALGAS_gtlVarPath & outArgument0, - class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; + 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_parse (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_indexing (class 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 C_Lexique_gtl_5F_scanner * inLexique) = 0 ; + 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_parse (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 ; + protected: virtual void nt_gtl_5F_variable_5F_or_5F_here_indexing (class Lexique_gtl_5F_scanner * inLexique) = 0 ; //--- Rule declarations protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_expression_i0_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (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_expression_i0_indexing (Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_relation_5F_term_i1_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (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_term_i1_indexing (Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_relation_5F_factor_i2_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (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_relation_5F_factor_i2_indexing (Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_simple_5F_expression_i3_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (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_simple_5F_expression_i3_indexing (Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_term_i4_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (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_term_i4_indexing (Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i5_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (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_i5_indexing (Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i6_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (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_i6_indexing (Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i7_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (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_i7_indexing (Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i8_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (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_i8_indexing (Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i9_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (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_i9_indexing (Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i10_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (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_i10_indexing (Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i11_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (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_i11_indexing (Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i12_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (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_i12_indexing (Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i13_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (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_i13_indexing (Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i14_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (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_i14_indexing (Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i15_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (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_i15_indexing (Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i16_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (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_i16_indexing (Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i17_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (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_i17_indexing (Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i18_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (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_i18_indexing (Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i19_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (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_i19_indexing (Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i20_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (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_i20_indexing (Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i21_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (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_i21_indexing (Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i22_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (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_i22_indexing (Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i23_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (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_i23_indexing (Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i24_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (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_i24_indexing (Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i25_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (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_i25_indexing (Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i26_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (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_i26_indexing (Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i27_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (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_i27_indexing (Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i28_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (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_i28_indexing (Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i29_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (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_i29_indexing (Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i30_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (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_i30_indexing (Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i31_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (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_i31_indexing (Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i32_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (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_i32_indexing (Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_factor_i33_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (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_factor_i33_indexing (Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_variable_i34_ (GALGAS_gtlVarPath & outArgument0, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (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_i34_indexing (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, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (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_variable_5F_or_5F_here_i35_indexing (Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_argument_5F_list_i36_ (GALGAS_gtlArgumentList & outArgument0, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (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) ; + protected: void rule_gtl_5F_expression_5F_parser_gtl_5F_argument_5F_list_i36_indexing (Lexique_gtl_5F_scanner * inLexique) ; //--- Select methods - 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_0 (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_1 (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_2 (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_3 (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_4 (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_5 (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_6 (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_7 (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_8 (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_9 (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_10 (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_11 (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_12 (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_13 (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_14 (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_15 (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_16 (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_17 (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_18 (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_19 (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_20 (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_21 (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_22 (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_23 (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_24 (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_25 (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_26 (Lexique_gtl_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_expression_5F_parser_27 (C_Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_expression_5F_parser_27 (Lexique_gtl_5F_scanner *) = 0 ; } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Parser class 'gtl_instruction_parser' declaration // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class cParser_gtl_5F_instruction_5F_parser { //--- Virtual destructor @@ -4513,175 +4730,175 @@ class cParser_gtl_5F_instruction_5F_parser { //--- Non terminal declarations protected: virtual void nt_gtl_5F_expression_ (class GALGAS_gtlExpression & outArgument0, - class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; + 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_parse (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_expression_indexing (class Lexique_gtl_5F_scanner * inLexique) = 0 ; protected: virtual void nt_gtl_5F_import_ (class GALGAS_gtlContext inArgument0, class GALGAS_library & ioArgument1, - class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; + 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_parse (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_import_indexing (class Lexique_gtl_5F_scanner * inLexique) = 0 ; protected: virtual void nt_gtl_5F_simple_5F_instruction_ (class GALGAS_gtlInstruction & outArgument0, - class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; + 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_parse (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_simple_5F_instruction_indexing (class Lexique_gtl_5F_scanner * inLexique) = 0 ; protected: virtual void nt_gtl_5F_sorting_5F_order_ (class GALGAS_lsint & outArgument0, - class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; + 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_parse (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_sorting_5F_order_indexing (class Lexique_gtl_5F_scanner * inLexique) = 0 ; protected: virtual void nt_gtl_5F_variable_ (class GALGAS_gtlVarPath & outArgument0, - class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; + 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_parse (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_indexing (class 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 C_Lexique_gtl_5F_scanner * inLexique) = 0 ; + 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_parse (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 ; + protected: virtual void nt_gtl_5F_variable_5F_or_5F_here_indexing (class 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, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (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_i0_indexing (Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i1_ (GALGAS_gtlInstruction & outArgument0, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (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_i1_indexing (Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i2_ (GALGAS_gtlInstruction & outArgument0, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (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_i2_indexing (Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i3_ (GALGAS_gtlInstruction & outArgument0, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (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_i3_indexing (Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i4_ (GALGAS_gtlInstruction & outArgument0, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (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_i4_indexing (Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i5_ (GALGAS_gtlInstruction & outArgument0, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (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_i5_indexing (Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i6_ (GALGAS_gtlInstruction & outArgument0, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (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_i6_indexing (Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i7_ (GALGAS_gtlInstruction & outArgument0, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (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_i7_indexing (Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i8_ (GALGAS_gtlInstruction & outArgument0, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (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_i8_indexing (Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i9_ (GALGAS_gtlInstruction & outArgument0, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (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_i9_indexing (Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i10_ (GALGAS_gtlInstruction & outArgument0, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (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_i10_indexing (Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_simple_5F_instruction_i11_ (GALGAS_gtlInstruction & outArgument0, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (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_simple_5F_instruction_i11_indexing (Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_sorting_5F_order_i12_ (GALGAS_lsint & outArgument0, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (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_sorting_5F_order_i12_indexing (Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_import_i13_ (GALGAS_gtlContext inArgument0, GALGAS_library & ioArgument1, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_import_i13_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_instruction_5F_parser_gtl_5F_import_i13_indexing (Lexique_gtl_5F_scanner * inLexique) ; //--- Select methods - 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_0 (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_1 (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_2 (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_3 (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_4 (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_5 (Lexique_gtl_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_instruction_5F_parser_6 (C_Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_instruction_5F_parser_6 (Lexique_gtl_5F_scanner *) = 0 ; } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Parser class 'gtl_parser' declaration // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class cParser_gtl_5F_parser { //--- Virtual destructor @@ -4689,372 +4906,372 @@ class cParser_gtl_5F_parser { //--- Non terminal declarations protected: virtual void nt_gtl_5F_argument_5F_list_ (class GALGAS_gtlArgumentList & outArgument0, - class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; + 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_parse (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_argument_5F_list_indexing (class Lexique_gtl_5F_scanner * inLexique) = 0 ; protected: virtual void nt_gtl_5F_expression_ (class GALGAS_gtlExpression & outArgument0, - class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; + 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_parse (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_expression_indexing (class Lexique_gtl_5F_scanner * inLexique) = 0 ; protected: virtual void nt_gtl_5F_file_5F_name_ (class GALGAS_gtlExpression & outArgument0, - class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; + 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_parse (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_file_5F_name_indexing (class Lexique_gtl_5F_scanner * inLexique) = 0 ; protected: virtual void nt_gtl_5F_import_ (class GALGAS_gtlContext inArgument0, class GALGAS_library & ioArgument1, - class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; + 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_parse (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_import_indexing (class Lexique_gtl_5F_scanner * inLexique) = 0 ; protected: virtual void nt_gtl_5F_simple_5F_instruction_ (class GALGAS_gtlInstruction & outArgument0, - class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; + 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_parse (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_simple_5F_instruction_indexing (class 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 C_Lexique_gtl_5F_scanner * inLexique) = 0 ; + 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_parse (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_start_5F_symbol_indexing (class Lexique_gtl_5F_scanner * inLexique) = 0 ; protected: virtual void nt_gtl_5F_template_5F_instruction_ (class GALGAS_gtlInstruction & outArgument0, - class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; + 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_parse (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_indexing (class Lexique_gtl_5F_scanner * inLexique) = 0 ; protected: virtual void nt_gtl_5F_template_5F_instruction_5F_list_ (class GALGAS_gtlInstructionList & outArgument0, - class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; + 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_parse (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_template_5F_instruction_5F_list_indexing (class Lexique_gtl_5F_scanner * inLexique) = 0 ; protected: virtual void nt_gtl_5F_variable_ (class GALGAS_gtlVarPath & outArgument0, - class C_Lexique_gtl_5F_scanner * inLexique) = 0 ; + 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_parse (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_indexing (class 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 C_Lexique_gtl_5F_scanner * inLexique) = 0 ; + 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_parse (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 ; + protected: virtual void nt_gtl_5F_variable_5F_or_5F_here_indexing (class 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, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (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_start_5F_symbol_i0_indexing (Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_5F_list_i1_ (GALGAS_gtlInstructionList & outArgument0, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (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_5F_list_i1_indexing (Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_i2_ (GALGAS_gtlInstruction & outArgument0, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (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_i2_indexing (Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_i3_ (GALGAS_gtlInstruction & outArgument0, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (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_i3_indexing (Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_i4_ (GALGAS_gtlInstruction & outArgument0, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (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_i4_indexing (Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_i5_ (GALGAS_gtlInstruction & outArgument0, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (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_i5_indexing (Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_i6_ (GALGAS_gtlInstruction & outArgument0, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (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_i6_indexing (Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_i7_ (GALGAS_gtlInstruction & outArgument0, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (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_i7_indexing (Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_i8_ (GALGAS_gtlInstruction & outArgument0, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (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_i8_indexing (Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_i9_ (GALGAS_gtlInstruction & outArgument0, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (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_i9_indexing (Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_i10_ (GALGAS_gtlInstruction & outArgument0, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (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_i10_indexing (Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_parser_gtl_5F_template_5F_instruction_i11_ (GALGAS_gtlInstruction & outArgument0, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (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_template_5F_instruction_i11_indexing (Lexique_gtl_5F_scanner * inLexique) ; protected: void rule_gtl_5F_parser_gtl_5F_file_5F_name_i12_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_scanner * inLexique) ; + 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_parse (Lexique_gtl_5F_scanner * inLexique) ; - protected: void rule_gtl_5F_parser_gtl_5F_file_5F_name_i12_indexing (C_Lexique_gtl_5F_scanner * inLexique) ; + protected: void rule_gtl_5F_parser_gtl_5F_file_5F_name_i12_indexing (Lexique_gtl_5F_scanner * inLexique) ; //--- Select methods - protected: virtual int32_t select_gtl_5F_parser_0 (C_Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_parser_0 (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_1 (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_2 (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_3 (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_4 (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_5 (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_6 (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_7 (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_8 (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_9 (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_10 (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_11 (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_12 (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_13 (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_14 (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_15 (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_16 (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_17 (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_18 (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_19 (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_20 (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_21 (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_22 (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_23 (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_24 (Lexique_gtl_5F_scanner *) = 0 ; - protected: virtual int32_t select_gtl_5F_parser_25 (C_Lexique_gtl_5F_scanner *) = 0 ; + protected: virtual int32_t select_gtl_5F_parser_25 (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 (C_Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_argument_5F_list_parse (Lexique_gtl_5F_scanner * inCompiler) ; //--- indexing - public: virtual void nt_gtl_5F_argument_5F_list_indexing (C_Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_argument_5F_list_indexing (Lexique_gtl_5F_scanner * inCompiler) ; //----------- '' label public: virtual void nt_gtl_5F_argument_5F_list_ (GALGAS_gtlArgumentList & outArgument0, - C_Lexique_gtl_5F_scanner * inCompiler) ; + Lexique_gtl_5F_scanner * inCompiler) ; //------------------------------------- 'gtl_expression' non terminal //--- 'parse' label - public: virtual void nt_gtl_5F_expression_parse (C_Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_expression_parse (Lexique_gtl_5F_scanner * inCompiler) ; //--- indexing - public: virtual void nt_gtl_5F_expression_indexing (C_Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_expression_indexing (Lexique_gtl_5F_scanner * inCompiler) ; //----------- '' label public: virtual void nt_gtl_5F_expression_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_scanner * inCompiler) ; + Lexique_gtl_5F_scanner * inCompiler) ; //------------------------------------- 'gtl_factor' non terminal //--- 'parse' label - public: virtual void nt_gtl_5F_factor_parse (C_Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_factor_parse (Lexique_gtl_5F_scanner * inCompiler) ; //--- indexing - public: virtual void nt_gtl_5F_factor_indexing (C_Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_factor_indexing (Lexique_gtl_5F_scanner * inCompiler) ; //----------- '' label public: virtual void nt_gtl_5F_factor_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_scanner * inCompiler) ; + Lexique_gtl_5F_scanner * inCompiler) ; //------------------------------------- 'gtl_file_name' non terminal //--- 'parse' label - public: virtual void nt_gtl_5F_file_5F_name_parse (C_Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_file_5F_name_parse (Lexique_gtl_5F_scanner * inCompiler) ; //--- indexing - public: virtual void nt_gtl_5F_file_5F_name_indexing (C_Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_file_5F_name_indexing (Lexique_gtl_5F_scanner * inCompiler) ; //----------- '' label public: virtual void nt_gtl_5F_file_5F_name_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_scanner * inCompiler) ; + Lexique_gtl_5F_scanner * inCompiler) ; //------------------------------------- 'gtl_import' non terminal //--- 'parse' label - public: virtual void nt_gtl_5F_import_parse (C_Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_import_parse (Lexique_gtl_5F_scanner * inCompiler) ; //--- indexing - public: virtual void nt_gtl_5F_import_indexing (C_Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_import_indexing (Lexique_gtl_5F_scanner * inCompiler) ; //----------- '' label public: virtual void nt_gtl_5F_import_ (GALGAS_gtlContext inArgument0, GALGAS_library & ioArgument1, - C_Lexique_gtl_5F_scanner * inCompiler) ; + Lexique_gtl_5F_scanner * inCompiler) ; //------------------------------------- 'gtl_relation_factor' non terminal //--- 'parse' label - public: virtual void nt_gtl_5F_relation_5F_factor_parse (C_Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_relation_5F_factor_parse (Lexique_gtl_5F_scanner * inCompiler) ; //--- indexing - public: virtual void nt_gtl_5F_relation_5F_factor_indexing (C_Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_relation_5F_factor_indexing (Lexique_gtl_5F_scanner * inCompiler) ; //----------- '' label public: virtual void nt_gtl_5F_relation_5F_factor_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_scanner * inCompiler) ; + Lexique_gtl_5F_scanner * inCompiler) ; //------------------------------------- 'gtl_relation_term' non terminal //--- 'parse' label - public: virtual void nt_gtl_5F_relation_5F_term_parse (C_Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_relation_5F_term_parse (Lexique_gtl_5F_scanner * inCompiler) ; //--- indexing - public: virtual void nt_gtl_5F_relation_5F_term_indexing (C_Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_relation_5F_term_indexing (Lexique_gtl_5F_scanner * inCompiler) ; //----------- '' label public: virtual void nt_gtl_5F_relation_5F_term_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_scanner * inCompiler) ; + Lexique_gtl_5F_scanner * inCompiler) ; //------------------------------------- 'gtl_simple_expression' non terminal //--- 'parse' label - public: virtual void nt_gtl_5F_simple_5F_expression_parse (C_Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_simple_5F_expression_parse (Lexique_gtl_5F_scanner * inCompiler) ; //--- indexing - public: virtual void nt_gtl_5F_simple_5F_expression_indexing (C_Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_simple_5F_expression_indexing (Lexique_gtl_5F_scanner * inCompiler) ; //----------- '' label public: virtual void nt_gtl_5F_simple_5F_expression_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_scanner * inCompiler) ; + Lexique_gtl_5F_scanner * inCompiler) ; //------------------------------------- 'gtl_simple_instruction' non terminal //--- 'parse' label - public: virtual void nt_gtl_5F_simple_5F_instruction_parse (C_Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_simple_5F_instruction_parse (Lexique_gtl_5F_scanner * inCompiler) ; //--- indexing - public: virtual void nt_gtl_5F_simple_5F_instruction_indexing (C_Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_simple_5F_instruction_indexing (Lexique_gtl_5F_scanner * inCompiler) ; //----------- '' label public: virtual void nt_gtl_5F_simple_5F_instruction_ (GALGAS_gtlInstruction & outArgument0, - C_Lexique_gtl_5F_scanner * inCompiler) ; + Lexique_gtl_5F_scanner * inCompiler) ; //------------------------------------- 'gtl_sorting_order' non terminal //--- 'parse' label - public: virtual void nt_gtl_5F_sorting_5F_order_parse (C_Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_sorting_5F_order_parse (Lexique_gtl_5F_scanner * inCompiler) ; //--- indexing - public: virtual void nt_gtl_5F_sorting_5F_order_indexing (C_Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_sorting_5F_order_indexing (Lexique_gtl_5F_scanner * inCompiler) ; //----------- '' label public: virtual void nt_gtl_5F_sorting_5F_order_ (GALGAS_lsint & outArgument0, - C_Lexique_gtl_5F_scanner * inCompiler) ; + Lexique_gtl_5F_scanner * inCompiler) ; //------------------------------------- 'gtl_start_symbol' non terminal //--- 'parse' label - public: virtual void nt_gtl_5F_start_5F_symbol_parse (C_Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_start_5F_symbol_parse (Lexique_gtl_5F_scanner * inCompiler) ; //--- indexing - public: virtual void nt_gtl_5F_start_5F_symbol_indexing (C_Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_start_5F_symbol_indexing (Lexique_gtl_5F_scanner * inCompiler) ; //----------- '' label public: virtual void nt_gtl_5F_start_5F_symbol_ (GALGAS_gtlContext inArgument0, GALGAS_library & ioArgument1, GALGAS_gtlInstructionList & outArgument2, - C_Lexique_gtl_5F_scanner * inCompiler) ; + Lexique_gtl_5F_scanner * inCompiler) ; //--- Start symbol - public: static void _performSourceFileParsing_ (C_Compiler * inCompiler, + public: static void _performSourceFileParsing_ (Compiler * inCompiler, GALGAS_lstring inFileName, GALGAS_gtlContext inArgument0, GALGAS_library & ioArgument1, GALGAS_gtlInstructionList & outArgument2 COMMA_LOCATION_ARGS) ; - public: static void _performSourceStringParsing_ (C_Compiler * inCompiler, + public: static void _performSourceStringParsing_ (Compiler * inCompiler, GALGAS_string inSourceString, GALGAS_string inNameString, GALGAS_gtlContext inArgument0, @@ -5063,202 +5280,202 @@ class cGrammar_gtl_5F_grammar : public cParser_gtl_5F_parser, COMMA_LOCATION_ARGS) ; //--- Indexing - public: static void performIndexing (C_Compiler * inCompiler, - const C_String & inSourceFilePath) ; + public: static void performIndexing (Compiler * inCompiler, + const String & inSourceFilePath) ; //--- Only lexical analysis - public: static void performOnlyLexicalAnalysis (C_Compiler * inCompiler, - const C_String & inSourceFilePath) ; + public: static void performOnlyLexicalAnalysis (Compiler * inCompiler, + const String & inSourceFilePath) ; //--- Only syntax analysis - public: static void performOnlySyntaxAnalysis (C_Compiler * inCompiler, - const C_String & inSourceFilePath) ; + public: static void performOnlySyntaxAnalysis (Compiler * inCompiler, + const String & inSourceFilePath) ; //------------------------------------- 'gtl_template_instruction' non terminal //--- 'parse' label - public: virtual void nt_gtl_5F_template_5F_instruction_parse (C_Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_template_5F_instruction_parse (Lexique_gtl_5F_scanner * inCompiler) ; //--- indexing - public: virtual void nt_gtl_5F_template_5F_instruction_indexing (C_Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_template_5F_instruction_indexing (Lexique_gtl_5F_scanner * inCompiler) ; //----------- '' label public: virtual void nt_gtl_5F_template_5F_instruction_ (GALGAS_gtlInstruction & outArgument0, - C_Lexique_gtl_5F_scanner * inCompiler) ; + 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 (C_Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_template_5F_instruction_5F_list_parse (Lexique_gtl_5F_scanner * inCompiler) ; //--- indexing - public: virtual void nt_gtl_5F_template_5F_instruction_5F_list_indexing (C_Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_template_5F_instruction_5F_list_indexing (Lexique_gtl_5F_scanner * inCompiler) ; //----------- '' label public: virtual void nt_gtl_5F_template_5F_instruction_5F_list_ (GALGAS_gtlInstructionList & outArgument0, - C_Lexique_gtl_5F_scanner * inCompiler) ; + Lexique_gtl_5F_scanner * inCompiler) ; //------------------------------------- 'gtl_term' non terminal //--- 'parse' label - public: virtual void nt_gtl_5F_term_parse (C_Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_term_parse (Lexique_gtl_5F_scanner * inCompiler) ; //--- indexing - public: virtual void nt_gtl_5F_term_indexing (C_Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_term_indexing (Lexique_gtl_5F_scanner * inCompiler) ; //----------- '' label public: virtual void nt_gtl_5F_term_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_scanner * inCompiler) ; + Lexique_gtl_5F_scanner * inCompiler) ; //------------------------------------- 'gtl_variable' non terminal //--- 'parse' label - public: virtual void nt_gtl_5F_variable_parse (C_Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_variable_parse (Lexique_gtl_5F_scanner * inCompiler) ; //--- indexing - public: virtual void nt_gtl_5F_variable_indexing (C_Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_variable_indexing (Lexique_gtl_5F_scanner * inCompiler) ; //----------- '' label public: virtual void nt_gtl_5F_variable_ (GALGAS_gtlVarPath & outArgument0, - C_Lexique_gtl_5F_scanner * inCompiler) ; + 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 (C_Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_variable_5F_or_5F_here_parse (Lexique_gtl_5F_scanner * inCompiler) ; //--- indexing - public: virtual void nt_gtl_5F_variable_5F_or_5F_here_indexing (C_Lexique_gtl_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_variable_5F_or_5F_here_indexing (Lexique_gtl_5F_scanner * inCompiler) ; //----------- '' label public: virtual void nt_gtl_5F_variable_5F_or_5F_here_ (GALGAS_gtlVarPath & outArgument0, GALGAS_bool & outArgument1, - C_Lexique_gtl_5F_scanner * inCompiler) ; + Lexique_gtl_5F_scanner * inCompiler) ; - public: virtual int32_t select_gtl_5F_parser_0 (C_Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_parser_0 (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_1 (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_2 (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_3 (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_4 (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_5 (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_6 (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_7 (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_8 (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_9 (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_10 (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_11 (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_12 (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_13 (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_14 (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_15 (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_16 (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_17 (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_18 (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_19 (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_20 (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_21 (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_22 (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_23 (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_24 (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_parser_25 (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_0 (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_1 (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_2 (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_3 (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_4 (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_5 (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_6 (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_7 (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_8 (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_9 (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_10 (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_11 (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_12 (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_13 (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_14 (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_15 (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_16 (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_17 (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_18 (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_19 (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_20 (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_21 (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_22 (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_23 (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_24 (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_25 (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_26 (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_expression_5F_parser_27 (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_0 (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_1 (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_2 (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_3 (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_4 (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_5 (Lexique_gtl_5F_scanner *) ; - public: virtual int32_t select_gtl_5F_instruction_5F_parser_6 (C_Lexique_gtl_5F_scanner *) ; + public: virtual int32_t select_gtl_5F_instruction_5F_parser_6 (Lexique_gtl_5F_scanner *) ; } ; -//---------------------------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 1: @gtlFuncMap_2D_element struct // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_gtlFuncMap_2D_element : public AC_GALGAS_root { //--------------------------------- Properties @@ -5276,9 +5493,6 @@ 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) ; @@ -5298,24 +5512,25 @@ 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 generic part --* +//-- Start of type 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, - C_Compiler * inCompiler + 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) ; +//--------------------------------- 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) ; //--------------------------------- Implementation of getter 'description' - public: VIRTUAL_IN_DEBUG void description (C_String & ioString, - const int32_t inIndentation) const override ; + public: VIRTUAL_IN_DEBUG void description (String & ioString, + const int32_t inIndentation) const override ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlFuncMap_2D_element & inOperand) const ; @@ -5334,15 +5549,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 @@ -5379,24 +5594,25 @@ 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 generic part --* +//-- Start of type 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, - C_Compiler * inCompiler + 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) ; +//--------------------------------- 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) ; //--------------------------------- Implementation of getter 'description' - public: VIRTUAL_IN_DEBUG void description (C_String & ioString, - const int32_t inIndentation) const override ; + public: VIRTUAL_IN_DEBUG void description (String & ioString, + const int32_t inIndentation) const override ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlGetterMap_2D_element & inOperand) const ; @@ -5415,15 +5631,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 @@ -5460,24 +5676,25 @@ 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 generic part --* +//-- Start of type 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, - C_Compiler * inCompiler + 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) ; +//--------------------------------- 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) ; //--------------------------------- Implementation of getter 'description' - public: VIRTUAL_IN_DEBUG void description (C_String & ioString, - const int32_t inIndentation) const override ; + public: VIRTUAL_IN_DEBUG void description (String & ioString, + const int32_t inIndentation) const override ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlSetterMap_2D_element & inOperand) const ; @@ -5496,15 +5713,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 @@ -5519,14 +5736,14 @@ class GALGAS_gtlVarItem : public AC_GALGAS_value_class { public: GALGAS_gtlVarItem (const cPtr_gtlVarItem * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlVarItem extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison @@ -5547,15 +5764,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 { @@ -5565,7 +5782,7 @@ class cPtr_gtlVarItem : public acPtr_class { const class GALGAS_gtlData vars, const class GALGAS_library lib, const class GALGAS_gtlVarPath path, - C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; + Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter getInContext public: virtual class GALGAS_gtlData getter_getInContext (const class GALGAS_gtlContext exeContext, @@ -5573,20 +5790,20 @@ class cPtr_gtlVarItem : public acPtr_class { const class GALGAS_gtlData vars, const class GALGAS_library lib, const class GALGAS_gtlVarPath path, - C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; + Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter location - public: virtual class GALGAS_location getter_location (C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; + public: virtual class GALGAS_location getter_location (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, - C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; + Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter stringRepresentation public: virtual class GALGAS_string getter_stringRepresentation (const class GALGAS_string concatString, - C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; + Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension method deleteInContext public: virtual void method_deleteInContext (const class GALGAS_gtlContext exeContext, @@ -5594,7 +5811,7 @@ class cPtr_gtlVarItem : public acPtr_class { const class GALGAS_gtlData vars, const class GALGAS_library lib, const class GALGAS_gtlVarPath path, - C_Compiler * COMMA_LOCATION_ARGS) = 0 ; + Compiler * COMMA_LOCATION_ARGS) = 0 ; //--- Extension method setInContext public: virtual void method_setInContext (const class GALGAS_gtlContext exeContext, @@ -5603,7 +5820,7 @@ class cPtr_gtlVarItem : public acPtr_class { const class GALGAS_library lib, const class GALGAS_gtlVarPath path, const class GALGAS_gtlData newData, - C_Compiler * COMMA_LOCATION_ARGS) = 0 ; + Compiler * COMMA_LOCATION_ARGS) = 0 ; //--- Properties @@ -5613,7 +5830,7 @@ class cPtr_gtlVarItem : public acPtr_class { //--- Attribute accessors //--- Description - public: virtual void description (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override = 0 ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override = 0 ; @@ -5622,34 +5839,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 C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Abstract extension getter '@gtlVarItem location' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_location callExtensionGetter_location (const class cPtr_gtlVarItem * inObject, - class C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Abstract extension method '@gtlVarItem setInContext' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void callExtensionMethod_setInContext (class cPtr_gtlVarItem * inObject, const class GALGAS_gtlContext constin_exeContext, @@ -5658,14 +5875,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 C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 1: @gtlVarPath list // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_gtlVarPath : public AC_GALGAS_list { //--------------------------------- Default constructor @@ -5679,25 +5896,25 @@ class GALGAS_gtlVarPath : public AC_GALGAS_list { const class GALGAS_gtlVarItem & in_item COMMA_LOCATION_ARGS) ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlVarPath extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS constructors - public: static class GALGAS_gtlVarPath constructor_emptyList (LOCATION_ARGS) ; +//--------------------------------- GALGAS class functions + public: static class GALGAS_gtlVarPath class_func_emptyList (LOCATION_ARGS) ; - public: static class GALGAS_gtlVarPath constructor_listWithValue (const class GALGAS_gtlVarItem & inOperand0 - COMMA_LOCATION_ARGS) ; + public: static class GALGAS_gtlVarPath class_func_listWithValue (const class GALGAS_gtlVarItem & inOperand0 + COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with expression) public: VIRTUAL_IN_DEBUG void plusAssign_operation (const GALGAS_gtlVarPath inOperand, - class C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with list of field expressions) @@ -5705,65 +5922,65 @@ class GALGAS_gtlVarPath : public AC_GALGAS_list { COMMA_LOCATION_ARGS) ; //--------------------------------- + operator public: VIRTUAL_IN_DEBUG GALGAS_gtlVarPath add_operation (const GALGAS_gtlVarPath & inOperand, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Setters public: VIRTUAL_IN_DEBUG void setter_append (class GALGAS_gtlVarItem constinArgument0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_insertAtIndex (class GALGAS_gtlVarItem constinArgument0, class GALGAS_uint constinArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popFirst (class GALGAS_gtlVarItem & outArgument0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popLast (class GALGAS_gtlVarItem & outArgument0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_removeAtIndex (class GALGAS_gtlVarItem & outArgument0, class GALGAS_uint constinArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setItemAtIndex (class GALGAS_gtlVarItem constinArgument0, class GALGAS_uint constinArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Instance Methods public: VIRTUAL_IN_DEBUG void method_first (class GALGAS_gtlVarItem & outArgument0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void method_last (class GALGAS_gtlVarItem & outArgument0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Class Methods //--------------------------------- Getters public: VIRTUAL_IN_DEBUG class GALGAS_gtlVarItem getter_itemAtIndex (const class GALGAS_uint & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlVarPath getter_subListFromIndex (const class GALGAS_uint & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlVarPath getter_subListToIndex (const class GALGAS_uint & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlVarPath getter_subListWithRange (const class GALGAS_range & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; @@ -5777,9 +5994,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, @@ -5791,15 +6008,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, @@ -5807,14 +6024,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 C_Compiler * inCompiler + class 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, @@ -5822,14 +6039,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 C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Abstract extension method '@gtlVarItem deleteInContext' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void callExtensionMethod_deleteInContext (class cPtr_gtlVarItem * inObject, const class GALGAS_gtlContext constin_exeContext, @@ -5837,14 +6054,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 C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 1: @gtlVarPath_2D_element struct // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_gtlVarPath_2D_element : public AC_GALGAS_root { //--------------------------------- Properties @@ -5871,23 +6088,24 @@ class GALGAS_gtlVarPath_2D_element : public AC_GALGAS_root { //--------------------------------- Native constructor public: GALGAS_gtlVarPath_2D_element (const GALGAS_gtlVarItem & in_item) ; -//-- Start of generic part --* +//-- Start of type 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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS constructors - public: static class GALGAS_gtlVarPath_2D_element constructor_new (const class GALGAS_gtlVarItem & inOperand0 - 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) ; //--------------------------------- Implementation of getter 'description' - public: VIRTUAL_IN_DEBUG void description (C_String & ioString, - const int32_t inIndentation) const override ; + public: VIRTUAL_IN_DEBUG void description (String & ioString, + const int32_t inIndentation) const override ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlVarPath_2D_element & inOperand) const ; @@ -5906,33 +6124,30 @@ 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 C_Compiler * inCompiler + class 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 ; @@ -5944,19 +6159,19 @@ class GALGAS_gtlVarItemField : public GALGAS_gtlVarItem { //--------------------------------- Property read access public: class GALGAS_lstring readProperty_field (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlVarItemField extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS constructors - public: static class GALGAS_gtlVarItemField constructor_new (const class GALGAS_lstring & inOperand0 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS class functions + public: static class GALGAS_gtlVarItemField class_func_new (const class GALGAS_lstring & inOperand0 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlVarItemField & inOperand) const ; @@ -5979,15 +6194,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 { @@ -5997,7 +6212,7 @@ class cPtr_gtlVarItemField : public cPtr_gtlVarItem { const class GALGAS_gtlData vars, const class GALGAS_library lib, const class GALGAS_gtlVarPath path, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter getInContext public: virtual class GALGAS_gtlData getter_getInContext (const class GALGAS_gtlContext exeContext, @@ -6005,23 +6220,23 @@ class cPtr_gtlVarItemField : public cPtr_gtlVarItem { const class GALGAS_gtlData vars, const class GALGAS_library lib, const class GALGAS_gtlVarPath path, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter location - public: virtual class GALGAS_location getter_location (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_location getter_location (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter lstringPath - public: virtual class GALGAS_lstring getter_lstringPath (C_Compiler * COMMA_LOCATION_ARGS) const ; + public: virtual class GALGAS_lstring getter_lstringPath (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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation public: virtual class GALGAS_string getter_stringRepresentation (const class GALGAS_string concatString, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension method deleteInContext public: virtual void method_deleteInContext (const class GALGAS_gtlContext exeContext, @@ -6029,7 +6244,7 @@ class cPtr_gtlVarItemField : public cPtr_gtlVarItem { const class GALGAS_gtlData vars, const class GALGAS_library lib, const class GALGAS_gtlVarPath path, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Extension method setInContext public: virtual void method_setInContext (const class GALGAS_gtlContext exeContext, @@ -6038,7 +6253,7 @@ class cPtr_gtlVarItemField : public cPtr_gtlVarItem { const class GALGAS_library lib, const class GALGAS_gtlVarPath path, const class GALGAS_gtlData newData, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -6055,7 +6270,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -6064,87 +6279,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 C_Compiler * inCompiler + class 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 C_Compiler * inCompiler + class 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 C_Compiler * inCompiler + class 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 C_Compiler * inCompiler + class 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 C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Extension getter '@gtlVarPath location' (as function) // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_location extensionGetter_location (const class GALGAS_gtlVarPath & inObject, - class C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 2: pointer class for @gtlExpression class // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class cPtr_gtlExpression : public acPtr_class { @@ -6152,13 +6367,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, - C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; + Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter location - public: virtual class GALGAS_location getter_location (C_Compiler * COMMA_LOCATION_ARGS) const ; + public: virtual class GALGAS_location getter_location (Compiler * COMMA_LOCATION_ARGS) const ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; + public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Properties @@ -6172,7 +6387,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override = 0 ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override = 0 ; @@ -6181,11 +6396,11 @@ class cPtr_gtlExpression : public acPtr_class { } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 1: @gtlExpressionList_2D_element struct // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_gtlExpressionList_2D_element : public AC_GALGAS_root { //--------------------------------- Properties @@ -6212,23 +6427,24 @@ class GALGAS_gtlExpressionList_2D_element : public AC_GALGAS_root { //--------------------------------- Native constructor public: GALGAS_gtlExpressionList_2D_element (const GALGAS_gtlExpression & in_expression) ; -//-- Start of generic part --* +//-- Start of type 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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS constructors - public: static class GALGAS_gtlExpressionList_2D_element constructor_new (const class GALGAS_gtlExpression & inOperand0 - 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) ; //--------------------------------- Implementation of getter 'description' - public: VIRTUAL_IN_DEBUG void description (C_String & ioString, - const int32_t inIndentation) const override ; + public: VIRTUAL_IN_DEBUG void description (String & ioString, + const int32_t inIndentation) const override ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlExpressionList_2D_element & inOperand) const ; @@ -6247,34 +6463,31 @@ 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 C_Compiler * inCompiler + class 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 ; @@ -6286,21 +6499,21 @@ class GALGAS_gtlBool : public GALGAS_gtlData { //--------------------------------- Property read access public: class GALGAS_bool readProperty_value (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlBool extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlBool & inOperand) const ; @@ -6323,126 +6536,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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter andOp public: virtual class GALGAS_gtlData getter_andOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter bool - public: virtual class GALGAS_bool getter_bool (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_bool getter_bool (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter desc public: virtual class GALGAS_string getter_desc (const class GALGAS_uint tab, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter divOp public: virtual class GALGAS_gtlData getter_divOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter embeddedType - public: virtual class GALGAS_type getter_embeddedType (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_type getter_embeddedType (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter eqOp public: virtual class GALGAS_gtlData getter_eqOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter float - public: virtual class GALGAS_double getter_float (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_double getter_float (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter geOp public: virtual class GALGAS_gtlData getter_geOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter gtOp public: virtual class GALGAS_gtlData getter_gtOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter int - public: virtual class GALGAS_bigint getter_int (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_bigint getter_int (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter leOp public: virtual class GALGAS_gtlData getter_leOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter lstring - public: virtual class GALGAS_lstring getter_lstring (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_lstring getter_lstring (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter ltOp public: virtual class GALGAS_gtlData getter_ltOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter minusOp - public: virtual class GALGAS_gtlData getter_minusOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_minusOp (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter modOp public: virtual class GALGAS_gtlData getter_modOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter mulOp public: virtual class GALGAS_gtlData getter_mulOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter neqOp public: virtual class GALGAS_gtlData getter_neqOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter notOp - public: virtual class GALGAS_gtlData getter_notOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_notOp (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter orOp public: virtual class GALGAS_gtlData getter_orOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + 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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter plusOp - public: virtual class GALGAS_gtlData getter_plusOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_plusOp (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter slOp public: virtual class GALGAS_gtlData getter_slOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter srOp public: virtual class GALGAS_gtlData getter_srOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter string - public: virtual class GALGAS_string getter_string (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_string (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter subOp public: virtual class GALGAS_gtlData getter_subOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter xorOp public: virtual class GALGAS_gtlData getter_xorOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension method addMyValue public: virtual void method_addMyValue (class GALGAS_objectlist & objectList, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -6461,7 +6674,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -6470,19 +6683,16 @@ 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 ; @@ -6494,21 +6704,21 @@ class GALGAS_gtlChar : public GALGAS_gtlData { //--------------------------------- Property read access public: class GALGAS_char readProperty_value (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlChar extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlChar & inOperand) const ; @@ -6531,126 +6741,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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter andOp public: virtual class GALGAS_gtlData getter_andOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter bool - public: virtual class GALGAS_bool getter_bool (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_bool getter_bool (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter desc public: virtual class GALGAS_string getter_desc (const class GALGAS_uint tab, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter divOp public: virtual class GALGAS_gtlData getter_divOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter embeddedType - public: virtual class GALGAS_type getter_embeddedType (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_type getter_embeddedType (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter eqOp public: virtual class GALGAS_gtlData getter_eqOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter float - public: virtual class GALGAS_double getter_float (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_double getter_float (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter geOp public: virtual class GALGAS_gtlData getter_geOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter gtOp public: virtual class GALGAS_gtlData getter_gtOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter int - public: virtual class GALGAS_bigint getter_int (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_bigint getter_int (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter leOp public: virtual class GALGAS_gtlData getter_leOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter lstring - public: virtual class GALGAS_lstring getter_lstring (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_lstring getter_lstring (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter ltOp public: virtual class GALGAS_gtlData getter_ltOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter minusOp - public: virtual class GALGAS_gtlData getter_minusOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_minusOp (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter modOp public: virtual class GALGAS_gtlData getter_modOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter mulOp public: virtual class GALGAS_gtlData getter_mulOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter neqOp public: virtual class GALGAS_gtlData getter_neqOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter notOp - public: virtual class GALGAS_gtlData getter_notOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_notOp (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter orOp public: virtual class GALGAS_gtlData getter_orOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + 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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter plusOp - public: virtual class GALGAS_gtlData getter_plusOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_plusOp (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter slOp public: virtual class GALGAS_gtlData getter_slOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter srOp public: virtual class GALGAS_gtlData getter_srOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter string - public: virtual class GALGAS_string getter_string (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_string (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter subOp public: virtual class GALGAS_gtlData getter_subOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter xorOp public: virtual class GALGAS_gtlData getter_xorOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension method addMyValue public: virtual void method_addMyValue (class GALGAS_objectlist & objectList, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -6669,7 +6879,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -6678,19 +6888,16 @@ 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 ; @@ -6702,21 +6909,21 @@ class GALGAS_gtlEnum : public GALGAS_gtlData { //--------------------------------- Property read access public: class GALGAS_string readProperty_value (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlEnum extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlEnum & inOperand) const ; @@ -6739,126 +6946,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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter andOp public: virtual class GALGAS_gtlData getter_andOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter bool - public: virtual class GALGAS_bool getter_bool (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_bool getter_bool (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter desc public: virtual class GALGAS_string getter_desc (const class GALGAS_uint tab, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter divOp public: virtual class GALGAS_gtlData getter_divOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter embeddedType - public: virtual class GALGAS_type getter_embeddedType (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_type getter_embeddedType (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter eqOp public: virtual class GALGAS_gtlData getter_eqOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter float - public: virtual class GALGAS_double getter_float (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_double getter_float (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter geOp public: virtual class GALGAS_gtlData getter_geOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter gtOp public: virtual class GALGAS_gtlData getter_gtOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter int - public: virtual class GALGAS_bigint getter_int (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_bigint getter_int (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter leOp public: virtual class GALGAS_gtlData getter_leOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter lstring - public: virtual class GALGAS_lstring getter_lstring (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_lstring getter_lstring (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter ltOp public: virtual class GALGAS_gtlData getter_ltOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter minusOp - public: virtual class GALGAS_gtlData getter_minusOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_minusOp (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter modOp public: virtual class GALGAS_gtlData getter_modOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter mulOp public: virtual class GALGAS_gtlData getter_mulOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter neqOp public: virtual class GALGAS_gtlData getter_neqOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter notOp - public: virtual class GALGAS_gtlData getter_notOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_notOp (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter orOp public: virtual class GALGAS_gtlData getter_orOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + 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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter plusOp - public: virtual class GALGAS_gtlData getter_plusOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_plusOp (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter slOp public: virtual class GALGAS_gtlData getter_slOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter srOp public: virtual class GALGAS_gtlData getter_srOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter string - public: virtual class GALGAS_string getter_string (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_string (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter subOp public: virtual class GALGAS_gtlData getter_subOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter xorOp public: virtual class GALGAS_gtlData getter_xorOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension method addMyValue public: virtual void method_addMyValue (class GALGAS_objectlist & objectList, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -6877,7 +7084,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -6886,19 +7093,16 @@ 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 ; @@ -6910,21 +7114,21 @@ class GALGAS_gtlFloat : public GALGAS_gtlData { //--------------------------------- Property read access public: class GALGAS_double readProperty_value (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlFloat extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlFloat & inOperand) const ; @@ -6947,126 +7151,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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter andOp public: virtual class GALGAS_gtlData getter_andOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter bool - public: virtual class GALGAS_bool getter_bool (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_bool getter_bool (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter desc public: virtual class GALGAS_string getter_desc (const class GALGAS_uint tab, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter divOp public: virtual class GALGAS_gtlData getter_divOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter embeddedType - public: virtual class GALGAS_type getter_embeddedType (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_type getter_embeddedType (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter eqOp public: virtual class GALGAS_gtlData getter_eqOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter float - public: virtual class GALGAS_double getter_float (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_double getter_float (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter geOp public: virtual class GALGAS_gtlData getter_geOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter gtOp public: virtual class GALGAS_gtlData getter_gtOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter int - public: virtual class GALGAS_bigint getter_int (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_bigint getter_int (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter leOp public: virtual class GALGAS_gtlData getter_leOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter lstring - public: virtual class GALGAS_lstring getter_lstring (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_lstring getter_lstring (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter ltOp public: virtual class GALGAS_gtlData getter_ltOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter minusOp - public: virtual class GALGAS_gtlData getter_minusOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_minusOp (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter modOp public: virtual class GALGAS_gtlData getter_modOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter mulOp public: virtual class GALGAS_gtlData getter_mulOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter neqOp public: virtual class GALGAS_gtlData getter_neqOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter notOp - public: virtual class GALGAS_gtlData getter_notOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_notOp (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter orOp public: virtual class GALGAS_gtlData getter_orOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + 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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter plusOp - public: virtual class GALGAS_gtlData getter_plusOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_plusOp (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter slOp public: virtual class GALGAS_gtlData getter_slOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter srOp public: virtual class GALGAS_gtlData getter_srOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter string - public: virtual class GALGAS_string getter_string (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_string (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter subOp public: virtual class GALGAS_gtlData getter_subOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter xorOp public: virtual class GALGAS_gtlData getter_xorOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension method addMyValue public: virtual void method_addMyValue (class GALGAS_objectlist & objectList, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -7085,7 +7289,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -7094,19 +7298,16 @@ 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 ; @@ -7118,21 +7319,21 @@ class GALGAS_gtlInt : public GALGAS_gtlData { //--------------------------------- Property read access public: class GALGAS_bigint readProperty_value (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlInt extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlInt & inOperand) const ; @@ -7155,126 +7356,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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter andOp public: virtual class GALGAS_gtlData getter_andOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter bool - public: virtual class GALGAS_bool getter_bool (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_bool getter_bool (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter desc public: virtual class GALGAS_string getter_desc (const class GALGAS_uint tab, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter divOp public: virtual class GALGAS_gtlData getter_divOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter embeddedType - public: virtual class GALGAS_type getter_embeddedType (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_type getter_embeddedType (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter eqOp public: virtual class GALGAS_gtlData getter_eqOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter float - public: virtual class GALGAS_double getter_float (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_double getter_float (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter geOp public: virtual class GALGAS_gtlData getter_geOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter gtOp public: virtual class GALGAS_gtlData getter_gtOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter int - public: virtual class GALGAS_bigint getter_int (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_bigint getter_int (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter leOp public: virtual class GALGAS_gtlData getter_leOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter lstring - public: virtual class GALGAS_lstring getter_lstring (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_lstring getter_lstring (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter ltOp public: virtual class GALGAS_gtlData getter_ltOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter minusOp - public: virtual class GALGAS_gtlData getter_minusOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_minusOp (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter modOp public: virtual class GALGAS_gtlData getter_modOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter mulOp public: virtual class GALGAS_gtlData getter_mulOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter neqOp public: virtual class GALGAS_gtlData getter_neqOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter notOp - public: virtual class GALGAS_gtlData getter_notOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_notOp (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter orOp public: virtual class GALGAS_gtlData getter_orOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + 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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter plusOp - public: virtual class GALGAS_gtlData getter_plusOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_plusOp (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter slOp public: virtual class GALGAS_gtlData getter_slOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter srOp public: virtual class GALGAS_gtlData getter_srOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter string - public: virtual class GALGAS_string getter_string (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_string (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter subOp public: virtual class GALGAS_gtlData getter_subOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter xorOp public: virtual class GALGAS_gtlData getter_xorOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension method addMyValue public: virtual void method_addMyValue (class GALGAS_objectlist & objectList, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -7293,7 +7494,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -7302,19 +7503,16 @@ 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 ; @@ -7326,21 +7524,21 @@ class GALGAS_gtlList : public GALGAS_gtlData { //--------------------------------- Property read access public: class GALGAS_list readProperty_value (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlList extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlList & inOperand) const ; @@ -7363,15 +7561,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 @@ -7385,25 +7583,25 @@ class GALGAS_list : public AC_GALGAS_list { const class GALGAS_gtlData & in_value COMMA_LOCATION_ARGS) ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_list extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS constructors - public: static class GALGAS_list constructor_emptyList (LOCATION_ARGS) ; +//--------------------------------- GALGAS class functions + public: static class GALGAS_list class_func_emptyList (LOCATION_ARGS) ; - public: static class GALGAS_list constructor_listWithValue (const class GALGAS_gtlData & inOperand0 - COMMA_LOCATION_ARGS) ; + public: static class GALGAS_list class_func_listWithValue (const class GALGAS_gtlData & inOperand0 + COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with expression) public: VIRTUAL_IN_DEBUG void plusAssign_operation (const GALGAS_list inOperand, - class C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with list of field expressions) @@ -7411,65 +7609,65 @@ class GALGAS_list : public AC_GALGAS_list { COMMA_LOCATION_ARGS) ; //--------------------------------- + operator public: VIRTUAL_IN_DEBUG GALGAS_list add_operation (const GALGAS_list & inOperand, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Setters public: VIRTUAL_IN_DEBUG void setter_append (class GALGAS_gtlData constinArgument0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_insertAtIndex (class GALGAS_gtlData constinArgument0, class GALGAS_uint constinArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popFirst (class GALGAS_gtlData & outArgument0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popLast (class GALGAS_gtlData & outArgument0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_removeAtIndex (class GALGAS_gtlData & outArgument0, class GALGAS_uint constinArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setValueAtIndex (class GALGAS_gtlData constinArgument0, class GALGAS_uint constinArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Instance Methods public: VIRTUAL_IN_DEBUG void method_first (class GALGAS_gtlData & outArgument0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void method_last (class GALGAS_gtlData & outArgument0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Class Methods //--------------------------------- Getters public: VIRTUAL_IN_DEBUG class GALGAS_list getter_subListFromIndex (const class GALGAS_uint & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_list getter_subListToIndex (const class GALGAS_uint & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_list getter_subListWithRange (const class GALGAS_range & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlData getter_valueAtIndex (const class GALGAS_uint & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; @@ -7483,9 +7681,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, @@ -7497,135 +7695,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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter andOp public: virtual class GALGAS_gtlData getter_andOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter bool - public: virtual class GALGAS_bool getter_bool (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_bool getter_bool (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter desc public: virtual class GALGAS_string getter_desc (const class GALGAS_uint tab, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter divOp public: virtual class GALGAS_gtlData getter_divOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter embeddedType - public: virtual class GALGAS_type getter_embeddedType (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_type getter_embeddedType (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter eqOp public: virtual class GALGAS_gtlData getter_eqOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter float - public: virtual class GALGAS_double getter_float (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_double getter_float (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter geOp public: virtual class GALGAS_gtlData getter_geOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter gtOp public: virtual class GALGAS_gtlData getter_gtOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter hasItemAtIndex public: virtual class GALGAS_bool getter_hasItemAtIndex (const class GALGAS_gtlInt index, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter int - public: virtual class GALGAS_bigint getter_int (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_bigint getter_int (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter leOp public: virtual class GALGAS_gtlData getter_leOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter lstring - public: virtual class GALGAS_lstring getter_lstring (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_lstring getter_lstring (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter ltOp public: virtual class GALGAS_gtlData getter_ltOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter minusOp - public: virtual class GALGAS_gtlData getter_minusOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_minusOp (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter modOp public: virtual class GALGAS_gtlData getter_modOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter mulOp public: virtual class GALGAS_gtlData getter_mulOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter neqOp public: virtual class GALGAS_gtlData getter_neqOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter notOp - public: virtual class GALGAS_gtlData getter_notOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_notOp (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter orOp public: virtual class GALGAS_gtlData getter_orOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + 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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter plusOp - public: virtual class GALGAS_gtlData getter_plusOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_plusOp (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter slOp public: virtual class GALGAS_gtlData getter_slOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter srOp public: virtual class GALGAS_gtlData getter_srOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter string - public: virtual class GALGAS_string getter_string (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_string (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter subOp public: virtual class GALGAS_gtlData getter_subOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter xorOp public: virtual class GALGAS_gtlData getter_xorOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension method addMyValue public: virtual void method_addMyValue (class GALGAS_objectlist & objectList, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Extension method itemAtIndex public: virtual void method_itemAtIndex (class GALGAS_gtlData & result, const class GALGAS_gtlInt index, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -7644,7 +7842,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -7653,19 +7851,16 @@ 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 ; @@ -7677,21 +7872,21 @@ class GALGAS_gtlMap : public GALGAS_gtlData { //--------------------------------- Property read access public: class GALGAS_gtlVarMap readProperty_value (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlMap extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlMap & inOperand) const ; @@ -7714,135 +7909,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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter andOp public: virtual class GALGAS_gtlData getter_andOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter bool - public: virtual class GALGAS_bool getter_bool (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_bool getter_bool (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter desc public: virtual class GALGAS_string getter_desc (const class GALGAS_uint tab, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter divOp public: virtual class GALGAS_gtlData getter_divOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter embeddedType - public: virtual class GALGAS_type getter_embeddedType (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_type getter_embeddedType (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter eqOp public: virtual class GALGAS_gtlData getter_eqOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter float - public: virtual class GALGAS_double getter_float (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_double getter_float (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter geOp public: virtual class GALGAS_gtlData getter_geOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter gtOp public: virtual class GALGAS_gtlData getter_gtOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter hasMapItem public: virtual class GALGAS_bool getter_hasMapItem (const class GALGAS_lstring name, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter int - public: virtual class GALGAS_bigint getter_int (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_bigint getter_int (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter leOp public: virtual class GALGAS_gtlData getter_leOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter lstring - public: virtual class GALGAS_lstring getter_lstring (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_lstring getter_lstring (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter ltOp public: virtual class GALGAS_gtlData getter_ltOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter minusOp - public: virtual class GALGAS_gtlData getter_minusOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_minusOp (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter modOp public: virtual class GALGAS_gtlData getter_modOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter mulOp public: virtual class GALGAS_gtlData getter_mulOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter neqOp public: virtual class GALGAS_gtlData getter_neqOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter notOp - public: virtual class GALGAS_gtlData getter_notOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_notOp (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter orOp public: virtual class GALGAS_gtlData getter_orOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + 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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter plusOp - public: virtual class GALGAS_gtlData getter_plusOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_plusOp (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter slOp public: virtual class GALGAS_gtlData getter_slOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter srOp public: virtual class GALGAS_gtlData getter_srOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter string - public: virtual class GALGAS_string getter_string (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_string (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter subOp public: virtual class GALGAS_gtlData getter_subOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter xorOp public: virtual class GALGAS_gtlData getter_xorOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension method addMyValue public: virtual void method_addMyValue (class GALGAS_objectlist & objectList, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Extension method mapItem public: virtual void method_mapItem (const class GALGAS_lstring name, class GALGAS_gtlData & result, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -7861,7 +8056,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -7870,19 +8065,16 @@ 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 ; @@ -7894,21 +8086,21 @@ class GALGAS_gtlSet : public GALGAS_gtlData { //--------------------------------- Property read access public: class GALGAS_lstringset readProperty_value (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlSet extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlSet & inOperand) const ; @@ -7931,23 +8123,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 @@ -7957,51 +8149,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 generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_lstringset extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS constructors - public: static class GALGAS_lstringset constructor_emptyMap (LOCATION_ARGS) ; +//--------------------------------- GALGAS class functions + public: static class GALGAS_lstringset class_func_emptyMap (LOCATION_ARGS) ; - public: static class GALGAS_lstringset constructor_mapWithMapToOverride (const class GALGAS_lstringset & inOperand0 - COMMA_LOCATION_ARGS) ; + public: static class GALGAS_lstringset class_func_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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- + operator public: VIRTUAL_IN_DEBUG GALGAS_lstringset add_operation (const GALGAS_lstringset & inOperand, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Setters public: VIRTUAL_IN_DEBUG void setter_del (class GALGAS_lstring constinArgument0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_put (class GALGAS_lstring constinArgument0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Instance Methods public: VIRTUAL_IN_DEBUG void method_get (class GALGAS_lstring constinArgument0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Class Methods //--------------------------------- Getters - public: VIRTUAL_IN_DEBUG class GALGAS_lstringset getter_overriddenMap (C_Compiler * inCompiler + public: VIRTUAL_IN_DEBUG class GALGAS_lstringset getter_overriddenMap (Compiler * inCompiler COMMA_LOCATION_ARGS) const ; @@ -8011,7 +8203,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 (C_Compiler * inCompiler, + public: VIRTUAL_IN_DEBUG cMapElement_lstringset * readWriteAccessForWithInstruction (Compiler * inCompiler, const GALGAS_string & inKey COMMA_LOCATION_ARGS) ; @@ -8021,9 +8213,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, @@ -8035,15 +8227,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 @@ -8062,125 +8254,125 @@ class cMapElement_lstringset : public cMapElement { public: virtual cMapElement * copy (void) ; //--- Description - public: virtual void description (C_String & ioString, const int32_t inIndentation) const ; + public: virtual void description (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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter andOp public: virtual class GALGAS_gtlData getter_andOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter bool - public: virtual class GALGAS_bool getter_bool (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_bool getter_bool (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter desc public: virtual class GALGAS_string getter_desc (const class GALGAS_uint tab, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter divOp public: virtual class GALGAS_gtlData getter_divOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter embeddedType - public: virtual class GALGAS_type getter_embeddedType (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_type getter_embeddedType (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter eqOp public: virtual class GALGAS_gtlData getter_eqOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter float - public: virtual class GALGAS_double getter_float (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_double getter_float (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter geOp public: virtual class GALGAS_gtlData getter_geOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter gtOp public: virtual class GALGAS_gtlData getter_gtOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter int - public: virtual class GALGAS_bigint getter_int (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_bigint getter_int (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter leOp public: virtual class GALGAS_gtlData getter_leOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter lstring - public: virtual class GALGAS_lstring getter_lstring (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_lstring getter_lstring (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter ltOp public: virtual class GALGAS_gtlData getter_ltOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter minusOp - public: virtual class GALGAS_gtlData getter_minusOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_minusOp (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter modOp public: virtual class GALGAS_gtlData getter_modOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter mulOp public: virtual class GALGAS_gtlData getter_mulOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter neqOp public: virtual class GALGAS_gtlData getter_neqOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter notOp - public: virtual class GALGAS_gtlData getter_notOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_notOp (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter orOp public: virtual class GALGAS_gtlData getter_orOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + 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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter plusOp - public: virtual class GALGAS_gtlData getter_plusOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_plusOp (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter slOp public: virtual class GALGAS_gtlData getter_slOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter srOp public: virtual class GALGAS_gtlData getter_srOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter string - public: virtual class GALGAS_string getter_string (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_string (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter subOp public: virtual class GALGAS_gtlData getter_subOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter xorOp public: virtual class GALGAS_gtlData getter_xorOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension method addMyValue public: virtual void method_addMyValue (class GALGAS_objectlist & objectList, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -8199,7 +8391,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -8208,19 +8400,16 @@ 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 ; @@ -8232,21 +8421,21 @@ class GALGAS_gtlString : public GALGAS_gtlData { //--------------------------------- Property read access public: class GALGAS_string readProperty_value (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlString extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlString & inOperand) const ; @@ -8269,126 +8458,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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter andOp public: virtual class GALGAS_gtlData getter_andOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter bool - public: virtual class GALGAS_bool getter_bool (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_bool getter_bool (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter desc public: virtual class GALGAS_string getter_desc (const class GALGAS_uint tab, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter divOp public: virtual class GALGAS_gtlData getter_divOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter embeddedType - public: virtual class GALGAS_type getter_embeddedType (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_type getter_embeddedType (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter eqOp public: virtual class GALGAS_gtlData getter_eqOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter float - public: virtual class GALGAS_double getter_float (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_double getter_float (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter geOp public: virtual class GALGAS_gtlData getter_geOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter gtOp public: virtual class GALGAS_gtlData getter_gtOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter int - public: virtual class GALGAS_bigint getter_int (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_bigint getter_int (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter leOp public: virtual class GALGAS_gtlData getter_leOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter lstring - public: virtual class GALGAS_lstring getter_lstring (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_lstring getter_lstring (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter ltOp public: virtual class GALGAS_gtlData getter_ltOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter minusOp - public: virtual class GALGAS_gtlData getter_minusOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_minusOp (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter modOp public: virtual class GALGAS_gtlData getter_modOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter mulOp public: virtual class GALGAS_gtlData getter_mulOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter neqOp public: virtual class GALGAS_gtlData getter_neqOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter notOp - public: virtual class GALGAS_gtlData getter_notOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_notOp (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter orOp public: virtual class GALGAS_gtlData getter_orOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + 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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter plusOp - public: virtual class GALGAS_gtlData getter_plusOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_plusOp (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter slOp public: virtual class GALGAS_gtlData getter_slOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter srOp public: virtual class GALGAS_gtlData getter_srOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter string - public: virtual class GALGAS_string getter_string (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_string (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter subOp public: virtual class GALGAS_gtlData getter_subOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter xorOp public: virtual class GALGAS_gtlData getter_xorOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension method addMyValue public: virtual void method_addMyValue (class GALGAS_objectlist & objectList, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -8407,7 +8596,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -8416,19 +8605,16 @@ 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 ; @@ -8440,21 +8626,21 @@ class GALGAS_gtlStruct : public GALGAS_gtlData { //--------------------------------- Property read access public: class GALGAS_gtlVarMap readProperty_value (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlStruct extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlStruct & inOperand) const ; @@ -8477,146 +8663,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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter andOp public: virtual class GALGAS_gtlData getter_andOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter bool - public: virtual class GALGAS_bool getter_bool (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_bool getter_bool (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter desc public: virtual class GALGAS_string getter_desc (const class GALGAS_uint tab, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter divOp public: virtual class GALGAS_gtlData getter_divOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter embeddedType - public: virtual class GALGAS_type getter_embeddedType (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_type getter_embeddedType (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter eqOp public: virtual class GALGAS_gtlData getter_eqOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter float - public: virtual class GALGAS_double getter_float (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_double getter_float (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter geOp public: virtual class GALGAS_gtlData getter_geOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter gtOp public: virtual class GALGAS_gtlData getter_gtOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter hasStructField public: virtual class GALGAS_bool getter_hasStructField (const class GALGAS_lstring name, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter int - public: virtual class GALGAS_bigint getter_int (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_bigint getter_int (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter leOp public: virtual class GALGAS_gtlData getter_leOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter lstring - public: virtual class GALGAS_lstring getter_lstring (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_lstring getter_lstring (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter ltOp public: virtual class GALGAS_gtlData getter_ltOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter minusOp - public: virtual class GALGAS_gtlData getter_minusOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_minusOp (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter modOp public: virtual class GALGAS_gtlData getter_modOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter mulOp public: virtual class GALGAS_gtlData getter_mulOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter neqOp public: virtual class GALGAS_gtlData getter_neqOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter notOp - public: virtual class GALGAS_gtlData getter_notOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_notOp (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter orOp public: virtual class GALGAS_gtlData getter_orOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter overriddenMap - public: virtual class GALGAS_gtlStruct getter_overriddenMap (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlStruct getter_overriddenMap (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter overrideMap - public: virtual class GALGAS_gtlStruct getter_overrideMap (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlStruct getter_overrideMap (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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter plusOp - public: virtual class GALGAS_gtlData getter_plusOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_plusOp (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter resultField public: virtual class GALGAS_gtlData getter_resultField (const class GALGAS_lstring name, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter slOp public: virtual class GALGAS_gtlData getter_slOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter srOp public: virtual class GALGAS_gtlData getter_srOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter string - public: virtual class GALGAS_string getter_string (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_string (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter subOp public: virtual class GALGAS_gtlData getter_subOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter xorOp public: virtual class GALGAS_gtlData getter_xorOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension method addMyValue public: virtual void method_addMyValue (class GALGAS_objectlist & objectList, - C_Compiler * COMMA_LOCATION_ARGS) override ; + 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, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -8635,7 +8821,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -8644,11 +8830,11 @@ class cPtr_gtlStruct : public cPtr_gtlData { } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 1: @gtlType value class // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_gtlType : public GALGAS_gtlData { //--------------------------------- Default constructor @@ -8665,21 +8851,21 @@ class GALGAS_gtlType : public GALGAS_gtlData { //--------------------------------- Property read access public: class GALGAS_type readProperty_type (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlType extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlType & inOperand) const ; @@ -8702,126 +8888,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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter andOp public: virtual class GALGAS_gtlData getter_andOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter bool - public: virtual class GALGAS_bool getter_bool (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_bool getter_bool (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter desc public: virtual class GALGAS_string getter_desc (const class GALGAS_uint tab, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter divOp public: virtual class GALGAS_gtlData getter_divOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter embeddedType - public: virtual class GALGAS_type getter_embeddedType (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_type getter_embeddedType (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter eqOp public: virtual class GALGAS_gtlData getter_eqOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter float - public: virtual class GALGAS_double getter_float (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_double getter_float (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter geOp public: virtual class GALGAS_gtlData getter_geOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter gtOp public: virtual class GALGAS_gtlData getter_gtOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter int - public: virtual class GALGAS_bigint getter_int (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_bigint getter_int (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter leOp public: virtual class GALGAS_gtlData getter_leOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter lstring - public: virtual class GALGAS_lstring getter_lstring (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_lstring getter_lstring (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter ltOp public: virtual class GALGAS_gtlData getter_ltOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter minusOp - public: virtual class GALGAS_gtlData getter_minusOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_minusOp (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter modOp public: virtual class GALGAS_gtlData getter_modOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter mulOp public: virtual class GALGAS_gtlData getter_mulOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter neqOp public: virtual class GALGAS_gtlData getter_neqOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter notOp - public: virtual class GALGAS_gtlData getter_notOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_notOp (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter orOp public: virtual class GALGAS_gtlData getter_orOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + 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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter plusOp - public: virtual class GALGAS_gtlData getter_plusOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_plusOp (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter slOp public: virtual class GALGAS_gtlData getter_slOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter srOp public: virtual class GALGAS_gtlData getter_srOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter string - public: virtual class GALGAS_string getter_string (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_string (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter subOp public: virtual class GALGAS_gtlData getter_subOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter xorOp public: virtual class GALGAS_gtlData getter_xorOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension method addMyValue public: virtual void method_addMyValue (class GALGAS_objectlist & objectList, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -8840,7 +9026,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -8849,19 +9035,16 @@ 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 ; @@ -8871,20 +9054,20 @@ class GALGAS_gtlUnconstructed : public GALGAS_gtlData { public: GALGAS_gtlUnconstructed (const cPtr_gtlUnconstructed * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlUnconstructed extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- GALGAS class functions + public: static class GALGAS_gtlUnconstructed class_func_new (const class GALGAS_location & inOperand0, + const class GALGAS_lstring & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlUnconstructed & inOperand) const ; @@ -8904,126 +9087,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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter andOp public: virtual class GALGAS_gtlData getter_andOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter bool - public: virtual class GALGAS_bool getter_bool (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_bool getter_bool (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter desc public: virtual class GALGAS_string getter_desc (const class GALGAS_uint tab, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter divOp public: virtual class GALGAS_gtlData getter_divOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter embeddedType - public: virtual class GALGAS_type getter_embeddedType (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_type getter_embeddedType (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter eqOp public: virtual class GALGAS_gtlData getter_eqOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter float - public: virtual class GALGAS_double getter_float (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_double getter_float (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter geOp public: virtual class GALGAS_gtlData getter_geOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter gtOp public: virtual class GALGAS_gtlData getter_gtOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter int - public: virtual class GALGAS_bigint getter_int (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_bigint getter_int (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter leOp public: virtual class GALGAS_gtlData getter_leOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter lstring - public: virtual class GALGAS_lstring getter_lstring (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_lstring getter_lstring (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter ltOp public: virtual class GALGAS_gtlData getter_ltOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter minusOp - public: virtual class GALGAS_gtlData getter_minusOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_minusOp (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter modOp public: virtual class GALGAS_gtlData getter_modOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter mulOp public: virtual class GALGAS_gtlData getter_mulOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter neqOp public: virtual class GALGAS_gtlData getter_neqOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter notOp - public: virtual class GALGAS_gtlData getter_notOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_notOp (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter orOp public: virtual class GALGAS_gtlData getter_orOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + 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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter plusOp - public: virtual class GALGAS_gtlData getter_plusOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_plusOp (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter slOp public: virtual class GALGAS_gtlData getter_slOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter srOp public: virtual class GALGAS_gtlData getter_srOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter string - public: virtual class GALGAS_string getter_string (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_string (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter subOp public: virtual class GALGAS_gtlData getter_subOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter xorOp public: virtual class GALGAS_gtlData getter_xorOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension method addMyValue public: virtual void method_addMyValue (class GALGAS_objectlist & objectList, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -9038,7 +9221,7 @@ class cPtr_gtlUnconstructed : public cPtr_gtlData { //--- Attribute accessors //--- Description - public: virtual void description (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -9047,11 +9230,11 @@ class cPtr_gtlUnconstructed : public cPtr_gtlData { } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 1: @gtlTypedArgumentList list // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_gtlTypedArgumentList : public AC_GALGAS_list { //--------------------------------- Default constructor @@ -9065,25 +9248,25 @@ class GALGAS_gtlTypedArgumentList : public AC_GALGAS_list { const class GALGAS_type & in_type COMMA_LOCATION_ARGS) ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlTypedArgumentList extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS constructors - public: static class GALGAS_gtlTypedArgumentList constructor_emptyList (LOCATION_ARGS) ; +//--------------------------------- GALGAS class functions + public: static class GALGAS_gtlTypedArgumentList class_func_emptyList (LOCATION_ARGS) ; - public: static class GALGAS_gtlTypedArgumentList constructor_listWithValue (const class GALGAS_type & inOperand0 - COMMA_LOCATION_ARGS) ; + public: static class GALGAS_gtlTypedArgumentList class_func_listWithValue (const class GALGAS_type & inOperand0 + COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with expression) public: VIRTUAL_IN_DEBUG void plusAssign_operation (const GALGAS_gtlTypedArgumentList inOperand, - class C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with list of field expressions) @@ -9091,65 +9274,65 @@ class GALGAS_gtlTypedArgumentList : public AC_GALGAS_list { COMMA_LOCATION_ARGS) ; //--------------------------------- + operator public: VIRTUAL_IN_DEBUG GALGAS_gtlTypedArgumentList add_operation (const GALGAS_gtlTypedArgumentList & inOperand, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Setters public: VIRTUAL_IN_DEBUG void setter_append (class GALGAS_type constinArgument0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_insertAtIndex (class GALGAS_type constinArgument0, class GALGAS_uint constinArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popFirst (class GALGAS_type & outArgument0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popLast (class GALGAS_type & outArgument0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_removeAtIndex (class GALGAS_type & outArgument0, class GALGAS_uint constinArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setTypeAtIndex (class GALGAS_type constinArgument0, class GALGAS_uint constinArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Instance Methods public: VIRTUAL_IN_DEBUG void method_first (class GALGAS_type & outArgument0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void method_last (class GALGAS_type & outArgument0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Class Methods //--------------------------------- Getters public: VIRTUAL_IN_DEBUG class GALGAS_gtlTypedArgumentList getter_subListFromIndex (const class GALGAS_uint & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlTypedArgumentList getter_subListToIndex (const class GALGAS_uint & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlTypedArgumentList getter_subListWithRange (const class GALGAS_range & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_type getter_typeAtIndex (const class GALGAS_uint & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; @@ -9163,9 +9346,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, @@ -9177,15 +9360,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 @@ -9212,23 +9395,24 @@ class GALGAS_gtlTypedArgumentList_2D_element : public AC_GALGAS_root { //--------------------------------- Native constructor public: GALGAS_gtlTypedArgumentList_2D_element (const GALGAS_type & in_type) ; -//-- Start of generic part --* +//-- Start of type 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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS constructors - public: static class GALGAS_gtlTypedArgumentList_2D_element constructor_new (const class GALGAS_type & inOperand0 - 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) ; //--------------------------------- Implementation of getter 'description' - public: VIRTUAL_IN_DEBUG void description (C_String & ioString, - const int32_t inIndentation) const override ; + public: VIRTUAL_IN_DEBUG void description (String & ioString, + const int32_t inIndentation) const override ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlTypedArgumentList_2D_element & inOperand) const ; @@ -9247,15 +9431,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 @@ -9282,23 +9466,24 @@ class GALGAS_list_2D_element : public AC_GALGAS_root { //--------------------------------- Native constructor public: GALGAS_list_2D_element (const GALGAS_gtlData & in_value) ; -//-- Start of generic part --* +//-- Start of type 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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS constructors - public: static class GALGAS_list_2D_element constructor_new (const class GALGAS_gtlData & inOperand0 - 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) ; //--------------------------------- Implementation of getter 'description' - public: VIRTUAL_IN_DEBUG void description (C_String & ioString, - const int32_t inIndentation) const override ; + public: VIRTUAL_IN_DEBUG void description (String & ioString, + const int32_t inIndentation) const override ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_list_2D_element & inOperand) const ; @@ -9317,15 +9502,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 @@ -9338,9 +9523,6 @@ 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) ; @@ -9355,23 +9537,24 @@ class GALGAS_lstringset_2D_element : public AC_GALGAS_root { //--------------------------------- Native constructor public: GALGAS_lstringset_2D_element (const GALGAS_lstring & in_lkey) ; -//-- Start of generic part --* +//-- Start of type 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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS constructors - public: static class GALGAS_lstringset_2D_element constructor_new (const class GALGAS_lstring & inOperand0 - 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) ; //--------------------------------- Implementation of getter 'description' - public: VIRTUAL_IN_DEBUG void description (C_String & ioString, - const int32_t inIndentation) const override ; + public: VIRTUAL_IN_DEBUG void description (String & ioString, + const int32_t inIndentation) const override ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_lstringset_2D_element & inOperand) const ; @@ -9390,15 +9573,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 @@ -9445,25 +9628,26 @@ class GALGAS_gtlArgumentList_2D_element : public AC_GALGAS_root { const GALGAS_type & in_type, const GALGAS_lstring & in_name) ; -//-- Start of generic part --* +//-- Start of type 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, - C_Compiler * inCompiler + 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) ; +//--------------------------------- 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) ; //--------------------------------- Implementation of getter 'description' - public: VIRTUAL_IN_DEBUG void description (C_String & ioString, - const int32_t inIndentation) const override ; + public: VIRTUAL_IN_DEBUG void description (String & ioString, + const int32_t inIndentation) const override ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlArgumentList_2D_element & inOperand) const ; @@ -9482,23 +9666,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 @@ -9508,59 +9692,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 generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlProcMap extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS constructors - public: static class GALGAS_gtlProcMap constructor_emptyMap (LOCATION_ARGS) ; +//--------------------------------- GALGAS class functions + public: static class GALGAS_gtlProcMap class_func_emptyMap (LOCATION_ARGS) ; - public: static class GALGAS_gtlProcMap constructor_mapWithMapToOverride (const class GALGAS_gtlProcMap & inOperand0 - COMMA_LOCATION_ARGS) ; + public: static class GALGAS_gtlProcMap class_func_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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- + operator public: VIRTUAL_IN_DEBUG GALGAS_gtlProcMap add_operation (const GALGAS_gtlProcMap & inOperand, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Setters public: VIRTUAL_IN_DEBUG void setter_put (class GALGAS_lstring constinArgument0, class GALGAS_gtlProcedure constinArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setProcedureForKey (class GALGAS_gtlProcedure constinArgument0, class GALGAS_string constinArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Instance Methods public: VIRTUAL_IN_DEBUG void method_get (class GALGAS_lstring constinArgument0, class GALGAS_gtlProcedure & outArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Class Methods //--------------------------------- Getters - public: VIRTUAL_IN_DEBUG class GALGAS_gtlProcMap getter_overriddenMap (C_Compiler * inCompiler + public: VIRTUAL_IN_DEBUG class GALGAS_gtlProcMap getter_overriddenMap (Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlProcedure getter_procedureForKey (const class GALGAS_string & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; @@ -9571,7 +9755,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 (C_Compiler * inCompiler, + public: VIRTUAL_IN_DEBUG cMapElement_gtlProcMap * readWriteAccessForWithInstruction (Compiler * inCompiler, const GALGAS_string & inKey COMMA_LOCATION_ARGS) ; @@ -9581,9 +9765,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, @@ -9596,23 +9780,20 @@ 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 ; @@ -9622,22 +9803,22 @@ class GALGAS_gtlProcedure : public GALGAS_gtlExecutableEntity { public: GALGAS_gtlProcedure (const cPtr_gtlProcedure * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlProcedure extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlProcedure & inOperand) const ; @@ -9657,15 +9838,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 @@ -9686,14 +9867,14 @@ class cMapElement_gtlProcMap : public cMapElement { public: virtual cMapElement * copy (void) ; //--- Description - public: virtual void description (C_String & ioString, const int32_t inIndentation) const ; + public: virtual void description (String & ioString, const int32_t inIndentation) const ; } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 1: @gtlProcMap_2D_element struct // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_gtlProcMap_2D_element : public AC_GALGAS_root { //--------------------------------- Properties @@ -9711,9 +9892,6 @@ 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) ; @@ -9733,24 +9911,25 @@ 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 generic part --* +//-- Start of type 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, - C_Compiler * inCompiler + 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) ; +//--------------------------------- 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) ; //--------------------------------- Implementation of getter 'description' - public: VIRTUAL_IN_DEBUG void description (C_String & ioString, - const int32_t inIndentation) const override ; + public: VIRTUAL_IN_DEBUG void description (String & ioString, + const int32_t inIndentation) const override ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlProcMap_2D_element & inOperand) const ; @@ -9769,15 +9948,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 @@ -9796,14 +9975,14 @@ class GALGAS_gtlBinaryExpression : public GALGAS_gtlExpression { public: class GALGAS_gtlExpression readProperty_rSon (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlBinaryExpression extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison @@ -9830,15 +10009,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 { @@ -9859,7 +10038,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override = 0 ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override = 0 ; @@ -9868,11 +10047,11 @@ class cPtr_gtlBinaryExpression : public cPtr_gtlExpression { } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 1: @gtlAddExpression value class // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_gtlAddExpression : public GALGAS_gtlBinaryExpression { //--------------------------------- Default constructor @@ -9887,21 +10066,21 @@ class GALGAS_gtlAddExpression : public GALGAS_gtlBinaryExpression { public: GALGAS_gtlAddExpression (const cPtr_gtlAddExpression * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlAddExpression extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlAddExpression & inOperand) const ; @@ -9921,15 +10100,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 { @@ -9937,10 +10116,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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -9956,7 +10135,7 @@ class cPtr_gtlAddExpression : public cPtr_gtlBinaryExpression { //--- Attribute accessors //--- Description - public: virtual void description (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -9965,19 +10144,16 @@ 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 ; @@ -9987,19 +10163,19 @@ class GALGAS_gtlAllVarsRef : public GALGAS_gtlExpression { public: GALGAS_gtlAllVarsRef (const cPtr_gtlAllVarsRef * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlAllVarsRef extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS constructors - public: static class GALGAS_gtlAllVarsRef constructor_new (const class GALGAS_location & inOperand0 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS class functions + public: static class GALGAS_gtlAllVarsRef class_func_new (const class GALGAS_location & inOperand0 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlAllVarsRef & inOperand) const ; @@ -10019,15 +10195,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 { @@ -10035,10 +10211,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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -10052,7 +10228,7 @@ class cPtr_gtlAllVarsRef : public cPtr_gtlExpression { //--- Attribute accessors //--- Description - public: virtual void description (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -10061,11 +10237,11 @@ class cPtr_gtlAllVarsRef : public cPtr_gtlExpression { } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 1: @gtlAndExpression value class // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_gtlAndExpression : public GALGAS_gtlBinaryExpression { //--------------------------------- Default constructor @@ -10080,21 +10256,21 @@ class GALGAS_gtlAndExpression : public GALGAS_gtlBinaryExpression { public: GALGAS_gtlAndExpression (const cPtr_gtlAndExpression * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlAndExpression extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlAndExpression & inOperand) const ; @@ -10114,15 +10290,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 { @@ -10130,10 +10306,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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -10149,7 +10325,7 @@ class cPtr_gtlAndExpression : public cPtr_gtlBinaryExpression { //--- Attribute accessors //--- Description - public: virtual void description (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -10158,11 +10334,11 @@ class cPtr_gtlAndExpression : public cPtr_gtlBinaryExpression { } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 1: @gtlDivideExpression value class // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_gtlDivideExpression : public GALGAS_gtlBinaryExpression { //--------------------------------- Default constructor @@ -10177,21 +10353,21 @@ class GALGAS_gtlDivideExpression : public GALGAS_gtlBinaryExpression { public: GALGAS_gtlDivideExpression (const cPtr_gtlDivideExpression * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlDivideExpression extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlDivideExpression & inOperand) const ; @@ -10211,15 +10387,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 { @@ -10227,10 +10403,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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -10246,7 +10422,7 @@ class cPtr_gtlDivideExpression : public cPtr_gtlBinaryExpression { //--- Attribute accessors //--- Description - public: virtual void description (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -10255,11 +10431,11 @@ class cPtr_gtlDivideExpression : public cPtr_gtlBinaryExpression { } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 1: @gtlEqualExpression value class // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_gtlEqualExpression : public GALGAS_gtlBinaryExpression { //--------------------------------- Default constructor @@ -10274,21 +10450,21 @@ class GALGAS_gtlEqualExpression : public GALGAS_gtlBinaryExpression { public: GALGAS_gtlEqualExpression (const cPtr_gtlEqualExpression * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlEqualExpression extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlEqualExpression & inOperand) const ; @@ -10308,15 +10484,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 { @@ -10324,10 +10500,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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -10343,7 +10519,7 @@ class cPtr_gtlEqualExpression : public cPtr_gtlBinaryExpression { //--- Attribute accessors //--- Description - public: virtual void description (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -10352,19 +10528,16 @@ 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 ; @@ -10376,20 +10549,20 @@ class GALGAS_gtlExistsExpression : public GALGAS_gtlExpression { //--------------------------------- Property read access public: class GALGAS_gtlVarPath readProperty_variable (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlExistsExpression extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- GALGAS class functions + public: static class GALGAS_gtlExistsExpression class_func_new (const class GALGAS_location & inOperand0, + const class GALGAS_gtlVarPath & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlExistsExpression & inOperand) const ; @@ -10412,15 +10585,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 { @@ -10428,10 +10601,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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -10449,7 +10622,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -10458,11 +10631,11 @@ class cPtr_gtlExistsExpression : public cPtr_gtlExpression { } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 1: @gtlExistsDefaultExpression value class // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_gtlExistsDefaultExpression : public GALGAS_gtlExistsExpression { //--------------------------------- Default constructor @@ -10479,21 +10652,21 @@ class GALGAS_gtlExistsDefaultExpression : public GALGAS_gtlExistsExpression { //--------------------------------- Property read access public: class GALGAS_gtlExpression readProperty_defaultValue (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlExistsDefaultExpression extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlExistsDefaultExpression & inOperand) const ; @@ -10516,15 +10689,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 { @@ -10532,10 +10705,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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -10554,7 +10727,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -10563,11 +10736,11 @@ class cPtr_gtlExistsDefaultExpression : public cPtr_gtlExistsExpression { } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 1: @gtlExpr value class // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_gtlExpr : public GALGAS_gtlData { //--------------------------------- Default constructor @@ -10584,21 +10757,21 @@ class GALGAS_gtlExpr : public GALGAS_gtlData { //--------------------------------- Property read access public: class GALGAS_gtlExpression readProperty_value (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlExpr extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlExpr & inOperand) const ; @@ -10621,126 +10794,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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter andOp public: virtual class GALGAS_gtlData getter_andOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter bool - public: virtual class GALGAS_bool getter_bool (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_bool getter_bool (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter desc public: virtual class GALGAS_string getter_desc (const class GALGAS_uint tab, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter divOp public: virtual class GALGAS_gtlData getter_divOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter embeddedType - public: virtual class GALGAS_type getter_embeddedType (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_type getter_embeddedType (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter eqOp public: virtual class GALGAS_gtlData getter_eqOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter float - public: virtual class GALGAS_double getter_float (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_double getter_float (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter geOp public: virtual class GALGAS_gtlData getter_geOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter gtOp public: virtual class GALGAS_gtlData getter_gtOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter int - public: virtual class GALGAS_bigint getter_int (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_bigint getter_int (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter leOp public: virtual class GALGAS_gtlData getter_leOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter lstring - public: virtual class GALGAS_lstring getter_lstring (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_lstring getter_lstring (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter ltOp public: virtual class GALGAS_gtlData getter_ltOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter minusOp - public: virtual class GALGAS_gtlData getter_minusOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_minusOp (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter modOp public: virtual class GALGAS_gtlData getter_modOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter mulOp public: virtual class GALGAS_gtlData getter_mulOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter neqOp public: virtual class GALGAS_gtlData getter_neqOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter notOp - public: virtual class GALGAS_gtlData getter_notOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_notOp (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter orOp public: virtual class GALGAS_gtlData getter_orOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + 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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter plusOp - public: virtual class GALGAS_gtlData getter_plusOp (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_gtlData getter_plusOp (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter slOp public: virtual class GALGAS_gtlData getter_slOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter srOp public: virtual class GALGAS_gtlData getter_srOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter string - public: virtual class GALGAS_string getter_string (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_string (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter subOp public: virtual class GALGAS_gtlData getter_subOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter xorOp public: virtual class GALGAS_gtlData getter_xorOp (const class GALGAS_gtlData right, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension method addMyValue public: virtual void method_addMyValue (class GALGAS_objectlist & objectList, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -10759,7 +10932,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -10768,19 +10941,16 @@ 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 ; @@ -10794,21 +10964,21 @@ class GALGAS_gtlFunctionCallExpression : public GALGAS_gtlExpression { public: class GALGAS_gtlExpressionList readProperty_functionArguments (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlFunctionCallExpression extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlFunctionCallExpression & inOperand) const ; @@ -10834,15 +11004,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 { @@ -10850,10 +11020,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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -10875,7 +11045,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -10884,11 +11054,11 @@ class cPtr_gtlFunctionCallExpression : public cPtr_gtlExpression { } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 1: @gtlGetterCallExpression value class // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_gtlGetterCallExpression : public GALGAS_gtlExpression { //--------------------------------- Default constructor @@ -10909,22 +11079,22 @@ class GALGAS_gtlGetterCallExpression : public GALGAS_gtlExpression { public: class GALGAS_gtlExpressionList readProperty_arguments (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlGetterCallExpression extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlGetterCallExpression & inOperand) const ; @@ -10953,15 +11123,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 { @@ -10969,10 +11139,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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -10998,7 +11168,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -11007,11 +11177,11 @@ class cPtr_gtlGetterCallExpression : public cPtr_gtlExpression { } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 1: @gtlGreaterOrEqualExpression value class // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_gtlGreaterOrEqualExpression : public GALGAS_gtlBinaryExpression { //--------------------------------- Default constructor @@ -11026,21 +11196,21 @@ class GALGAS_gtlGreaterOrEqualExpression : public GALGAS_gtlBinaryExpression { public: GALGAS_gtlGreaterOrEqualExpression (const cPtr_gtlGreaterOrEqualExpression * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlGreaterOrEqualExpression extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlGreaterOrEqualExpression & inOperand) const ; @@ -11060,15 +11230,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 { @@ -11076,10 +11246,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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -11095,7 +11265,7 @@ class cPtr_gtlGreaterOrEqualExpression : public cPtr_gtlBinaryExpression { //--- Attribute accessors //--- Description - public: virtual void description (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -11104,11 +11274,11 @@ class cPtr_gtlGreaterOrEqualExpression : public cPtr_gtlBinaryExpression { } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 1: @gtlGreaterThanExpression value class // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_gtlGreaterThanExpression : public GALGAS_gtlBinaryExpression { //--------------------------------- Default constructor @@ -11123,21 +11293,21 @@ class GALGAS_gtlGreaterThanExpression : public GALGAS_gtlBinaryExpression { public: GALGAS_gtlGreaterThanExpression (const cPtr_gtlGreaterThanExpression * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlGreaterThanExpression extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlGreaterThanExpression & inOperand) const ; @@ -11157,15 +11327,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 { @@ -11173,10 +11343,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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -11192,7 +11362,7 @@ class cPtr_gtlGreaterThanExpression : public cPtr_gtlBinaryExpression { //--- Attribute accessors //--- Description - public: virtual void description (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -11201,11 +11371,11 @@ class cPtr_gtlGreaterThanExpression : public cPtr_gtlBinaryExpression { } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 1: @gtlListOfExpression value class // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_gtlListOfExpression : public GALGAS_gtlExpression { //--------------------------------- Default constructor @@ -11222,20 +11392,20 @@ class GALGAS_gtlListOfExpression : public GALGAS_gtlExpression { //--------------------------------- Property read access public: class GALGAS_gtlExpression readProperty_expression (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlListOfExpression extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- GALGAS class functions + public: static class GALGAS_gtlListOfExpression class_func_new (const class GALGAS_location & inOperand0, + const class GALGAS_gtlExpression & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlListOfExpression & inOperand) const ; @@ -11258,15 +11428,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 { @@ -11274,10 +11444,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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -11295,7 +11465,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -11304,19 +11474,16 @@ 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 ; @@ -11328,20 +11495,20 @@ class GALGAS_gtlLiteralListExpression : public GALGAS_gtlExpression { //--------------------------------- Property read access public: class GALGAS_gtlExpressionList readProperty_value (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlLiteralListExpression extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- GALGAS class functions + public: static class GALGAS_gtlLiteralListExpression class_func_new (const class GALGAS_location & inOperand0, + const class GALGAS_gtlExpressionList & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlLiteralListExpression & inOperand) const ; @@ -11364,15 +11531,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 { @@ -11380,10 +11547,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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -11401,7 +11568,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -11410,19 +11577,16 @@ 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 ; @@ -11434,20 +11598,20 @@ class GALGAS_gtlLiteralMapExpression : public GALGAS_gtlExpression { //--------------------------------- Property read access public: class GALGAS_gtlExpressionMap readProperty_value (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlLiteralMapExpression extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- GALGAS class functions + public: static class GALGAS_gtlLiteralMapExpression class_func_new (const class GALGAS_location & inOperand0, + const class GALGAS_gtlExpressionMap & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlLiteralMapExpression & inOperand) const ; @@ -11470,15 +11634,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 { @@ -11486,10 +11650,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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -11507,7 +11671,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -11516,19 +11680,16 @@ 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 ; @@ -11540,20 +11701,20 @@ class GALGAS_gtlLiteralSetExpression : public GALGAS_gtlExpression { //--------------------------------- Property read access public: class GALGAS_gtlExpressionList readProperty_value (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlLiteralSetExpression extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- GALGAS class functions + public: static class GALGAS_gtlLiteralSetExpression class_func_new (const class GALGAS_location & inOperand0, + const class GALGAS_gtlExpressionList & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlLiteralSetExpression & inOperand) const ; @@ -11576,15 +11737,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 { @@ -11592,10 +11753,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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -11613,7 +11774,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -11622,19 +11783,16 @@ 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 ; @@ -11646,20 +11804,20 @@ class GALGAS_gtlLiteralStructExpression : public GALGAS_gtlExpression { //--------------------------------- Property read access public: class GALGAS_gtlExpressionMap readProperty_value (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlLiteralStructExpression extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- GALGAS class functions + public: static class GALGAS_gtlLiteralStructExpression class_func_new (const class GALGAS_location & inOperand0, + const class GALGAS_gtlExpressionMap & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlLiteralStructExpression & inOperand) const ; @@ -11682,15 +11840,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 { @@ -11698,10 +11856,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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -11719,7 +11877,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -11728,11 +11886,11 @@ class cPtr_gtlLiteralStructExpression : public cPtr_gtlExpression { } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 1: @gtlLowerOrEqualExpression value class // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_gtlLowerOrEqualExpression : public GALGAS_gtlBinaryExpression { //--------------------------------- Default constructor @@ -11747,21 +11905,21 @@ class GALGAS_gtlLowerOrEqualExpression : public GALGAS_gtlBinaryExpression { public: GALGAS_gtlLowerOrEqualExpression (const cPtr_gtlLowerOrEqualExpression * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlLowerOrEqualExpression extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlLowerOrEqualExpression & inOperand) const ; @@ -11781,15 +11939,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 { @@ -11797,10 +11955,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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -11816,7 +11974,7 @@ class cPtr_gtlLowerOrEqualExpression : public cPtr_gtlBinaryExpression { //--- Attribute accessors //--- Description - public: virtual void description (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -11825,11 +11983,11 @@ class cPtr_gtlLowerOrEqualExpression : public cPtr_gtlBinaryExpression { } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 1: @gtlLowerThanExpression value class // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_gtlLowerThanExpression : public GALGAS_gtlBinaryExpression { //--------------------------------- Default constructor @@ -11844,21 +12002,21 @@ class GALGAS_gtlLowerThanExpression : public GALGAS_gtlBinaryExpression { public: GALGAS_gtlLowerThanExpression (const cPtr_gtlLowerThanExpression * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlLowerThanExpression extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlLowerThanExpression & inOperand) const ; @@ -11878,15 +12036,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 { @@ -11894,10 +12052,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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -11913,7 +12071,7 @@ class cPtr_gtlLowerThanExpression : public cPtr_gtlBinaryExpression { //--- Attribute accessors //--- Description - public: virtual void description (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -11922,11 +12080,11 @@ class cPtr_gtlLowerThanExpression : public cPtr_gtlBinaryExpression { } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 1: @gtlMapOfStructExpression value class // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_gtlMapOfStructExpression : public GALGAS_gtlExpression { //--------------------------------- Default constructor @@ -11943,20 +12101,20 @@ class GALGAS_gtlMapOfStructExpression : public GALGAS_gtlExpression { //--------------------------------- Property read access public: class GALGAS_gtlExpression readProperty_expression (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlMapOfStructExpression extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- GALGAS class functions + public: static class GALGAS_gtlMapOfStructExpression class_func_new (const class GALGAS_location & inOperand0, + const class GALGAS_gtlExpression & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlMapOfStructExpression & inOperand) const ; @@ -11979,15 +12137,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 { @@ -11995,10 +12153,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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -12016,7 +12174,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -12025,11 +12183,11 @@ class cPtr_gtlMapOfStructExpression : public cPtr_gtlExpression { } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 1: @gtlMapOfListExpression value class // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_gtlMapOfListExpression : public GALGAS_gtlMapOfStructExpression { //--------------------------------- Default constructor @@ -12046,21 +12204,21 @@ class GALGAS_gtlMapOfListExpression : public GALGAS_gtlMapOfStructExpression { //--------------------------------- Property read access public: class GALGAS_lstring readProperty_key (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlMapOfListExpression extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlMapOfListExpression & inOperand) const ; @@ -12083,15 +12241,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 { @@ -12099,7 +12257,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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -12118,7 +12276,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -12127,11 +12285,11 @@ class cPtr_gtlMapOfListExpression : public cPtr_gtlMapOfStructExpression { } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 1: @gtlUnaryExpression value class // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_gtlUnaryExpression : public GALGAS_gtlExpression { //--------------------------------- Default constructor @@ -12148,14 +12306,14 @@ class GALGAS_gtlUnaryExpression : public GALGAS_gtlExpression { //--------------------------------- Property read access public: class GALGAS_gtlExpression readProperty_son (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlUnaryExpression extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison @@ -12179,15 +12337,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 { @@ -12204,7 +12362,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override = 0 ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override = 0 ; @@ -12213,11 +12371,11 @@ class cPtr_gtlUnaryExpression : public cPtr_gtlExpression { } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 1: @gtlMinusExpression value class // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_gtlMinusExpression : public GALGAS_gtlUnaryExpression { //--------------------------------- Default constructor @@ -12232,20 +12390,20 @@ class GALGAS_gtlMinusExpression : public GALGAS_gtlUnaryExpression { public: GALGAS_gtlMinusExpression (const cPtr_gtlMinusExpression * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlMinusExpression extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- GALGAS class functions + public: static class GALGAS_gtlMinusExpression class_func_new (const class GALGAS_location & inOperand0, + const class GALGAS_gtlExpression & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlMinusExpression & inOperand) const ; @@ -12265,15 +12423,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 { @@ -12281,10 +12439,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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -12299,7 +12457,7 @@ class cPtr_gtlMinusExpression : public cPtr_gtlUnaryExpression { //--- Attribute accessors //--- Description - public: virtual void description (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -12308,11 +12466,11 @@ class cPtr_gtlMinusExpression : public cPtr_gtlUnaryExpression { } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 1: @gtlModulusExpression value class // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_gtlModulusExpression : public GALGAS_gtlBinaryExpression { //--------------------------------- Default constructor @@ -12327,21 +12485,21 @@ class GALGAS_gtlModulusExpression : public GALGAS_gtlBinaryExpression { public: GALGAS_gtlModulusExpression (const cPtr_gtlModulusExpression * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlModulusExpression extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlModulusExpression & inOperand) const ; @@ -12361,15 +12519,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 { @@ -12377,10 +12535,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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -12396,7 +12554,7 @@ class cPtr_gtlModulusExpression : public cPtr_gtlBinaryExpression { //--- Attribute accessors //--- Description - public: virtual void description (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -12405,11 +12563,11 @@ class cPtr_gtlModulusExpression : public cPtr_gtlBinaryExpression { } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 1: @gtlMultiplyExpression value class // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_gtlMultiplyExpression : public GALGAS_gtlBinaryExpression { //--------------------------------- Default constructor @@ -12424,21 +12582,21 @@ class GALGAS_gtlMultiplyExpression : public GALGAS_gtlBinaryExpression { public: GALGAS_gtlMultiplyExpression (const cPtr_gtlMultiplyExpression * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlMultiplyExpression extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlMultiplyExpression & inOperand) const ; @@ -12458,15 +12616,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 { @@ -12474,10 +12632,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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -12493,7 +12651,7 @@ class cPtr_gtlMultiplyExpression : public cPtr_gtlBinaryExpression { //--- Attribute accessors //--- Description - public: virtual void description (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -12502,11 +12660,11 @@ class cPtr_gtlMultiplyExpression : public cPtr_gtlBinaryExpression { } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 1: @gtlNotEqualExpression value class // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_gtlNotEqualExpression : public GALGAS_gtlBinaryExpression { //--------------------------------- Default constructor @@ -12521,21 +12679,21 @@ class GALGAS_gtlNotEqualExpression : public GALGAS_gtlBinaryExpression { public: GALGAS_gtlNotEqualExpression (const cPtr_gtlNotEqualExpression * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlNotEqualExpression extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlNotEqualExpression & inOperand) const ; @@ -12555,15 +12713,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 { @@ -12571,10 +12729,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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -12590,7 +12748,7 @@ class cPtr_gtlNotEqualExpression : public cPtr_gtlBinaryExpression { //--- Attribute accessors //--- Description - public: virtual void description (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -12599,11 +12757,11 @@ class cPtr_gtlNotEqualExpression : public cPtr_gtlBinaryExpression { } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 1: @gtlNotExpression value class // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_gtlNotExpression : public GALGAS_gtlUnaryExpression { //--------------------------------- Default constructor @@ -12618,20 +12776,20 @@ class GALGAS_gtlNotExpression : public GALGAS_gtlUnaryExpression { public: GALGAS_gtlNotExpression (const cPtr_gtlNotExpression * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlNotExpression extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- GALGAS class functions + public: static class GALGAS_gtlNotExpression class_func_new (const class GALGAS_location & inOperand0, + const class GALGAS_gtlExpression & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlNotExpression & inOperand) const ; @@ -12651,15 +12809,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 { @@ -12667,10 +12825,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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -12685,7 +12843,7 @@ class cPtr_gtlNotExpression : public cPtr_gtlUnaryExpression { //--- Attribute accessors //--- Description - public: virtual void description (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -12694,11 +12852,11 @@ class cPtr_gtlNotExpression : public cPtr_gtlUnaryExpression { } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 1: @gtlOrExpression value class // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_gtlOrExpression : public GALGAS_gtlBinaryExpression { //--------------------------------- Default constructor @@ -12713,21 +12871,21 @@ class GALGAS_gtlOrExpression : public GALGAS_gtlBinaryExpression { public: GALGAS_gtlOrExpression (const cPtr_gtlOrExpression * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlOrExpression extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlOrExpression & inOperand) const ; @@ -12747,15 +12905,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 { @@ -12763,10 +12921,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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -12782,7 +12940,7 @@ class cPtr_gtlOrExpression : public cPtr_gtlBinaryExpression { //--- Attribute accessors //--- Description - public: virtual void description (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -12791,11 +12949,11 @@ class cPtr_gtlOrExpression : public cPtr_gtlBinaryExpression { } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 1: @gtlParenthesizedExpression value class // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_gtlParenthesizedExpression : public GALGAS_gtlUnaryExpression { //--------------------------------- Default constructor @@ -12810,20 +12968,20 @@ class GALGAS_gtlParenthesizedExpression : public GALGAS_gtlUnaryExpression { public: GALGAS_gtlParenthesizedExpression (const cPtr_gtlParenthesizedExpression * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlParenthesizedExpression extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- GALGAS class functions + public: static class GALGAS_gtlParenthesizedExpression class_func_new (const class GALGAS_location & inOperand0, + const class GALGAS_gtlExpression & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlParenthesizedExpression & inOperand) const ; @@ -12843,15 +13001,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 { @@ -12859,10 +13017,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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -12877,7 +13035,7 @@ class cPtr_gtlParenthesizedExpression : public cPtr_gtlUnaryExpression { //--- Attribute accessors //--- Description - public: virtual void description (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -12886,11 +13044,11 @@ class cPtr_gtlParenthesizedExpression : public cPtr_gtlUnaryExpression { } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 1: @gtlPlusExpression value class // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_gtlPlusExpression : public GALGAS_gtlUnaryExpression { //--------------------------------- Default constructor @@ -12905,20 +13063,20 @@ class GALGAS_gtlPlusExpression : public GALGAS_gtlUnaryExpression { public: GALGAS_gtlPlusExpression (const cPtr_gtlPlusExpression * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlPlusExpression extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- GALGAS class functions + public: static class GALGAS_gtlPlusExpression class_func_new (const class GALGAS_location & inOperand0, + const class GALGAS_gtlExpression & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlPlusExpression & inOperand) const ; @@ -12938,15 +13096,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 { @@ -12954,10 +13112,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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -12972,7 +13130,7 @@ class cPtr_gtlPlusExpression : public cPtr_gtlUnaryExpression { //--- Attribute accessors //--- Description - public: virtual void description (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -12981,11 +13139,11 @@ class cPtr_gtlPlusExpression : public cPtr_gtlUnaryExpression { } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 1: @gtlShiftLeftExpression value class // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_gtlShiftLeftExpression : public GALGAS_gtlBinaryExpression { //--------------------------------- Default constructor @@ -13000,21 +13158,21 @@ class GALGAS_gtlShiftLeftExpression : public GALGAS_gtlBinaryExpression { public: GALGAS_gtlShiftLeftExpression (const cPtr_gtlShiftLeftExpression * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlShiftLeftExpression extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlShiftLeftExpression & inOperand) const ; @@ -13034,15 +13192,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 { @@ -13050,10 +13208,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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -13069,7 +13227,7 @@ class cPtr_gtlShiftLeftExpression : public cPtr_gtlBinaryExpression { //--- Attribute accessors //--- Description - public: virtual void description (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -13078,11 +13236,11 @@ class cPtr_gtlShiftLeftExpression : public cPtr_gtlBinaryExpression { } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 1: @gtlShiftRightExpression value class // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_gtlShiftRightExpression : public GALGAS_gtlBinaryExpression { //--------------------------------- Default constructor @@ -13097,21 +13255,21 @@ class GALGAS_gtlShiftRightExpression : public GALGAS_gtlBinaryExpression { public: GALGAS_gtlShiftRightExpression (const cPtr_gtlShiftRightExpression * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlShiftRightExpression extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlShiftRightExpression & inOperand) const ; @@ -13131,15 +13289,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 { @@ -13147,10 +13305,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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -13166,7 +13324,7 @@ class cPtr_gtlShiftRightExpression : public cPtr_gtlBinaryExpression { //--- Attribute accessors //--- Description - public: virtual void description (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -13175,11 +13333,11 @@ class cPtr_gtlShiftRightExpression : public cPtr_gtlBinaryExpression { } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 1: @gtlSubstractExpression value class // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_gtlSubstractExpression : public GALGAS_gtlBinaryExpression { //--------------------------------- Default constructor @@ -13194,21 +13352,21 @@ class GALGAS_gtlSubstractExpression : public GALGAS_gtlBinaryExpression { public: GALGAS_gtlSubstractExpression (const cPtr_gtlSubstractExpression * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlSubstractExpression extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlSubstractExpression & inOperand) const ; @@ -13228,15 +13386,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 { @@ -13244,10 +13402,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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -13263,7 +13421,7 @@ class cPtr_gtlSubstractExpression : public cPtr_gtlBinaryExpression { //--- Attribute accessors //--- Description - public: virtual void description (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -13272,11 +13430,11 @@ class cPtr_gtlSubstractExpression : public cPtr_gtlBinaryExpression { } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 1: @gtlTerminal value class // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_gtlTerminal : public GALGAS_gtlExpression { //--------------------------------- Default constructor @@ -13293,20 +13451,20 @@ class GALGAS_gtlTerminal : public GALGAS_gtlExpression { //--------------------------------- Property read access public: class GALGAS_gtlData readProperty_value (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlTerminal extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- GALGAS class functions + public: static class GALGAS_gtlTerminal class_func_new (const class GALGAS_location & inOperand0, + const class GALGAS_gtlData & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlTerminal & inOperand) const ; @@ -13329,15 +13487,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 { @@ -13345,10 +13503,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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -13366,7 +13524,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -13375,19 +13533,16 @@ 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 ; @@ -13399,20 +13554,20 @@ class GALGAS_gtlTypeOfExpression : public GALGAS_gtlExpression { //--------------------------------- Property read access public: class GALGAS_gtlVarPath readProperty_variable (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlTypeOfExpression extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- GALGAS class functions + public: static class GALGAS_gtlTypeOfExpression class_func_new (const class GALGAS_location & inOperand0, + const class GALGAS_gtlVarPath & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlTypeOfExpression & inOperand) const ; @@ -13435,15 +13590,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 { @@ -13451,10 +13606,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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -13472,7 +13627,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -13481,11 +13636,11 @@ class cPtr_gtlTypeOfExpression : public cPtr_gtlExpression { } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 1: @gtlVarItemCollection value class // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_gtlVarItemCollection : public GALGAS_gtlVarItemField { //--------------------------------- Default constructor @@ -13502,20 +13657,20 @@ class GALGAS_gtlVarItemCollection : public GALGAS_gtlVarItemField { //--------------------------------- Property read access public: class GALGAS_gtlExpression readProperty_key (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlVarItemCollection extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- GALGAS class functions + public: static class GALGAS_gtlVarItemCollection class_func_new (const class GALGAS_lstring & inOperand0, + const class GALGAS_gtlExpression & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlVarItemCollection & inOperand) const ; @@ -13538,15 +13693,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 { @@ -13556,7 +13711,7 @@ class cPtr_gtlVarItemCollection : public cPtr_gtlVarItemField { const class GALGAS_gtlData vars, const class GALGAS_library lib, const class GALGAS_gtlVarPath path, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter getInContext public: virtual class GALGAS_gtlData getter_getInContext (const class GALGAS_gtlContext exeContext, @@ -13564,17 +13719,17 @@ class cPtr_gtlVarItemCollection : public cPtr_gtlVarItemField { const class GALGAS_gtlData vars, const class GALGAS_library lib, const class GALGAS_gtlVarPath path, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + 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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation public: virtual class GALGAS_string getter_stringRepresentation (const class GALGAS_string concatString, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension method deleteInContext public: virtual void method_deleteInContext (const class GALGAS_gtlContext exeContext, @@ -13582,7 +13737,7 @@ class cPtr_gtlVarItemCollection : public cPtr_gtlVarItemField { const class GALGAS_gtlData vars, const class GALGAS_library lib, const class GALGAS_gtlVarPath path, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Extension method setInContext public: virtual void method_setInContext (const class GALGAS_gtlContext exeContext, @@ -13591,7 +13746,7 @@ class cPtr_gtlVarItemCollection : public cPtr_gtlVarItemField { const class GALGAS_library lib, const class GALGAS_gtlVarPath path, const class GALGAS_gtlData newData, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -13609,7 +13764,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -13618,11 +13773,11 @@ class cPtr_gtlVarItemCollection : public cPtr_gtlVarItemField { } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 1: @gtlVarItemSubCollection value class // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_gtlVarItemSubCollection : public GALGAS_gtlVarItem { //--------------------------------- Default constructor @@ -13641,20 +13796,20 @@ class GALGAS_gtlVarItemSubCollection : public GALGAS_gtlVarItem { public: class GALGAS_gtlExpression readProperty_key (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlVarItemSubCollection extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- GALGAS class functions + public: static class GALGAS_gtlVarItemSubCollection class_func_new (const class GALGAS_location & inOperand0, + const class GALGAS_gtlExpression & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlVarItemSubCollection & inOperand) const ; @@ -13680,15 +13835,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 { @@ -13698,7 +13853,7 @@ class cPtr_gtlVarItemSubCollection : public cPtr_gtlVarItem { const class GALGAS_gtlData vars, const class GALGAS_library lib, const class GALGAS_gtlVarPath path, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter getInContext public: virtual class GALGAS_gtlData getter_getInContext (const class GALGAS_gtlContext exeContext, @@ -13706,20 +13861,20 @@ class cPtr_gtlVarItemSubCollection : public cPtr_gtlVarItem { const class GALGAS_gtlData vars, const class GALGAS_library lib, const class GALGAS_gtlVarPath path, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter location - public: virtual class GALGAS_location getter_location (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_location getter_location (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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation public: virtual class GALGAS_string getter_stringRepresentation (const class GALGAS_string concatString, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension method deleteInContext public: virtual void method_deleteInContext (const class GALGAS_gtlContext exeContext, @@ -13727,7 +13882,7 @@ class cPtr_gtlVarItemSubCollection : public cPtr_gtlVarItem { const class GALGAS_gtlData vars, const class GALGAS_library lib, const class GALGAS_gtlVarPath path, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Extension method setInContext public: virtual void method_setInContext (const class GALGAS_gtlContext exeContext, @@ -13736,7 +13891,7 @@ class cPtr_gtlVarItemSubCollection : public cPtr_gtlVarItem { const class GALGAS_library lib, const class GALGAS_gtlVarPath path, const class GALGAS_gtlData newData, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -13757,7 +13912,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -13766,19 +13921,16 @@ 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 ; @@ -13790,20 +13942,20 @@ class GALGAS_gtlVarRef : public GALGAS_gtlExpression { //--------------------------------- Property read access public: class GALGAS_gtlVarPath readProperty_variableName (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlVarRef extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- GALGAS class functions + public: static class GALGAS_gtlVarRef class_func_new (const class GALGAS_location & inOperand0, + const class GALGAS_gtlVarPath & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlVarRef & inOperand) const ; @@ -13826,15 +13978,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 { @@ -13842,10 +13994,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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -13863,7 +14015,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -13872,11 +14024,11 @@ class cPtr_gtlVarRef : public cPtr_gtlExpression { } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 1: @gtlXorExpression value class // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_gtlXorExpression : public GALGAS_gtlBinaryExpression { //--------------------------------- Default constructor @@ -13891,21 +14043,21 @@ class GALGAS_gtlXorExpression : public GALGAS_gtlBinaryExpression { public: GALGAS_gtlXorExpression (const cPtr_gtlXorExpression * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlXorExpression extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlXorExpression & inOperand) const ; @@ -13925,15 +14077,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 { @@ -13941,10 +14093,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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter stringRepresentation - public: virtual class GALGAS_string getter_stringRepresentation (C_Compiler * COMMA_LOCATION_ARGS) const override ; + public: virtual class GALGAS_string getter_stringRepresentation (Compiler * COMMA_LOCATION_ARGS) const override ; //--- Properties @@ -13960,7 +14112,7 @@ class cPtr_gtlXorExpression : public cPtr_gtlBinaryExpression { //--- Attribute accessors //--- Description - public: virtual void description (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -13969,107 +14121,104 @@ class cPtr_gtlXorExpression : public cPtr_gtlBinaryExpression { } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Function 'emptylstring' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -class GALGAS_lstring function_emptylstring (class C_Compiler * inCompiler +class GALGAS_lstring function_emptylstring (class Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Extension getter '@lstring gtlType' (as function) // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_type extensionGetter_gtlType (const class GALGAS_lstring & inObject, - class C_Compiler * inCompiler + class 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 C_Compiler * inCompiler + class 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 C_Compiler * inCompiler + class 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 C_Compiler * inCompiler + class 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 ; @@ -14079,20 +14228,20 @@ class GALGAS_gtlStepInstruction : public GALGAS_gtlInstruction { public: GALGAS_gtlStepInstruction (const cPtr_gtlStepInstruction * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlStepInstruction extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- GALGAS class functions + public: static class GALGAS_gtlStepInstruction class_func_new (const class GALGAS_location & inOperand0, + const class GALGAS_string & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlStepInstruction & inOperand) const ; @@ -14112,27 +14261,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 (C_Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (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, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -14147,7 +14296,7 @@ class cPtr_gtlStepInstruction : public cPtr_gtlInstruction { //--- Attribute accessors //--- Description - public: virtual void description (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -14156,148 +14305,148 @@ class cPtr_gtlStepInstruction : public cPtr_gtlInstruction { } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Function 'endc' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -class GALGAS_string function_endc (class C_Compiler * inCompiler +class GALGAS_string function_endc (class Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Extension getter '@gtlContext breakOn' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_bool callExtensionGetter_breakOn (const cPtr_gtlContext * inObject, class GALGAS_gtlInstruction in_instruction, - class C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Extension getter '@gtlContext breakOnNext' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_bool callExtensionGetter_breakOnNext (const cPtr_gtlContext * inObject, - class C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Extension getter '@gtlContext debugActive' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_bool callExtensionGetter_debugActive (const cPtr_gtlContext * inObject, - class C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Extension getter '@gtlContext loopOnCommand' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_bool callExtensionGetter_loopOnCommand (const cPtr_gtlContext * inObject, - class C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Extension getter '@gtlContext outputStyle' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_string callExtensionGetter_outputStyle (const cPtr_gtlContext * inObject, - class C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Extension getter '@gtlContext promptStyle' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_string callExtensionGetter_promptStyle (const cPtr_gtlContext * inObject, - class C_Compiler * inCompiler + class 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 C_Compiler * inCompiler + class 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 C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //LEXIQUE gtl_5F_debugger_5F_scanner // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -#include "galgas2/C_Lexique.h" +#include "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: C_String mLexicalAttribute_a_5F_string ; + public: String mLexicalAttribute_a_5F_string ; public: utf32 mLexicalAttribute_charValue ; public: double mLexicalAttribute_floatValue ; - public: C_String mLexicalAttribute_functionContent ; - public: C_String mLexicalAttribute_identifierString ; - public: C_BigInt mLexicalAttribute_intValue ; - public: C_String mLexicalAttribute_tokenString ; + public: String mLexicalAttribute_functionContent ; + public: String mLexicalAttribute_identifierString ; + public: BigSigned mLexicalAttribute_intValue ; + public: 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 C_Lexique_gtl_5F_debugger_5F_scanner : public C_Lexique { +class Lexique_gtl_5F_debugger_5F_scanner : public Lexique { //--- Constructors - public: C_Lexique_gtl_5F_debugger_5F_scanner (C_Compiler * inCallerCompiler, - const C_String & inSourceFileName + public: Lexique_gtl_5F_debugger_5F_scanner (Compiler * inCallerCompiler, + const String & inSourceFileName COMMA_LOCATION_ARGS) ; - public: C_Lexique_gtl_5F_debugger_5F_scanner (C_Compiler * inCallerCompiler, - const C_String & inSourceString, - const C_String & inStringForError + public: Lexique_gtl_5F_debugger_5F_scanner (Compiler * inCallerCompiler, + const String & inSourceString, + const String & inStringForError COMMA_LOCATION_ARGS) ; //--- Instrospection @@ -14305,116 +14454,116 @@ class C_Lexique_gtl_5F_debugger_5F_scanner : public C_Lexique { //--- Declaring a protected virtual destructor enables the compiler to raise // an error if a direct delete is performed; only the static method -// C_SharedObject::detachPointer may invoke delete. +// SharedObject::detachPointer may invoke delete. #ifndef DO_NOT_GENERATE_CHECKINGS - protected: virtual ~ C_Lexique_gtl_5F_debugger_5F_scanner (void) {} + protected: virtual ~ Lexique_gtl_5F_debugger_5F_scanner (void) {} #endif //--- Terminal symbols enumeration public: enum {kToken_, - 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_} ; + 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 */ } ; //--- Key words table 'goilTemplateKeyWordList' - public: static int32_t search_into_goilTemplateKeyWordList (const C_String & inSearchedString) ; + public: static int32_t search_into_goilTemplateKeyWordList (const String & inSearchedString) ; //--- Key words table 'galgasDelimitorsList' - public: static int32_t search_into_galgasDelimitorsList (const C_String & inSearchedString) ; + public: static int32_t search_into_galgasDelimitorsList (const String & inSearchedString) ; //--- Assign from attribute @@ -14429,44 +14578,44 @@ class C_Lexique_gtl_5F_debugger_5F_scanner : public C_Lexique { //--- Attribute access - public: C_String attributeValue_a_5F_string (void) const ; + public: String attributeValue_a_5F_string (void) const ; public: utf32 attributeValue_charValue (void) const ; public: double attributeValue_floatValue (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: String attributeValue_functionContent (void) const ; + public: String attributeValue_identifierString (void) const ; + public: BigSigned attributeValue_intValue (void) const ; + public: 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 C_String getMessageForTerminal (const int32_t inTerminalSymbol) const override ; + protected: virtual 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 C_String getCurrentTokenString (const cToken * inTokenPtr) const override ; + public: virtual 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 C_String styleNameForIndex (const uint32_t inStyleIndex) const override ; + protected: virtual 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 @@ -14474,346 +14623,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 C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; + 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_parse (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_expression_indexing (class Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; protected: virtual void nt_gtl_5F_factor_ (class GALGAS_gtlExpression & outArgument0, - class C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; + 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_parse (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_factor_indexing (class Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; protected: virtual void nt_gtl_5F_relation_5F_factor_ (class GALGAS_gtlExpression & outArgument0, - class C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; + 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_parse (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_factor_indexing (class Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; protected: virtual void nt_gtl_5F_relation_5F_term_ (class GALGAS_gtlExpression & outArgument0, - class C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; + 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_parse (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_relation_5F_term_indexing (class Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; protected: virtual void nt_gtl_5F_simple_5F_expression_ (class GALGAS_gtlExpression & outArgument0, - class C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; + 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_parse (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_simple_5F_expression_indexing (class Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; protected: virtual void nt_gtl_5F_term_ (class GALGAS_gtlExpression & outArgument0, - class C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; + 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_parse (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_term_indexing (class Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; protected: virtual void nt_gtl_5F_variable_ (class GALGAS_gtlVarPath & outArgument0, - class C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; + 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_parse (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 ; + protected: virtual void nt_gtl_5F_variable_indexing (class 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, - C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + 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_parse (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_expression_i0_indexing (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, - C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + 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_parse (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_term_i1_indexing (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, - C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + 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_parse (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_relation_5F_factor_i2_indexing (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, - C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + 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_parse (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_simple_5F_expression_i3_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_term_i4_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + 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_parse (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_term_i4_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i5_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + 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_parse (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_i5_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i6_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + 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_parse (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_i6_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i7_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + 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_parse (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_i7_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i8_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + 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_parse (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_i8_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i9_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + 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_parse (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_i9_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i10_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + 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_parse (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_i10_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i11_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + 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_parse (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_i11_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i12_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + 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_parse (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_i12_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i13_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + 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_parse (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_i13_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i14_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + 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_parse (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_i14_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i15_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + 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_parse (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_i15_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i16_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + 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_parse (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_i16_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i17_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + 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_parse (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_i17_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i18_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + 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_parse (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_i18_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i19_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + 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_parse (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_i19_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i20_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + 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_parse (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_i20_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i21_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + 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_parse (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_i21_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i22_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + 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_parse (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_i22_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i23_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + 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_parse (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_i23_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i24_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + 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_parse (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_i24_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i25_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + 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_parse (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_i25_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i26_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + 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_parse (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_i26_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i27_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + 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_parse (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_i27_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i28_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + 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_parse (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_i28_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i29_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + 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_parse (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_i29_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i30_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + 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_parse (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_i30_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_factor_i31_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + 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_parse (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_factor_i31_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_variable_i32_ (GALGAS_gtlVarPath & outArgument0, - C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + 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_parse (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) ; + protected: void rule_gtl_5F_debugger_5F_expression_5F_parser_gtl_5F_variable_i32_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; //--- Select methods - 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_0 (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_1 (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_2 (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_3 (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_4 (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_5 (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_6 (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_7 (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_8 (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_9 (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_10 (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_11 (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_12 (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_13 (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_14 (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_15 (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_16 (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_17 (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_18 (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_19 (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_20 (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_21 (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_22 (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 ; + protected: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_23 (Lexique_gtl_5F_debugger_5F_scanner *) = 0 ; } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Parser class 'gtl_debugger_parser' declaration // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class cParser_gtl_5F_debugger_5F_parser { //--- Virtual destructor @@ -14821,621 +14970,618 @@ class cParser_gtl_5F_debugger_5F_parser { //--- Non terminal declarations protected: virtual void nt_gtl_5F_debugger_5F_command_ (class GALGAS_gtlInstruction & outArgument0, - class C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; + 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_parse (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_debugger_5F_command_indexing (class Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; protected: virtual void nt_gtl_5F_expression_ (class GALGAS_gtlExpression & outArgument0, - class C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; + 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_parse (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_expression_indexing (class Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; protected: virtual void nt_gtl_5F_step_5F_do_5F_command_ (class GALGAS_gtlInstruction & outArgument0, - class C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; + 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_parse (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_indexing (class 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 C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; + 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_parse (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_step_5F_do_5F_command_5F_list_indexing (class Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; protected: virtual void nt_gtl_5F_variable_ (class GALGAS_gtlVarPath & outArgument0, - class C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) = 0 ; + 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_parse (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 ; + protected: virtual void nt_gtl_5F_variable_indexing (class 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, - C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + 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_parse (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_i0_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i1_ (GALGAS_gtlInstruction & outArgument0, - C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + 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_parse (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_i1_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i2_ (GALGAS_gtlInstruction & outArgument0, - C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + 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_parse (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_i2_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i3_ (GALGAS_gtlInstruction & outArgument0, - C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + 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_parse (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_i3_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i4_ (GALGAS_gtlInstruction & outArgument0, - C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + 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_parse (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_i4_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i5_ (GALGAS_gtlInstruction & outArgument0, - C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + 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_parse (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_i5_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i6_ (GALGAS_gtlInstruction & outArgument0, - C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + 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_parse (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_i6_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i7_ (GALGAS_gtlInstruction & outArgument0, - C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + 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_parse (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_i7_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i8_ (GALGAS_gtlInstruction & outArgument0, - C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + 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_parse (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_i8_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i9_ (GALGAS_gtlInstruction & outArgument0, - C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + 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_parse (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_i9_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i10_ (GALGAS_gtlInstruction & outArgument0, - C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + 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_parse (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_i10_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; protected: void rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i11_ (GALGAS_gtlInstruction & outArgument0, - C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + 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_parse (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_debugger_5F_command_i11_indexing (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, - C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + 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_parse (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_i12_indexing (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, - C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + 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_parse (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_i13_indexing (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, - C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + 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_parse (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_i14_indexing (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, - C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + 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_parse (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_i15_indexing (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, - C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + 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_parse (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_i16_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_ (GALGAS_gtlInstructionList & outArgument0, - C_Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; + 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_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_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_indexing (Lexique_gtl_5F_debugger_5F_scanner * inLexique) ; //--- Select methods - 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_0 (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_1 (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_2 (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_3 (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_4 (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_5 (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_6 (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_7 (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_8 (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_9 (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_10 (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_11 (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_12 (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 ; + protected: virtual int32_t select_gtl_5F_debugger_5F_parser_13 (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 (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_debugger_5F_command_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; //--- indexing - public: virtual void nt_gtl_5F_debugger_5F_command_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_debugger_5F_command_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; //----------- '' label public: virtual void nt_gtl_5F_debugger_5F_command_ (GALGAS_gtlInstruction & outArgument0, - C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; + Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; //--- Start symbol - public: static void _performSourceFileParsing_ (C_Compiler * inCompiler, + public: static void _performSourceFileParsing_ (Compiler * inCompiler, GALGAS_lstring inFileName, GALGAS_gtlInstruction & outArgument0 COMMA_LOCATION_ARGS) ; - public: static void _performSourceStringParsing_ (C_Compiler * inCompiler, + public: static void _performSourceStringParsing_ (Compiler * inCompiler, GALGAS_string inSourceString, GALGAS_string inNameString, GALGAS_gtlInstruction & outArgument0 COMMA_LOCATION_ARGS) ; //--- Indexing - public: static void performIndexing (C_Compiler * inCompiler, - const C_String & inSourceFilePath) ; + public: static void performIndexing (Compiler * inCompiler, + const String & inSourceFilePath) ; //--- Only lexical analysis - public: static void performOnlyLexicalAnalysis (C_Compiler * inCompiler, - const C_String & inSourceFilePath) ; + public: static void performOnlyLexicalAnalysis (Compiler * inCompiler, + const String & inSourceFilePath) ; //--- Only syntax analysis - public: static void performOnlySyntaxAnalysis (C_Compiler * inCompiler, - const C_String & inSourceFilePath) ; + public: static void performOnlySyntaxAnalysis (Compiler * inCompiler, + const String & inSourceFilePath) ; //------------------------------------- 'gtl_expression' non terminal //--- 'parse' label - public: virtual void nt_gtl_5F_expression_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_expression_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; //--- indexing - public: virtual void nt_gtl_5F_expression_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_expression_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; //----------- '' label public: virtual void nt_gtl_5F_expression_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; + Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; //------------------------------------- 'gtl_factor' non terminal //--- 'parse' label - public: virtual void nt_gtl_5F_factor_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_factor_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; //--- indexing - public: virtual void nt_gtl_5F_factor_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_factor_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; //----------- '' label public: virtual void nt_gtl_5F_factor_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; + Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; //------------------------------------- 'gtl_relation_factor' non terminal //--- 'parse' label - public: virtual void nt_gtl_5F_relation_5F_factor_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_relation_5F_factor_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; //--- indexing - public: virtual void nt_gtl_5F_relation_5F_factor_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_relation_5F_factor_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; //----------- '' label public: virtual void nt_gtl_5F_relation_5F_factor_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; + Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; //------------------------------------- 'gtl_relation_term' non terminal //--- 'parse' label - public: virtual void nt_gtl_5F_relation_5F_term_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_relation_5F_term_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; //--- indexing - public: virtual void nt_gtl_5F_relation_5F_term_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_relation_5F_term_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; //----------- '' label public: virtual void nt_gtl_5F_relation_5F_term_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; + Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; //------------------------------------- 'gtl_simple_expression' non terminal //--- 'parse' label - public: virtual void nt_gtl_5F_simple_5F_expression_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_simple_5F_expression_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; //--- indexing - public: virtual void nt_gtl_5F_simple_5F_expression_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_simple_5F_expression_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; //----------- '' label public: virtual void nt_gtl_5F_simple_5F_expression_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; + 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 (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_step_5F_do_5F_command_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; //--- indexing - public: virtual void nt_gtl_5F_step_5F_do_5F_command_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_step_5F_do_5F_command_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; //----------- '' label public: virtual void nt_gtl_5F_step_5F_do_5F_command_ (GALGAS_gtlInstruction & outArgument0, - C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; + 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 (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_step_5F_do_5F_command_5F_list_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; //--- indexing - public: virtual void nt_gtl_5F_step_5F_do_5F_command_5F_list_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_step_5F_do_5F_command_5F_list_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; //----------- '' label public: virtual void nt_gtl_5F_step_5F_do_5F_command_5F_list_ (GALGAS_gtlInstructionList & outArgument0, - C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; + Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; //------------------------------------- 'gtl_term' non terminal //--- 'parse' label - public: virtual void nt_gtl_5F_term_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_term_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; //--- indexing - public: virtual void nt_gtl_5F_term_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_term_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; //----------- '' label public: virtual void nt_gtl_5F_term_ (GALGAS_gtlExpression & outArgument0, - C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; + Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; //------------------------------------- 'gtl_variable' non terminal //--- 'parse' label - public: virtual void nt_gtl_5F_variable_parse (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_variable_parse (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; //--- indexing - public: virtual void nt_gtl_5F_variable_indexing (C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; + public: virtual void nt_gtl_5F_variable_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; //----------- '' label public: virtual void nt_gtl_5F_variable_ (GALGAS_gtlVarPath & outArgument0, - C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; + Lexique_gtl_5F_debugger_5F_scanner * inCompiler) ; - 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_0 (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_1 (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_2 (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_3 (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_4 (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_5 (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_6 (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_7 (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_8 (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_9 (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_10 (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_11 (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_12 (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_parser_13 (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_0 (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_1 (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_2 (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_3 (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_4 (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_5 (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_6 (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_7 (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_8 (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_9 (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_10 (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_11 (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_12 (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_13 (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_14 (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_15 (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_16 (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_17 (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_18 (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_19 (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_20 (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_21 (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_22 (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 *) ; + public: virtual int32_t select_gtl_5F_debugger_5F_expression_5F_parser_23 (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 C_Compiler * inCompiler + class 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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Extension setter '@gtlContext getCommand' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typedef void (*extensionSetterSignature_gtlContext_getCommand) (class cPtr_gtlContext * inObject, class GALGAS_string & outArgument0, - class C_Compiler * inCompiler + class 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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Extension setter '@gtlContext popInstructionList' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typedef void (*extensionSetterSignature_gtlContext_popInstructionList) (class cPtr_gtlContext * inObject, - class C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void enterExtensionSetter_popInstructionList (const int32_t inClassIndex, extensionSetterSignature_gtlContext_popInstructionList inModifier) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void callExtensionSetter_popInstructionList (class cPtr_gtlContext * inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Extension setter '@gtlContext pushInstructionList' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typedef void (*extensionSetterSignature_gtlContext_pushInstructionList) (class cPtr_gtlContext * inObject, const class GALGAS_gtlInstructionList constinArgument0, - class C_Compiler * inCompiler + class 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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Extension setter '@gtlContext setBreakOnNext' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typedef void (*extensionSetterSignature_gtlContext_setBreakOnNext) (class cPtr_gtlContext * inObject, class GALGAS_bool inArgument0, - class C_Compiler * inCompiler + class 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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Extension setter '@gtlContext setDebugger' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typedef void (*extensionSetterSignature_gtlContext_setDebugger) (class cPtr_gtlContext * inObject, class GALGAS_bool inArgument0, - class C_Compiler * inCompiler + class 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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Extension setter '@gtlContext setLoopOnCommand' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typedef void (*extensionSetterSignature_gtlContext_setLoopOnCommand) (class cPtr_gtlContext * inObject, class GALGAS_bool inArgument0, - class C_Compiler * inCompiler + class 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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Extension setter '@gtlContext setNextInstructionIndex' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typedef void (*extensionSetterSignature_gtlContext_setNextInstructionIndex) (class cPtr_gtlContext * inObject, class GALGAS_uint inArgument0, - class C_Compiler * inCompiler + class 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, - C_Compiler * inCompiler + 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 ; @@ -15447,21 +15593,21 @@ class GALGAS_gtlLetUnconstructedInstruction : public GALGAS_gtlInstruction { //--------------------------------- Property read access public: class GALGAS_gtlVarPath readProperty_lValue (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlLetUnconstructedInstruction extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlLetUnconstructedInstruction & inOperand) const ; @@ -15484,27 +15630,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 (C_Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (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, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -15523,7 +15669,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -15532,19 +15678,16 @@ 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 ; @@ -15554,21 +15697,21 @@ class GALGAS_gtlUnletInstruction : public GALGAS_gtlLetUnconstructedInstruction public: GALGAS_gtlUnletInstruction (const cPtr_gtlUnletInstruction * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlUnletInstruction extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlUnletInstruction & inOperand) const ; @@ -15588,15 +15731,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 { @@ -15605,7 +15748,7 @@ class cPtr_gtlUnletInstruction : public cPtr_gtlLetUnconstructedInstruction { class GALGAS_gtlData & vars, class GALGAS_library & lib, class GALGAS_string & outputString, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -15621,7 +15764,7 @@ class cPtr_gtlUnletInstruction : public cPtr_gtlLetUnconstructedInstruction { //--- Attribute accessors //--- Description - public: virtual void description (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -15630,19 +15773,16 @@ 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 ; @@ -15654,21 +15794,21 @@ class GALGAS_gtlTemplateStringInstruction : public GALGAS_gtlInstruction { //--------------------------------- Property read access public: class GALGAS_string readProperty_value (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlTemplateStringInstruction extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlTemplateStringInstruction & inOperand) const ; @@ -15691,27 +15831,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 (C_Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (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, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -15730,7 +15870,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -15739,19 +15879,16 @@ 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 ; @@ -15763,21 +15900,21 @@ class GALGAS_gtlGetColumnInstruction : public GALGAS_gtlInstruction { //--------------------------------- Property read access public: class GALGAS_gtlVarPath readProperty_destVariable (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlGetColumnInstruction extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlGetColumnInstruction & inOperand) const ; @@ -15800,27 +15937,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 (C_Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (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, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -15839,7 +15976,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -15848,11 +15985,11 @@ class cPtr_gtlGetColumnInstruction : public cPtr_gtlInstruction { } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 1: @gtlThenElsifStatementList list // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_gtlThenElsifStatementList : public AC_GALGAS_list { //--------------------------------- Default constructor @@ -15867,26 +16004,26 @@ class GALGAS_gtlThenElsifStatementList : public AC_GALGAS_list { const class GALGAS_gtlInstructionList & in_instructionList COMMA_LOCATION_ARGS) ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlThenElsifStatementList extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS constructors - public: static class GALGAS_gtlThenElsifStatementList constructor_emptyList (LOCATION_ARGS) ; +//--------------------------------- GALGAS class functions + public: static class GALGAS_gtlThenElsifStatementList class_func_emptyList (LOCATION_ARGS) ; - public: static class GALGAS_gtlThenElsifStatementList constructor_listWithValue (const class GALGAS_gtlExpression & inOperand0, - const class GALGAS_gtlInstructionList & inOperand1 - COMMA_LOCATION_ARGS) ; + public: static class GALGAS_gtlThenElsifStatementList class_func_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 C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with list of field expressions) @@ -15895,81 +16032,81 @@ class GALGAS_gtlThenElsifStatementList : public AC_GALGAS_list { COMMA_LOCATION_ARGS) ; //--------------------------------- + operator public: VIRTUAL_IN_DEBUG GALGAS_gtlThenElsifStatementList add_operation (const GALGAS_gtlThenElsifStatementList & inOperand, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Setters public: VIRTUAL_IN_DEBUG void setter_append (class GALGAS_gtlExpression constinArgument0, class GALGAS_gtlInstructionList constinArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_insertAtIndex (class GALGAS_gtlExpression constinArgument0, class GALGAS_gtlInstructionList constinArgument1, class GALGAS_uint constinArgument2, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popFirst (class GALGAS_gtlExpression & outArgument0, class GALGAS_gtlInstructionList & outArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popLast (class GALGAS_gtlExpression & outArgument0, class GALGAS_gtlInstructionList & outArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_removeAtIndex (class GALGAS_gtlExpression & outArgument0, class GALGAS_gtlInstructionList & outArgument1, class GALGAS_uint constinArgument2, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setConditionAtIndex (class GALGAS_gtlExpression constinArgument0, class GALGAS_uint constinArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setInstructionListAtIndex (class GALGAS_gtlInstructionList constinArgument0, class GALGAS_uint constinArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Instance Methods public: VIRTUAL_IN_DEBUG void method_first (class GALGAS_gtlExpression & outArgument0, class GALGAS_gtlInstructionList & outArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void method_last (class GALGAS_gtlExpression & outArgument0, class GALGAS_gtlInstructionList & outArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Class Methods //--------------------------------- Getters public: VIRTUAL_IN_DEBUG class GALGAS_gtlExpression getter_conditionAtIndex (const class GALGAS_uint & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlInstructionList getter_instructionListAtIndex (const class GALGAS_uint & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlThenElsifStatementList getter_subListFromIndex (const class GALGAS_uint & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlThenElsifStatementList getter_subListToIndex (const class GALGAS_uint & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_gtlThenElsifStatementList getter_subListWithRange (const class GALGAS_range & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; @@ -15983,9 +16120,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, @@ -15998,15 +16135,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 @@ -16043,24 +16180,25 @@ 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 generic part --* +//-- Start of type 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, - C_Compiler * inCompiler + 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) ; +//--------------------------------- 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) ; //--------------------------------- Implementation of getter 'description' - public: VIRTUAL_IN_DEBUG void description (C_String & ioString, - const int32_t inIndentation) const override ; + public: VIRTUAL_IN_DEBUG void description (String & ioString, + const int32_t inIndentation) const override ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlThenElsifStatementList_2D_element & inOperand) const ; @@ -16079,23 +16217,20 @@ 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 ; @@ -16109,22 +16244,22 @@ class GALGAS_gtlIfStatementInstruction : public GALGAS_gtlInstruction { public: class GALGAS_gtlInstructionList readProperty_elseList (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlIfStatementInstruction extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlIfStatementInstruction & inOperand) const ; @@ -16150,27 +16285,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 (C_Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (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, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -16193,7 +16328,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -16202,19 +16337,16 @@ 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 ; @@ -16226,21 +16358,21 @@ class GALGAS_gtlDisplayStatementInstruction : public GALGAS_gtlInstruction { //--------------------------------- Property read access public: class GALGAS_gtlVarPath readProperty_variablePath (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlDisplayStatementInstruction extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlDisplayStatementInstruction & inOperand) const ; @@ -16263,15 +16395,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 { @@ -16279,17 +16411,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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension method display - public: virtual void method_display (C_Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (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, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -16308,7 +16440,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -16317,11 +16449,11 @@ class cPtr_gtlDisplayStatementInstruction : public cPtr_gtlInstruction { } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 1: @sortingKeyList list // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_sortingKeyList : public AC_GALGAS_list { //--------------------------------- Default constructor @@ -16336,26 +16468,26 @@ class GALGAS_sortingKeyList : public AC_GALGAS_list { const class GALGAS_lsint & in_order COMMA_LOCATION_ARGS) ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_sortingKeyList extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS constructors - public: static class GALGAS_sortingKeyList constructor_emptyList (LOCATION_ARGS) ; +//--------------------------------- GALGAS class functions + public: static class GALGAS_sortingKeyList class_func_emptyList (LOCATION_ARGS) ; - public: static class GALGAS_sortingKeyList constructor_listWithValue (const class GALGAS_lstring & inOperand0, - const class GALGAS_lsint & inOperand1 - COMMA_LOCATION_ARGS) ; + public: static class GALGAS_sortingKeyList class_func_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 C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with list of field expressions) @@ -16364,81 +16496,81 @@ class GALGAS_sortingKeyList : public AC_GALGAS_list { COMMA_LOCATION_ARGS) ; //--------------------------------- + operator public: VIRTUAL_IN_DEBUG GALGAS_sortingKeyList add_operation (const GALGAS_sortingKeyList & inOperand, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Setters public: VIRTUAL_IN_DEBUG void setter_append (class GALGAS_lstring constinArgument0, class GALGAS_lsint constinArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_insertAtIndex (class GALGAS_lstring constinArgument0, class GALGAS_lsint constinArgument1, class GALGAS_uint constinArgument2, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popFirst (class GALGAS_lstring & outArgument0, class GALGAS_lsint & outArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popLast (class GALGAS_lstring & outArgument0, class GALGAS_lsint & outArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_removeAtIndex (class GALGAS_lstring & outArgument0, class GALGAS_lsint & outArgument1, class GALGAS_uint constinArgument2, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setKeyAtIndex (class GALGAS_lstring constinArgument0, class GALGAS_uint constinArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setOrderAtIndex (class GALGAS_lsint constinArgument0, class GALGAS_uint constinArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Instance Methods public: VIRTUAL_IN_DEBUG void method_first (class GALGAS_lstring & outArgument0, class GALGAS_lsint & outArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void method_last (class GALGAS_lstring & outArgument0, class GALGAS_lsint & outArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Class Methods //--------------------------------- Getters public: VIRTUAL_IN_DEBUG class GALGAS_lstring getter_keyAtIndex (const class GALGAS_uint & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_lsint getter_orderAtIndex (const class GALGAS_uint & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_sortingKeyList getter_subListFromIndex (const class GALGAS_uint & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_sortingKeyList getter_subListToIndex (const class GALGAS_uint & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_sortingKeyList getter_subListWithRange (const class GALGAS_range & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; @@ -16452,9 +16584,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, @@ -16467,15 +16599,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 @@ -16493,9 +16625,6 @@ 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) ; @@ -16515,24 +16644,25 @@ 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 generic part --* +//-- Start of type 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, - C_Compiler * inCompiler + 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) ; +//--------------------------------- 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) ; //--------------------------------- Implementation of getter 'description' - public: VIRTUAL_IN_DEBUG void description (C_String & ioString, - const int32_t inIndentation) const override ; + public: VIRTUAL_IN_DEBUG void description (String & ioString, + const int32_t inIndentation) const override ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_sortingKeyList_2D_element & inOperand) const ; @@ -16551,15 +16681,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 @@ -16576,14 +16706,14 @@ class GALGAS_gtlAbstractSortInstruction : public GALGAS_gtlInstruction { //--------------------------------- Property read access public: class GALGAS_gtlVarPath readProperty_variablePath (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlAbstractSortInstruction extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison @@ -16607,48 +16737,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, - C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; + 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, - C_Compiler * COMMA_LOCATION_ARGS) override ; + 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, - C_Compiler * COMMA_LOCATION_ARGS) ; + 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, - C_Compiler * COMMA_LOCATION_ARGS) ; + 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, - C_Compiler * COMMA_LOCATION_ARGS) ; + Compiler * COMMA_LOCATION_ARGS) ; //--- Properties @@ -16664,7 +16794,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override = 0 ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override = 0 ; @@ -16673,71 +16803,68 @@ 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 C_Compiler * inCompiler + class 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_, - C_Compiler * inCompiler + 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, - C_Compiler * inCompiler + 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, - C_Compiler * inCompiler + 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 ; @@ -16749,22 +16876,22 @@ class GALGAS_gtlSortStatementStructInstruction : public GALGAS_gtlAbstractSortIn //--------------------------------- Property read access public: class GALGAS_sortingKeyList readProperty_sortingKey (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlSortStatementStructInstruction extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlSortStatementStructInstruction & inOperand) const ; @@ -16787,31 +16914,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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + 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, - C_Compiler * COMMA_LOCATION_ARGS) const ; + Compiler * COMMA_LOCATION_ARGS) const ; //--- Extension method display - public: virtual void method_display (C_Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -16831,7 +16958,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -16840,74 +16967,71 @@ 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 C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Abstract extension getter '@gtlData bool' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_bool callExtensionGetter_bool (const class cPtr_gtlData * inObject, - class C_Compiler * inCompiler + class 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 C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Extension getter '@gtlData location' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_location callExtensionGetter_location (const cPtr_gtlData * inObject, - class C_Compiler * inCompiler + class 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 C_Compiler * inCompiler + class 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 ; @@ -16919,21 +17043,21 @@ class GALGAS_gtlVariablesInstruction : public GALGAS_gtlInstruction { //--------------------------------- Property read access public: class GALGAS_bool readProperty_shortDisplay (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlVariablesInstruction extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlVariablesInstruction & inOperand) const ; @@ -16956,35 +17080,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 (C_Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (Compiler * COMMA_LOCATION_ARGS) override ; //--- Extension method displayLong public: virtual void method_displayLong (const class GALGAS_gtlData vars, - C_Compiler * COMMA_LOCATION_ARGS) ; + Compiler * COMMA_LOCATION_ARGS) ; //--- Extension method displayShort public: virtual void method_displayShort (const class GALGAS_gtlData vars, - C_Compiler * COMMA_LOCATION_ARGS) ; + 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, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -17003,7 +17127,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -17012,52 +17136,49 @@ class cPtr_gtlVariablesInstruction : public cPtr_gtlInstruction { } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Extension method '@gtlVariablesInstruction displayShort' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void callExtensionMethod_displayShort (class cPtr_gtlVariablesInstruction * inObject, const class GALGAS_gtlData constin_vars, - C_Compiler * inCompiler + 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 C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Extension method '@gtlVariablesInstruction displayLong' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void callExtensionMethod_displayLong (class cPtr_gtlVariablesInstruction * inObject, const class GALGAS_gtlData constin_vars, - C_Compiler * inCompiler + 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 ; @@ -17067,20 +17188,20 @@ class GALGAS_gtlLibrariesInstruction : public GALGAS_gtlInstruction { public: GALGAS_gtlLibrariesInstruction (const cPtr_gtlLibrariesInstruction * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlLibrariesInstruction extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- GALGAS class functions + public: static class GALGAS_gtlLibrariesInstruction class_func_new (const class GALGAS_location & inOperand0, + const class GALGAS_string & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlLibrariesInstruction & inOperand) const ; @@ -17100,27 +17221,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 (C_Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (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, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -17135,7 +17256,7 @@ class cPtr_gtlLibrariesInstruction : public cPtr_gtlInstruction { //--- Attribute accessors //--- Description - public: virtual void description (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -17144,19 +17265,16 @@ 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 ; @@ -17168,21 +17286,21 @@ class GALGAS_gtlInputStatementInstruction : public GALGAS_gtlInstruction { //--------------------------------- Property read access public: class GALGAS_gtlArgumentList readProperty_formalArguments (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlInputStatementInstruction extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlInputStatementInstruction & inOperand) const ; @@ -17205,27 +17323,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 (C_Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (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, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -17244,7 +17362,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -17253,42 +17371,39 @@ 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 C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Abstract extension method '@gtlInstruction display' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void callExtensionMethod_display (class cPtr_gtlInstruction * inObject, - class C_Compiler * inCompiler + class 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 ; @@ -17304,21 +17419,21 @@ class GALGAS_gtlBreakpoint : public AC_GALGAS_value_class { public: class GALGAS_string readProperty_signature (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlBreakpoint extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlBreakpoint & inOperand) const ; @@ -17347,15 +17462,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 { @@ -17382,7 +17497,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -17391,11 +17506,11 @@ class cPtr_gtlBreakpoint : public acPtr_class { } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 1: @gtlBreakpointList_2D_element struct // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_gtlBreakpointList_2D_element : public AC_GALGAS_root { //--------------------------------- Properties @@ -17408,9 +17523,6 @@ 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) ; @@ -17425,23 +17537,24 @@ class GALGAS_gtlBreakpointList_2D_element : public AC_GALGAS_root { //--------------------------------- Native constructor public: GALGAS_gtlBreakpointList_2D_element (const GALGAS_gtlBreakpoint & in_breakpoint) ; -//-- Start of generic part --* +//-- Start of type 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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS constructors - public: static class GALGAS_gtlBreakpointList_2D_element constructor_new (const class GALGAS_gtlBreakpoint & inOperand0 - 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) ; //--------------------------------- Implementation of getter 'description' - public: VIRTUAL_IN_DEBUG void description (C_String & ioString, - const int32_t inIndentation) const override ; + public: VIRTUAL_IN_DEBUG void description (String & ioString, + const int32_t inIndentation) const override ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlBreakpointList_2D_element & inOperand) const ; @@ -17460,15 +17573,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 @@ -17486,9 +17599,6 @@ 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) ; @@ -17508,24 +17618,25 @@ 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 generic part --* +//-- Start of type 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, - C_Compiler * inCompiler + 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) ; +//--------------------------------- 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) ; //--------------------------------- Implementation of getter 'description' - public: VIRTUAL_IN_DEBUG void description (C_String & ioString, - const int32_t inIndentation) const override ; + public: VIRTUAL_IN_DEBUG void description (String & ioString, + const int32_t inIndentation) const override ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlInstructionListContextStack_2D_element & inOperand) const ; @@ -17544,7 +17655,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 3ee5e9d26..89e5520b1 100644 --- a/goil/build/output/all-declarations-1.cpp +++ b/goil/build/output/all-declarations-1.cpp @@ -1,15 +1,15 @@ -#include "galgas2/C_Compiler.h" -#include "galgas2/C_galgas_io.h" -#include "galgas2/C_galgas_CLI_Options.h" -#include "utilities/C_PrologueEpilogue.h" +#include "Compiler.h" +#include "C_galgas_io.h" +#include "C_galgas_CLI_Options.h" +#include "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,29 +40,22 @@ 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::constructor_new (const GALGAS_stringlist & inAttribute_history - COMMA_LOCATION_ARGS) { +GALGAS_debugCommandInput GALGAS_debugCommandInput::class_func_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)) ; @@ -70,7 +63,7 @@ GALGAS_debugCommandInput GALGAS_debugCommandInput::constructor_new (const GALGAS return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_stringlist GALGAS_debugCommandInput::readProperty_history (void) const { if (nullptr == mObjectPtr) { @@ -82,13 +75,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) { @@ -100,16 +93,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) : @@ -117,20 +110,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 (C_String & ioString, +void cPtr_debugCommandInput::description (String & ioString, const int32_t inIndentation) const { - ioString << "[@debugCommandInput:" ; + ioString.appendCString ("[@debugCommandInput:") ; mProperty_history.description (ioString, inIndentation+1) ; - ioString << "]" ; + ioString.appendCString ("]") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- acPtr_class * cPtr_debugCommandInput::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -139,23 +132,22 @@ 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 ; @@ -165,10 +157,10 @@ AC_GALGAS_root * GALGAS_debugCommandInput::clonedObject (void) const { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_debugCommandInput GALGAS_debugCommandInput::extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_debugCommandInput result ; const GALGAS_debugCommandInput * p = (const GALGAS_debugCommandInput *) inObject.embeddedObject () ; @@ -182,9 +174,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 ; @@ -202,7 +194,7 @@ typeComparisonResult cPtr_gtlBreakpoint::dynamicObjectCompare (const acPtr_class return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_gtlBreakpoint::objectCompare (const GALGAS_gtlBreakpoint & inOperand) const { @@ -221,33 +213,24 @@ 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::constructor_new (const GALGAS_string & inAttribute_fileName, - const GALGAS_uint & inAttribute_lineNum, - const GALGAS_string & inAttribute_signature - COMMA_LOCATION_ARGS) { +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 result ; if (inAttribute_fileName.isValid () && inAttribute_lineNum.isValid () && inAttribute_signature.isValid ()) { macroMyNew (result.mObjectPtr, cPtr_gtlBreakpoint (inAttribute_fileName, inAttribute_lineNum, inAttribute_signature COMMA_THERE)) ; @@ -255,7 +238,7 @@ GALGAS_gtlBreakpoint GALGAS_gtlBreakpoint::constructor_new (const GALGAS_string return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_string GALGAS_gtlBreakpoint::readProperty_fileName (void) const { if (nullptr == mObjectPtr) { @@ -267,13 +250,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) { @@ -285,13 +268,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) { @@ -303,13 +286,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) { @@ -321,14 +304,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) { @@ -340,14 +323,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) { @@ -359,16 +342,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, @@ -380,24 +363,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 (C_String & ioString, +void cPtr_gtlBreakpoint::description (String & ioString, const int32_t inIndentation) const { - ioString << "[@gtlBreakpoint:" ; + ioString.appendCString ("[@gtlBreakpoint:") ; mProperty_fileName.description (ioString, inIndentation+1) ; - ioString << ", " ; + ioString.appendCString (", ") ; mProperty_lineNum.description (ioString, inIndentation+1) ; - ioString << ", " ; + ioString.appendCString (", ") ; mProperty_signature.description (ioString, inIndentation+1) ; - ioString << "]" ; + ioString.appendCString ("]") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- acPtr_class * cPtr_gtlBreakpoint::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -406,23 +389,22 @@ 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 ; @@ -432,10 +414,10 @@ AC_GALGAS_root * GALGAS_gtlBreakpoint::clonedObject (void) const { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlBreakpoint GALGAS_gtlBreakpoint::extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlBreakpoint result ; const GALGAS_gtlBreakpoint * p = (const GALGAS_gtlBreakpoint *) inObject.embeddedObject () ; @@ -449,14 +431,14 @@ GALGAS_gtlBreakpoint GALGAS_gtlBreakpoint::extractObject (const GALGAS_object & return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Extension Getter '@gtlVarPath stringRepresentation' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_string extensionGetter_stringRepresentation (const GALGAS_gtlVarPath & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { GALGAS_string result_result ; // Returned variable const GALGAS_gtlVarPath temp_0 = inObject ; @@ -474,15 +456,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_string result ; if (nullptr != inObject) { @@ -491,14 +473,14 @@ GALGAS_string callExtensionGetter_stringRepresentation (const cPtr_gtlVarItem * return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Extension Getter '@gtlExpressionList stringRepresentation' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_string extensionGetter_stringRepresentation (const GALGAS_gtlExpressionList & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { GALGAS_string result_result ; // Returned variable result_result = GALGAS_string::makeEmptyString () ; @@ -518,14 +500,14 @@ GALGAS_string extensionGetter_stringRepresentation (const GALGAS_gtlExpressionLi -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Extension Getter '@gtlExpressionMap mapRepresentation' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_string extensionGetter_mapRepresentation (const GALGAS_gtlExpressionMap & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { GALGAS_string result_result ; // Returned variable result_result = GALGAS_string::makeEmptyString () ; @@ -545,14 +527,14 @@ GALGAS_string extensionGetter_mapRepresentation (const GALGAS_gtlExpressionMap & -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Extension Getter '@gtlExpressionMap structRepresentation' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_string extensionGetter_structRepresentation (const GALGAS_gtlExpressionMap & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { GALGAS_string result_result ; // Returned variable result_result = GALGAS_string::makeEmptyString () ; @@ -572,14 +554,14 @@ GALGAS_string extensionGetter_structRepresentation (const GALGAS_gtlExpressionMa -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Extension Getter '@gtlArgumentList stringRepresentation' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_string extensionGetter_stringRepresentation (const GALGAS_gtlArgumentList & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { GALGAS_string result_result ; // Returned variable result_result = GALGAS_string::makeEmptyString () ; @@ -606,14 +588,14 @@ GALGAS_string extensionGetter_stringRepresentation (const GALGAS_gtlArgumentList -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Extension Getter '@sortingKeyList stringRepresentation' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_string extensionGetter_stringRepresentation (const GALGAS_sortingKeyList & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { GALGAS_string result_result ; // Returned variable result_result = GALGAS_string::makeEmptyString () ; @@ -633,13 +615,13 @@ GALGAS_string extensionGetter_stringRepresentation (const GALGAS_sortingKeyList -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Extension getter '@gtlInstruction shortLocation' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_string cPtr_gtlInstruction::getter_shortLocation (C_Compiler * inCompiler +GALGAS_string cPtr_gtlInstruction::getter_shortLocation (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)) ; @@ -649,10 +631,10 @@ GALGAS_string cPtr_gtlInstruction::getter_shortLocation (C_Compiler * inCompiler -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_string callExtensionGetter_shortLocation (const cPtr_gtlInstruction * inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_string result ; if (nullptr != inObject) { @@ -661,14 +643,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, - C_Compiler * inCompiler + 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)) ; @@ -678,25 +660,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, - C_Compiler * inCompiler + 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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { //--- Drop output arguments //--- Find method @@ -705,16 +687,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 */, - C_Compiler */* inCompiler */ + Compiler */* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_bool result_may ; // Returned variable result_may = GALGAS_bool (true) ; @@ -724,13 +706,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_bool result ; if (nullptr != inObject) { @@ -739,9 +721,9 @@ GALGAS_bool callExtensionGetter_mayExecuteWithoutError (const cPtr_gtlInstructio return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Object comparison -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult cPtr_gtlStepInstruction::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { typeComparisonResult result = kOperandEqual ; @@ -756,7 +738,7 @@ typeComparisonResult cPtr_gtlStepInstruction::dynamicObjectCompare (const acPtr_ return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_gtlStepInstruction::objectCompare (const GALGAS_gtlStepInstruction & inOperand) const { @@ -775,31 +757,23 @@ 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::constructor_new (const GALGAS_location & inAttribute_where, - const GALGAS_string & inAttribute_signature - COMMA_LOCATION_ARGS) { +GALGAS_gtlStepInstruction GALGAS_gtlStepInstruction::class_func_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)) ; @@ -807,9 +781,9 @@ GALGAS_gtlStepInstruction GALGAS_gtlStepInstruction::constructor_new (const GALG return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- //Pointer class for @gtlStepInstruction class -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cPtr_gtlStepInstruction::cPtr_gtlStepInstruction (const GALGAS_location & in_where, const GALGAS_string & in_signature @@ -817,22 +791,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 (C_String & ioString, +void cPtr_gtlStepInstruction::description (String & ioString, const int32_t inIndentation) const { - ioString << "[@gtlStepInstruction:" ; + ioString.appendCString ("[@gtlStepInstruction:") ; mProperty_where.description (ioString, inIndentation+1) ; - ioString << ", " ; + ioString.appendCString (", ") ; mProperty_signature.description (ioString, inIndentation+1) ; - ioString << "]" ; + ioString.appendCString ("]") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- acPtr_class * cPtr_gtlStepInstruction::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -841,23 +815,22 @@ 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 ; @@ -867,10 +840,10 @@ AC_GALGAS_root * GALGAS_gtlStepInstruction::clonedObject (void) const { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlStepInstruction GALGAS_gtlStepInstruction::extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlStepInstruction result ; const GALGAS_gtlStepInstruction * p = (const GALGAS_gtlStepInstruction *) inObject.embeddedObject () ; @@ -884,9 +857,9 @@ GALGAS_gtlStepInstruction GALGAS_gtlStepInstruction::extractObject (const GALGAS return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Object comparison -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult cPtr_gtlDoInstInstruction::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { typeComparisonResult result = kOperandEqual ; @@ -904,7 +877,7 @@ typeComparisonResult cPtr_gtlDoInstInstruction::dynamicObjectCompare (const acPt return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_gtlDoInstInstruction::objectCompare (const GALGAS_gtlDoInstInstruction & inOperand) const { @@ -923,24 +896,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::constructor_new (const GALGAS_location & inAttribute_where, - const GALGAS_string & inAttribute_signature, - const GALGAS_gtlInstruction & inAttribute_instructionToDo - COMMA_LOCATION_ARGS) { +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 result ; if (inAttribute_where.isValid () && inAttribute_signature.isValid () && inAttribute_instructionToDo.isValid ()) { macroMyNew (result.mObjectPtr, cPtr_gtlDoInstInstruction (inAttribute_where, inAttribute_signature, inAttribute_instructionToDo COMMA_THERE)) ; @@ -948,7 +921,7 @@ GALGAS_gtlDoInstInstruction GALGAS_gtlDoInstInstruction::constructor_new (const return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlInstruction GALGAS_gtlDoInstInstruction::readProperty_instructionToDo (void) const { if (nullptr == mObjectPtr) { @@ -960,13 +933,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) { @@ -978,16 +951,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, @@ -997,24 +970,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 (C_String & ioString, +void cPtr_gtlDoInstInstruction::description (String & ioString, const int32_t inIndentation) const { - ioString << "[@gtlDoInstInstruction:" ; + ioString.appendCString ("[@gtlDoInstInstruction:") ; mProperty_where.description (ioString, inIndentation+1) ; - ioString << ", " ; + ioString.appendCString (", ") ; mProperty_signature.description (ioString, inIndentation+1) ; - ioString << ", " ; + ioString.appendCString (", ") ; mProperty_instructionToDo.description (ioString, inIndentation+1) ; - ioString << "]" ; + ioString.appendCString ("]") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- acPtr_class * cPtr_gtlDoInstInstruction::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -1023,23 +996,22 @@ 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 ; @@ -1049,10 +1021,10 @@ AC_GALGAS_root * GALGAS_gtlDoInstInstruction::clonedObject (void) const { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlDoInstInstruction GALGAS_gtlDoInstInstruction::extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlDoInstInstruction result ; const GALGAS_gtlDoInstInstruction * p = (const GALGAS_gtlDoInstInstruction *) inObject.embeddedObject () ; @@ -1066,9 +1038,9 @@ GALGAS_gtlDoInstInstruction GALGAS_gtlDoInstInstruction::extractObject (const GA return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Object comparison -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult cPtr_gtlDoNotAllInstruction::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { typeComparisonResult result = kOperandEqual ; @@ -1083,7 +1055,7 @@ typeComparisonResult cPtr_gtlDoNotAllInstruction::dynamicObjectCompare (const ac return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_gtlDoNotAllInstruction::objectCompare (const GALGAS_gtlDoNotAllInstruction & inOperand) const { @@ -1102,31 +1074,23 @@ 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::constructor_new (const GALGAS_location & inAttribute_where, - const GALGAS_string & inAttribute_signature - COMMA_LOCATION_ARGS) { +GALGAS_gtlDoNotAllInstruction GALGAS_gtlDoNotAllInstruction::class_func_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)) ; @@ -1134,9 +1098,9 @@ GALGAS_gtlDoNotAllInstruction GALGAS_gtlDoNotAllInstruction::constructor_new (co return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- //Pointer class for @gtlDoNotAllInstruction class -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cPtr_gtlDoNotAllInstruction::cPtr_gtlDoNotAllInstruction (const GALGAS_location & in_where, const GALGAS_string & in_signature @@ -1144,22 +1108,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 (C_String & ioString, +void cPtr_gtlDoNotAllInstruction::description (String & ioString, const int32_t inIndentation) const { - ioString << "[@gtlDoNotAllInstruction:" ; + ioString.appendCString ("[@gtlDoNotAllInstruction:") ; mProperty_where.description (ioString, inIndentation+1) ; - ioString << ", " ; + ioString.appendCString (", ") ; mProperty_signature.description (ioString, inIndentation+1) ; - ioString << "]" ; + ioString.appendCString ("]") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- acPtr_class * cPtr_gtlDoNotAllInstruction::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -1168,23 +1132,22 @@ 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 ; @@ -1194,10 +1157,10 @@ AC_GALGAS_root * GALGAS_gtlDoNotAllInstruction::clonedObject (void) const { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlDoNotAllInstruction GALGAS_gtlDoNotAllInstruction::extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlDoNotAllInstruction result ; const GALGAS_gtlDoNotAllInstruction * p = (const GALGAS_gtlDoNotAllInstruction *) inObject.embeddedObject () ; @@ -1211,9 +1174,9 @@ GALGAS_gtlDoNotAllInstruction GALGAS_gtlDoNotAllInstruction::extractObject (cons return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Object comparison -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult cPtr_gtlDoInstruction::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { typeComparisonResult result = kOperandEqual ; @@ -1228,7 +1191,7 @@ typeComparisonResult cPtr_gtlDoInstruction::dynamicObjectCompare (const acPtr_cl return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_gtlDoInstruction::objectCompare (const GALGAS_gtlDoInstruction & inOperand) const { @@ -1247,31 +1210,23 @@ 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::constructor_new (const GALGAS_location & inAttribute_where, - const GALGAS_string & inAttribute_signature - COMMA_LOCATION_ARGS) { +GALGAS_gtlDoInstruction GALGAS_gtlDoInstruction::class_func_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)) ; @@ -1279,9 +1234,9 @@ GALGAS_gtlDoInstruction GALGAS_gtlDoInstruction::constructor_new (const GALGAS_l return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- //Pointer class for @gtlDoInstruction class -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cPtr_gtlDoInstruction::cPtr_gtlDoInstruction (const GALGAS_location & in_where, const GALGAS_string & in_signature @@ -1289,22 +1244,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 (C_String & ioString, +void cPtr_gtlDoInstruction::description (String & ioString, const int32_t inIndentation) const { - ioString << "[@gtlDoInstruction:" ; + ioString.appendCString ("[@gtlDoInstruction:") ; mProperty_where.description (ioString, inIndentation+1) ; - ioString << ", " ; + ioString.appendCString (", ") ; mProperty_signature.description (ioString, inIndentation+1) ; - ioString << "]" ; + ioString.appendCString ("]") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- acPtr_class * cPtr_gtlDoInstruction::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -1313,23 +1268,22 @@ 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 ; @@ -1339,10 +1293,10 @@ AC_GALGAS_root * GALGAS_gtlDoInstruction::clonedObject (void) const { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlDoInstruction GALGAS_gtlDoInstruction::extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlDoInstruction result ; const GALGAS_gtlDoInstruction * p = (const GALGAS_gtlDoInstruction *) inObject.embeddedObject () ; @@ -1356,9 +1310,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 ; @@ -1373,7 +1327,7 @@ typeComparisonResult cPtr_gtlContinueInstruction::dynamicObjectCompare (const ac return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_gtlContinueInstruction::objectCompare (const GALGAS_gtlContinueInstruction & inOperand) const { @@ -1392,31 +1346,23 @@ 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::constructor_new (const GALGAS_location & inAttribute_where, - const GALGAS_string & inAttribute_signature - COMMA_LOCATION_ARGS) { +GALGAS_gtlContinueInstruction GALGAS_gtlContinueInstruction::class_func_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)) ; @@ -1424,9 +1370,9 @@ GALGAS_gtlContinueInstruction GALGAS_gtlContinueInstruction::constructor_new (co return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- //Pointer class for @gtlContinueInstruction class -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cPtr_gtlContinueInstruction::cPtr_gtlContinueInstruction (const GALGAS_location & in_where, const GALGAS_string & in_signature @@ -1434,22 +1380,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 (C_String & ioString, +void cPtr_gtlContinueInstruction::description (String & ioString, const int32_t inIndentation) const { - ioString << "[@gtlContinueInstruction:" ; + ioString.appendCString ("[@gtlContinueInstruction:") ; mProperty_where.description (ioString, inIndentation+1) ; - ioString << ", " ; + ioString.appendCString (", ") ; mProperty_signature.description (ioString, inIndentation+1) ; - ioString << "]" ; + ioString.appendCString ("]") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- acPtr_class * cPtr_gtlContinueInstruction::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -1458,23 +1404,22 @@ 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 ; @@ -1484,10 +1429,10 @@ AC_GALGAS_root * GALGAS_gtlContinueInstruction::clonedObject (void) const { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlContinueInstruction GALGAS_gtlContinueInstruction::extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlContinueInstruction result ; const GALGAS_gtlContinueInstruction * p = (const GALGAS_gtlContinueInstruction *) inObject.embeddedObject () ; @@ -1501,9 +1446,9 @@ GALGAS_gtlContinueInstruction GALGAS_gtlContinueInstruction::extractObject (cons return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Object comparison -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult cPtr_gtlBreakpointInstruction::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { typeComparisonResult result = kOperandEqual ; @@ -1524,7 +1469,7 @@ typeComparisonResult cPtr_gtlBreakpointInstruction::dynamicObjectCompare (const return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_gtlBreakpointInstruction::objectCompare (const GALGAS_gtlBreakpointInstruction & inOperand) const { @@ -1543,35 +1488,25 @@ 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::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 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 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)) ; @@ -1579,7 +1514,7 @@ GALGAS_gtlBreakpointInstruction GALGAS_gtlBreakpointInstruction::constructor_new return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_string GALGAS_gtlBreakpointInstruction::readProperty_fileName (void) const { if (nullptr == mObjectPtr) { @@ -1591,13 +1526,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) { @@ -1609,13 +1544,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) { @@ -1627,14 +1562,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) { @@ -1646,16 +1581,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, @@ -1667,26 +1602,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 (C_String & ioString, +void cPtr_gtlBreakpointInstruction::description (String & ioString, const int32_t inIndentation) const { - ioString << "[@gtlBreakpointInstruction:" ; + ioString.appendCString ("[@gtlBreakpointInstruction:") ; mProperty_where.description (ioString, inIndentation+1) ; - ioString << ", " ; + ioString.appendCString (", ") ; mProperty_signature.description (ioString, inIndentation+1) ; - ioString << ", " ; + ioString.appendCString (", ") ; mProperty_fileName.description (ioString, inIndentation+1) ; - ioString << ", " ; + ioString.appendCString (", ") ; mProperty_lineNum.description (ioString, inIndentation+1) ; - ioString << "]" ; + ioString.appendCString ("]") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- acPtr_class * cPtr_gtlBreakpointInstruction::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -1695,23 +1630,22 @@ 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 ; @@ -1721,10 +1655,10 @@ AC_GALGAS_root * GALGAS_gtlBreakpointInstruction::clonedObject (void) const { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlBreakpointInstruction GALGAS_gtlBreakpointInstruction::extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlBreakpointInstruction result ; const GALGAS_gtlBreakpointInstruction * p = (const GALGAS_gtlBreakpointInstruction *) inObject.embeddedObject () ; @@ -1738,9 +1672,9 @@ GALGAS_gtlBreakpointInstruction GALGAS_gtlBreakpointInstruction::extractObject ( return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Object comparison -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult cPtr_gtlBreakpointListInstruction::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { typeComparisonResult result = kOperandEqual ; @@ -1755,7 +1689,7 @@ typeComparisonResult cPtr_gtlBreakpointListInstruction::dynamicObjectCompare (co return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_gtlBreakpointListInstruction::objectCompare (const GALGAS_gtlBreakpointListInstruction & inOperand) const { @@ -1774,31 +1708,23 @@ 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::constructor_new (const GALGAS_location & inAttribute_where, - const GALGAS_string & inAttribute_signature - COMMA_LOCATION_ARGS) { +GALGAS_gtlBreakpointListInstruction GALGAS_gtlBreakpointListInstruction::class_func_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)) ; @@ -1806,9 +1732,9 @@ GALGAS_gtlBreakpointListInstruction GALGAS_gtlBreakpointListInstruction::constru return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- //Pointer class for @gtlBreakpointListInstruction class -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cPtr_gtlBreakpointListInstruction::cPtr_gtlBreakpointListInstruction (const GALGAS_location & in_where, const GALGAS_string & in_signature @@ -1816,22 +1742,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 (C_String & ioString, +void cPtr_gtlBreakpointListInstruction::description (String & ioString, const int32_t inIndentation) const { - ioString << "[@gtlBreakpointListInstruction:" ; + ioString.appendCString ("[@gtlBreakpointListInstruction:") ; mProperty_where.description (ioString, inIndentation+1) ; - ioString << ", " ; + ioString.appendCString (", ") ; mProperty_signature.description (ioString, inIndentation+1) ; - ioString << "]" ; + ioString.appendCString ("]") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- acPtr_class * cPtr_gtlBreakpointListInstruction::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -1840,23 +1766,22 @@ 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 ; @@ -1866,10 +1791,10 @@ AC_GALGAS_root * GALGAS_gtlBreakpointListInstruction::clonedObject (void) const return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlBreakpointListInstruction GALGAS_gtlBreakpointListInstruction::extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlBreakpointListInstruction result ; const GALGAS_gtlBreakpointListInstruction * p = (const GALGAS_gtlBreakpointListInstruction *) inObject.embeddedObject () ; @@ -1883,9 +1808,9 @@ GALGAS_gtlBreakpointListInstruction GALGAS_gtlBreakpointListInstruction::extract return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Object comparison -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult cPtr_gtlBreakpointDeleteInstruction::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { typeComparisonResult result = kOperandEqual ; @@ -1903,7 +1828,7 @@ typeComparisonResult cPtr_gtlBreakpointDeleteInstruction::dynamicObjectCompare ( return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_gtlBreakpointDeleteInstruction::objectCompare (const GALGAS_gtlBreakpointDeleteInstruction & inOperand) const { @@ -1922,33 +1847,24 @@ 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::constructor_new (const GALGAS_location & inAttribute_where, - const GALGAS_string & inAttribute_signature, - const GALGAS_lbigint & inAttribute_numToDelete - COMMA_LOCATION_ARGS) { +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 result ; if (inAttribute_where.isValid () && inAttribute_signature.isValid () && inAttribute_numToDelete.isValid ()) { macroMyNew (result.mObjectPtr, cPtr_gtlBreakpointDeleteInstruction (inAttribute_where, inAttribute_signature, inAttribute_numToDelete COMMA_THERE)) ; @@ -1956,7 +1872,7 @@ GALGAS_gtlBreakpointDeleteInstruction GALGAS_gtlBreakpointDeleteInstruction::con return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_lbigint GALGAS_gtlBreakpointDeleteInstruction::readProperty_numToDelete (void) const { if (nullptr == mObjectPtr) { @@ -1968,13 +1884,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) { @@ -1986,16 +1902,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, @@ -2005,24 +1921,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 (C_String & ioString, +void cPtr_gtlBreakpointDeleteInstruction::description (String & ioString, const int32_t inIndentation) const { - ioString << "[@gtlBreakpointDeleteInstruction:" ; + ioString.appendCString ("[@gtlBreakpointDeleteInstruction:") ; mProperty_where.description (ioString, inIndentation+1) ; - ioString << ", " ; + ioString.appendCString (", ") ; mProperty_signature.description (ioString, inIndentation+1) ; - ioString << ", " ; + ioString.appendCString (", ") ; mProperty_numToDelete.description (ioString, inIndentation+1) ; - ioString << "]" ; + ioString.appendCString ("]") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- acPtr_class * cPtr_gtlBreakpointDeleteInstruction::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -2031,23 +1947,22 @@ 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 ; @@ -2057,10 +1972,10 @@ AC_GALGAS_root * GALGAS_gtlBreakpointDeleteInstruction::clonedObject (void) cons return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlBreakpointDeleteInstruction GALGAS_gtlBreakpointDeleteInstruction::extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlBreakpointDeleteInstruction result ; const GALGAS_gtlBreakpointDeleteInstruction * p = (const GALGAS_gtlBreakpointDeleteInstruction *) inObject.embeddedObject () ; @@ -2074,9 +1989,9 @@ GALGAS_gtlBreakpointDeleteInstruction GALGAS_gtlBreakpointDeleteInstruction::ext return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Object comparison -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult cPtr_gtlBreakpointDeleteAllInstruction::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { typeComparisonResult result = kOperandEqual ; @@ -2091,7 +2006,7 @@ typeComparisonResult cPtr_gtlBreakpointDeleteAllInstruction::dynamicObjectCompar return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_gtlBreakpointDeleteAllInstruction::objectCompare (const GALGAS_gtlBreakpointDeleteAllInstruction & inOperand) const { @@ -2110,31 +2025,23 @@ 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::constructor_new (const GALGAS_location & inAttribute_where, - const GALGAS_string & inAttribute_signature - COMMA_LOCATION_ARGS) { +GALGAS_gtlBreakpointDeleteAllInstruction GALGAS_gtlBreakpointDeleteAllInstruction::class_func_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)) ; @@ -2142,9 +2049,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 @@ -2152,22 +2059,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 (C_String & ioString, +void cPtr_gtlBreakpointDeleteAllInstruction::description (String & ioString, const int32_t inIndentation) const { - ioString << "[@gtlBreakpointDeleteAllInstruction:" ; + ioString.appendCString ("[@gtlBreakpointDeleteAllInstruction:") ; mProperty_where.description (ioString, inIndentation+1) ; - ioString << ", " ; + ioString.appendCString (", ") ; mProperty_signature.description (ioString, inIndentation+1) ; - ioString << "]" ; + ioString.appendCString ("]") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- acPtr_class * cPtr_gtlBreakpointDeleteAllInstruction::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -2176,23 +2083,22 @@ 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 ; @@ -2202,10 +2108,10 @@ AC_GALGAS_root * GALGAS_gtlBreakpointDeleteAllInstruction::clonedObject (void) c return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlBreakpointDeleteAllInstruction GALGAS_gtlBreakpointDeleteAllInstruction::extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlBreakpointDeleteAllInstruction result ; const GALGAS_gtlBreakpointDeleteAllInstruction * p = (const GALGAS_gtlBreakpointDeleteAllInstruction *) inObject.embeddedObject () ; @@ -2219,9 +2125,9 @@ GALGAS_gtlBreakpointDeleteAllInstruction GALGAS_gtlBreakpointDeleteAllInstructio return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Object comparison -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult cPtr_gtlWatchpointListInstruction::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { typeComparisonResult result = kOperandEqual ; @@ -2236,7 +2142,7 @@ typeComparisonResult cPtr_gtlWatchpointListInstruction::dynamicObjectCompare (co return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_gtlWatchpointListInstruction::objectCompare (const GALGAS_gtlWatchpointListInstruction & inOperand) const { @@ -2255,31 +2161,23 @@ 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::constructor_new (const GALGAS_location & inAttribute_where, - const GALGAS_string & inAttribute_signature - COMMA_LOCATION_ARGS) { +GALGAS_gtlWatchpointListInstruction GALGAS_gtlWatchpointListInstruction::class_func_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)) ; @@ -2287,9 +2185,9 @@ GALGAS_gtlWatchpointListInstruction GALGAS_gtlWatchpointListInstruction::constru return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- //Pointer class for @gtlWatchpointListInstruction class -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cPtr_gtlWatchpointListInstruction::cPtr_gtlWatchpointListInstruction (const GALGAS_location & in_where, const GALGAS_string & in_signature @@ -2297,22 +2195,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 (C_String & ioString, +void cPtr_gtlWatchpointListInstruction::description (String & ioString, const int32_t inIndentation) const { - ioString << "[@gtlWatchpointListInstruction:" ; + ioString.appendCString ("[@gtlWatchpointListInstruction:") ; mProperty_where.description (ioString, inIndentation+1) ; - ioString << ", " ; + ioString.appendCString (", ") ; mProperty_signature.description (ioString, inIndentation+1) ; - ioString << "]" ; + ioString.appendCString ("]") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- acPtr_class * cPtr_gtlWatchpointListInstruction::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -2321,23 +2219,22 @@ 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 ; @@ -2347,10 +2244,10 @@ AC_GALGAS_root * GALGAS_gtlWatchpointListInstruction::clonedObject (void) const return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlWatchpointListInstruction GALGAS_gtlWatchpointListInstruction::extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlWatchpointListInstruction result ; const GALGAS_gtlWatchpointListInstruction * p = (const GALGAS_gtlWatchpointListInstruction *) inObject.embeddedObject () ; @@ -2364,9 +2261,9 @@ GALGAS_gtlWatchpointListInstruction GALGAS_gtlWatchpointListInstruction::extract return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Object comparison -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult cPtr_gtlWatchpointDeleteInstruction::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { typeComparisonResult result = kOperandEqual ; @@ -2384,7 +2281,7 @@ typeComparisonResult cPtr_gtlWatchpointDeleteInstruction::dynamicObjectCompare ( return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_gtlWatchpointDeleteInstruction::objectCompare (const GALGAS_gtlWatchpointDeleteInstruction & inOperand) const { @@ -2403,33 +2300,24 @@ 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::constructor_new (const GALGAS_location & inAttribute_where, - const GALGAS_string & inAttribute_signature, - const GALGAS_lbigint & inAttribute_numToDelete - COMMA_LOCATION_ARGS) { +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 result ; if (inAttribute_where.isValid () && inAttribute_signature.isValid () && inAttribute_numToDelete.isValid ()) { macroMyNew (result.mObjectPtr, cPtr_gtlWatchpointDeleteInstruction (inAttribute_where, inAttribute_signature, inAttribute_numToDelete COMMA_THERE)) ; @@ -2437,7 +2325,7 @@ GALGAS_gtlWatchpointDeleteInstruction GALGAS_gtlWatchpointDeleteInstruction::con return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_lbigint GALGAS_gtlWatchpointDeleteInstruction::readProperty_numToDelete (void) const { if (nullptr == mObjectPtr) { @@ -2449,13 +2337,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) { @@ -2467,16 +2355,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, @@ -2486,24 +2374,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 (C_String & ioString, +void cPtr_gtlWatchpointDeleteInstruction::description (String & ioString, const int32_t inIndentation) const { - ioString << "[@gtlWatchpointDeleteInstruction:" ; + ioString.appendCString ("[@gtlWatchpointDeleteInstruction:") ; mProperty_where.description (ioString, inIndentation+1) ; - ioString << ", " ; + ioString.appendCString (", ") ; mProperty_signature.description (ioString, inIndentation+1) ; - ioString << ", " ; + ioString.appendCString (", ") ; mProperty_numToDelete.description (ioString, inIndentation+1) ; - ioString << "]" ; + ioString.appendCString ("]") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- acPtr_class * cPtr_gtlWatchpointDeleteInstruction::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -2512,23 +2400,22 @@ 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 ; @@ -2538,10 +2425,10 @@ AC_GALGAS_root * GALGAS_gtlWatchpointDeleteInstruction::clonedObject (void) cons return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlWatchpointDeleteInstruction GALGAS_gtlWatchpointDeleteInstruction::extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlWatchpointDeleteInstruction result ; const GALGAS_gtlWatchpointDeleteInstruction * p = (const GALGAS_gtlWatchpointDeleteInstruction *) inObject.embeddedObject () ; @@ -2555,9 +2442,9 @@ GALGAS_gtlWatchpointDeleteInstruction GALGAS_gtlWatchpointDeleteInstruction::ext return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Object comparison -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult cPtr_gtlWatchpointDeleteAllInstruction::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { typeComparisonResult result = kOperandEqual ; @@ -2572,7 +2459,7 @@ typeComparisonResult cPtr_gtlWatchpointDeleteAllInstruction::dynamicObjectCompar return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_gtlWatchpointDeleteAllInstruction::objectCompare (const GALGAS_gtlWatchpointDeleteAllInstruction & inOperand) const { @@ -2591,31 +2478,23 @@ 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::constructor_new (const GALGAS_location & inAttribute_where, - const GALGAS_string & inAttribute_signature - COMMA_LOCATION_ARGS) { +GALGAS_gtlWatchpointDeleteAllInstruction GALGAS_gtlWatchpointDeleteAllInstruction::class_func_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)) ; @@ -2623,9 +2502,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 @@ -2633,22 +2512,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 (C_String & ioString, +void cPtr_gtlWatchpointDeleteAllInstruction::description (String & ioString, const int32_t inIndentation) const { - ioString << "[@gtlWatchpointDeleteAllInstruction:" ; + ioString.appendCString ("[@gtlWatchpointDeleteAllInstruction:") ; mProperty_where.description (ioString, inIndentation+1) ; - ioString << ", " ; + ioString.appendCString (", ") ; mProperty_signature.description (ioString, inIndentation+1) ; - ioString << "]" ; + ioString.appendCString ("]") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- acPtr_class * cPtr_gtlWatchpointDeleteAllInstruction::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -2657,23 +2536,22 @@ 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 ; @@ -2683,10 +2561,10 @@ AC_GALGAS_root * GALGAS_gtlWatchpointDeleteAllInstruction::clonedObject (void) c return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlWatchpointDeleteAllInstruction GALGAS_gtlWatchpointDeleteAllInstruction::extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlWatchpointDeleteAllInstruction result ; const GALGAS_gtlWatchpointDeleteAllInstruction * p = (const GALGAS_gtlWatchpointDeleteAllInstruction *) inObject.embeddedObject () ; @@ -2700,9 +2578,9 @@ GALGAS_gtlWatchpointDeleteAllInstruction GALGAS_gtlWatchpointDeleteAllInstructio return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Object comparison -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult cPtr_gtlListInstruction::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { typeComparisonResult result = kOperandEqual ; @@ -2720,7 +2598,7 @@ typeComparisonResult cPtr_gtlListInstruction::dynamicObjectCompare (const acPtr_ return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_gtlListInstruction::objectCompare (const GALGAS_gtlListInstruction & inOperand) const { @@ -2739,33 +2617,24 @@ 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::constructor_new (const GALGAS_location & inAttribute_where, - const GALGAS_string & inAttribute_signature, - const GALGAS_uint & inAttribute_window - COMMA_LOCATION_ARGS) { +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 result ; if (inAttribute_where.isValid () && inAttribute_signature.isValid () && inAttribute_window.isValid ()) { macroMyNew (result.mObjectPtr, cPtr_gtlListInstruction (inAttribute_where, inAttribute_signature, inAttribute_window COMMA_THERE)) ; @@ -2773,7 +2642,7 @@ GALGAS_gtlListInstruction GALGAS_gtlListInstruction::constructor_new (const GALG return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_uint GALGAS_gtlListInstruction::readProperty_window (void) const { if (nullptr == mObjectPtr) { @@ -2785,13 +2654,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) { @@ -2803,16 +2672,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, @@ -2822,24 +2691,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 (C_String & ioString, +void cPtr_gtlListInstruction::description (String & ioString, const int32_t inIndentation) const { - ioString << "[@gtlListInstruction:" ; + ioString.appendCString ("[@gtlListInstruction:") ; mProperty_where.description (ioString, inIndentation+1) ; - ioString << ", " ; + ioString.appendCString (", ") ; mProperty_signature.description (ioString, inIndentation+1) ; - ioString << ", " ; + ioString.appendCString (", ") ; mProperty_window.description (ioString, inIndentation+1) ; - ioString << "]" ; + ioString.appendCString ("]") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- acPtr_class * cPtr_gtlListInstruction::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -2848,23 +2717,22 @@ 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 ; @@ -2874,10 +2742,10 @@ AC_GALGAS_root * GALGAS_gtlListInstruction::clonedObject (void) const { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlListInstruction GALGAS_gtlListInstruction::extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlListInstruction result ; const GALGAS_gtlListInstruction * p = (const GALGAS_gtlListInstruction *) inObject.embeddedObject () ; @@ -2891,9 +2759,9 @@ GALGAS_gtlListInstruction GALGAS_gtlListInstruction::extractObject (const GALGAS return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Object comparison -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult cPtr_gtlHistoryInstruction::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { typeComparisonResult result = kOperandEqual ; @@ -2908,7 +2776,7 @@ typeComparisonResult cPtr_gtlHistoryInstruction::dynamicObjectCompare (const acP return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_gtlHistoryInstruction::objectCompare (const GALGAS_gtlHistoryInstruction & inOperand) const { @@ -2927,31 +2795,23 @@ 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::constructor_new (const GALGAS_location & inAttribute_where, - const GALGAS_string & inAttribute_signature - COMMA_LOCATION_ARGS) { +GALGAS_gtlHistoryInstruction GALGAS_gtlHistoryInstruction::class_func_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)) ; @@ -2959,9 +2819,9 @@ GALGAS_gtlHistoryInstruction GALGAS_gtlHistoryInstruction::constructor_new (cons return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- //Pointer class for @gtlHistoryInstruction class -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cPtr_gtlHistoryInstruction::cPtr_gtlHistoryInstruction (const GALGAS_location & in_where, const GALGAS_string & in_signature @@ -2969,22 +2829,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 (C_String & ioString, +void cPtr_gtlHistoryInstruction::description (String & ioString, const int32_t inIndentation) const { - ioString << "[@gtlHistoryInstruction:" ; + ioString.appendCString ("[@gtlHistoryInstruction:") ; mProperty_where.description (ioString, inIndentation+1) ; - ioString << ", " ; + ioString.appendCString (", ") ; mProperty_signature.description (ioString, inIndentation+1) ; - ioString << "]" ; + ioString.appendCString ("]") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- acPtr_class * cPtr_gtlHistoryInstruction::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -2993,23 +2853,22 @@ 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 ; @@ -3019,10 +2878,10 @@ AC_GALGAS_root * GALGAS_gtlHistoryInstruction::clonedObject (void) const { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlHistoryInstruction GALGAS_gtlHistoryInstruction::extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlHistoryInstruction result ; const GALGAS_gtlHistoryInstruction * p = (const GALGAS_gtlHistoryInstruction *) inObject.embeddedObject () ; @@ -3036,9 +2895,9 @@ GALGAS_gtlHistoryInstruction GALGAS_gtlHistoryInstruction::extractObject (const return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Object comparison -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult cPtr_gtlLoadInstruction::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { typeComparisonResult result = kOperandEqual ; @@ -3056,7 +2915,7 @@ typeComparisonResult cPtr_gtlLoadInstruction::dynamicObjectCompare (const acPtr_ return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_gtlLoadInstruction::objectCompare (const GALGAS_gtlLoadInstruction & inOperand) const { @@ -3075,33 +2934,24 @@ 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::constructor_new (const GALGAS_location & inAttribute_where, - const GALGAS_string & inAttribute_signature, - const GALGAS_string & inAttribute_fileName - COMMA_LOCATION_ARGS) { +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 result ; if (inAttribute_where.isValid () && inAttribute_signature.isValid () && inAttribute_fileName.isValid ()) { macroMyNew (result.mObjectPtr, cPtr_gtlLoadInstruction (inAttribute_where, inAttribute_signature, inAttribute_fileName COMMA_THERE)) ; @@ -3109,7 +2959,7 @@ GALGAS_gtlLoadInstruction GALGAS_gtlLoadInstruction::constructor_new (const GALG return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_string GALGAS_gtlLoadInstruction::readProperty_fileName (void) const { if (nullptr == mObjectPtr) { @@ -3121,13 +2971,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) { @@ -3139,16 +2989,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, @@ -3158,24 +3008,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 (C_String & ioString, +void cPtr_gtlLoadInstruction::description (String & ioString, const int32_t inIndentation) const { - ioString << "[@gtlLoadInstruction:" ; + ioString.appendCString ("[@gtlLoadInstruction:") ; mProperty_where.description (ioString, inIndentation+1) ; - ioString << ", " ; + ioString.appendCString (", ") ; mProperty_signature.description (ioString, inIndentation+1) ; - ioString << ", " ; + ioString.appendCString (", ") ; mProperty_fileName.description (ioString, inIndentation+1) ; - ioString << "]" ; + ioString.appendCString ("]") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- acPtr_class * cPtr_gtlLoadInstruction::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -3184,23 +3034,22 @@ 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 ; @@ -3210,10 +3059,10 @@ AC_GALGAS_root * GALGAS_gtlLoadInstruction::clonedObject (void) const { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlLoadInstruction GALGAS_gtlLoadInstruction::extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlLoadInstruction result ; const GALGAS_gtlLoadInstruction * p = (const GALGAS_gtlLoadInstruction *) inObject.embeddedObject () ; @@ -3227,9 +3076,9 @@ GALGAS_gtlLoadInstruction GALGAS_gtlLoadInstruction::extractObject (const GALGAS return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Object comparison -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult cPtr_gtlHelpInstruction::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { typeComparisonResult result = kOperandEqual ; @@ -3244,7 +3093,7 @@ typeComparisonResult cPtr_gtlHelpInstruction::dynamicObjectCompare (const acPtr_ return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_gtlHelpInstruction::objectCompare (const GALGAS_gtlHelpInstruction & inOperand) const { @@ -3263,31 +3112,23 @@ 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::constructor_new (const GALGAS_location & inAttribute_where, - const GALGAS_string & inAttribute_signature - COMMA_LOCATION_ARGS) { +GALGAS_gtlHelpInstruction GALGAS_gtlHelpInstruction::class_func_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)) ; @@ -3295,9 +3136,9 @@ GALGAS_gtlHelpInstruction GALGAS_gtlHelpInstruction::constructor_new (const GALG return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- //Pointer class for @gtlHelpInstruction class -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cPtr_gtlHelpInstruction::cPtr_gtlHelpInstruction (const GALGAS_location & in_where, const GALGAS_string & in_signature @@ -3305,22 +3146,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 (C_String & ioString, +void cPtr_gtlHelpInstruction::description (String & ioString, const int32_t inIndentation) const { - ioString << "[@gtlHelpInstruction:" ; + ioString.appendCString ("[@gtlHelpInstruction:") ; mProperty_where.description (ioString, inIndentation+1) ; - ioString << ", " ; + ioString.appendCString (", ") ; mProperty_signature.description (ioString, inIndentation+1) ; - ioString << "]" ; + ioString.appendCString ("]") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- acPtr_class * cPtr_gtlHelpInstruction::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -3329,23 +3170,22 @@ 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 ; @@ -3355,10 +3195,10 @@ AC_GALGAS_root * GALGAS_gtlHelpInstruction::clonedObject (void) const { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_gtlHelpInstruction GALGAS_gtlHelpInstruction::extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_gtlHelpInstruction result ; const GALGAS_gtlHelpInstruction * p = (const GALGAS_gtlHelpInstruction *) inObject.embeddedObject () ; @@ -3372,26 +3212,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 COMMA_HERE) ; + gExtensionModifierTable_debugCommandInput_getCommand.forceObjectAtIndex (inClassIndex, inModifier, nullptr) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void callExtensionSetter_getCommand (cPtr_debugCommandInput * inObject, GALGAS_string & out_command, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { //--- Drop output arguments out_command.drop () ; @@ -3412,17 +3252,17 @@ void callExtensionSetter_getCommand (cPtr_debugCommandInput * inObject, } p = p->mSuperclassDescriptor ; } - gExtensionModifierTable_debugCommandInput_getCommand.forceObjectAtIndex (classIndex, f, nullptr COMMA_HERE) ; + gExtensionModifierTable_debugCommandInput_getCommand.forceObjectAtIndex (classIndex, f, nullptr) ; } f (inObject, out_command, inCompiler COMMA_THERE) ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- static void extensionSetter_debugCommandInput_getCommand (cPtr_debugCommandInput * inObject, GALGAS_string & outArgument_command, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { cPtr_debugCommandInput * object = inObject ; macroValidSharedObject (object, cPtr_debugCommandInput) ; @@ -3432,11 +3272,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::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 () ; + 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 () ; bool loop_952 = true ; while (loop_952) { - var_inputChar_884 = GALGAS_char::constructor_unicodeCharacterFromRawKeyboard (inCompiler COMMA_SOURCE_FILE ("gtl_debugger_input.galgas", 43)) ; + var_inputChar_884 = GALGAS_char::class_func_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 () ; @@ -3647,31 +3487,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 () ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_PrologueEpilogue gSetter_debugCommandInput_getCommand (defineExtensionSetter_debugCommandInput_getCommand, - freeExtensionModifier_debugCommandInput_getCommand) ; +PrologueEpilogue gSetter_debugCommandInput_getCommand (defineExtensionSetter_debugCommandInput_getCommand, + freeExtensionModifier_debugCommandInput_getCommand) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Extension method '@debugCommandInput listHistory' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void cPtr_debugCommandInput::method_listHistory (C_Compiler * inCompiler +void cPtr_debugCommandInput::method_listHistory (Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { enumGalgasBool test_0 = kBoolTrue ; if (kBoolTrue == test_0) { @@ -3692,27 +3532,27 @@ void cPtr_debugCommandInput::method_listHistory (C_Compiler * inCompiler } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void callExtensionMethod_listHistory (cPtr_debugCommandInput * inObject, - C_Compiler * inCompiler + 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 "strings/unicode_character_cpp.h" -#include "galgas2/scanner_actions.h" -#include "galgas2/cLexiqueIntrospection.h" +#include "unicode_character_cpp.h" +#include "scanner_actions.h" +#include "cLexiqueIntrospection.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cTokenFor_gtl_5F_debugger_5F_scanner::cTokenFor_gtl_5F_debugger_5F_scanner (void) : mLexicalAttribute_a_5F_string (), @@ -3725,26 +3565,26 @@ mLexicalAttribute_tokenString (), mLexicalAttribute_uint_33__32_value () { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 & 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 & inSourceString, - const C_String & inStringForError - COMMA_LOCATION_ARGS) : -C_Lexique (inCallerCompiler, inSourceString, inStringForError 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) { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Lexical error message list -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- static const char * gLexicalMessage_gtl_5F_debugger_5F_scanner_floatNumberConversionError = "invalid float number" ; @@ -3764,12 +3604,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 -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_String C_Lexique_gtl_5F_debugger_5F_scanner::getMessageForTerminal (const int32_t inTerminalIndex) const { - C_String result = "" ; +String Lexique_gtl_5F_debugger_5F_scanner::getMessageForTerminal (const int32_t inTerminalIndex) const { + String result = "" ; if ((inTerminalIndex >= 0) && (inTerminalIndex < 96)) { static const char * syntaxErrorMessageArray [96] = {kEndOfSourceLexicalErrorMessage, "an identifier", @@ -3873,338 +3713,290 @@ C_String C_Lexique_gtl_5F_debugger_5F_scanner::getMessageForTerminal (const int3 return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // U N I C O D E S T R I N G S -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -//--- Unicode string for '$_21_$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__21_ [] = { +//--- Unicode string for '$!$' +static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__21_ = { TO_UNICODE ('!'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_21__3D_$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__21__3D_ [] = { +//--- Unicode string for '$!=$' +static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__21__3D_ = { TO_UNICODE ('!'), TO_UNICODE ('='), - TO_UNICODE (0) } ; -//--- Unicode string for '$_26_$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__26_ [] = { +//--- Unicode string for '$&$' +static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__26_ = { TO_UNICODE ('&'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_26__3D_$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__26__3D_ [] = { +//--- Unicode string for '$&=$' +static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__26__3D_ = { TO_UNICODE ('&'), TO_UNICODE ('='), - TO_UNICODE (0) } ; -//--- Unicode string for '$_28_$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__28_ [] = { +//--- Unicode string for '$($' +static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__28_ = { TO_UNICODE ('('), - TO_UNICODE (0) } ; -//--- Unicode string for '$_29_$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__29_ [] = { +//--- Unicode string for '$)$' +static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__29_ = { TO_UNICODE (')'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_2A_$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__2A_ [] = { +//--- Unicode string for '$*$' +static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__2A_ = { TO_UNICODE ('*'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_2A__3D_$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__2A__3D_ [] = { +//--- Unicode string for '$*=$' +static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__2A__3D_ = { TO_UNICODE ('*'), TO_UNICODE ('='), - TO_UNICODE (0) } ; -//--- Unicode string for '$_2B_$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__2B_ [] = { +//--- Unicode string for '$+$' +static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__2B_ = { TO_UNICODE ('+'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_2B__3D_$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__2B__3D_ [] = { +//--- Unicode string for '$+=$' +static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__2B__3D_ = { TO_UNICODE ('+'), TO_UNICODE ('='), - TO_UNICODE (0) } ; -//--- Unicode string for '$_2C_$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__2C_ [] = { +//--- Unicode string for '$,$' +static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__2C_ = { TO_UNICODE (','), - TO_UNICODE (0) } ; -//--- Unicode string for '$_2D__3D_$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__2D__3D_ [] = { +//--- Unicode string for '$-=$' +static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__2D__3D_ = { TO_UNICODE ('-'), TO_UNICODE ('='), - TO_UNICODE (0) } ; -//--- Unicode string for '$_2D__3E_$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__2D__3E_ [] = { +//--- Unicode string for '$->$' +static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__2D__3E_ = { TO_UNICODE ('-'), TO_UNICODE ('>'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_2E__2E_$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__2E__2E_ [] = { +//--- Unicode string for '$..$' +static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__2E__2E_ = { TO_UNICODE ('.'), TO_UNICODE ('.'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_2F_$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__2F_ [] = { +//--- Unicode string for '$/$' +static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__2F_ = { TO_UNICODE ('/'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_2F__3D_$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__2F__3D_ [] = { +//--- Unicode string for '$/=$' +static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__2F__3D_ = { TO_UNICODE ('/'), TO_UNICODE ('='), - TO_UNICODE (0) } ; -//--- Unicode string for '$_30_X$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__30_X [] = { +//--- Unicode string for '$0X$' +static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__30_X = { TO_UNICODE ('0'), TO_UNICODE ('X'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_30_x$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__30_x [] = { +//--- Unicode string for '$0x$' +static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__30_x = { TO_UNICODE ('0'), TO_UNICODE ('x'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_3A_$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__3A_ [] = { +//--- Unicode string for '$:$' +static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__3A_ = { TO_UNICODE (':'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_3A__3A_$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__3A__3A_ [] = { +//--- Unicode string for '$::$' +static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__3A__3A_ = { TO_UNICODE (':'), TO_UNICODE (':'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_3A__3D_$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__3A__3D_ [] = { +//--- Unicode string for '$:=$' +static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__3A__3D_ = { TO_UNICODE (':'), TO_UNICODE ('='), - TO_UNICODE (0) } ; -//--- Unicode string for '$_3B_$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__3B_ [] = { +//--- Unicode string for '$;$' +static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__3B_ = { TO_UNICODE (';'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_3C_$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__3C_ [] = { +//--- Unicode string for '$<$' +static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__3C_ = { TO_UNICODE ('<'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_3C__2D_$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__3C__2D_ [] = { +//--- Unicode string for '$<-$' +static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__3C__2D_ = { TO_UNICODE ('<'), TO_UNICODE ('-'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_3C__3C_$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__3C__3C_ [] = { +//--- Unicode string for '$<<$' +static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__3C__3C_ = { TO_UNICODE ('<'), TO_UNICODE ('<'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_3C__3C__3D_$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__3C__3C__3D_ [] = { +//--- Unicode string for '$<<=$' +static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__3C__3C__3D_ = { TO_UNICODE ('<'), TO_UNICODE ('<'), TO_UNICODE ('='), - TO_UNICODE (0) } ; -//--- Unicode string for '$_3C__3D_$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__3C__3D_ [] = { +//--- Unicode string for '$<=$' +static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__3C__3D_ = { TO_UNICODE ('<'), TO_UNICODE ('='), - TO_UNICODE (0) } ; -//--- Unicode string for '$_3D_$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__3D_ [] = { +//--- Unicode string for '$=$' +static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__3D_ = { TO_UNICODE ('='), - TO_UNICODE (0) } ; -//--- Unicode string for '$_3D__3D_$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__3D__3D_ [] = { +//--- Unicode string for '$==$' +static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__3D__3D_ = { TO_UNICODE ('='), TO_UNICODE ('='), - TO_UNICODE (0) } ; -//--- Unicode string for '$_3E_$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__3E_ [] = { +//--- Unicode string for '$>$' +static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__3E_ = { TO_UNICODE ('>'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_3E__3D_$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__3E__3D_ [] = { +//--- Unicode string for '$>=$' +static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__3E__3D_ = { TO_UNICODE ('>'), TO_UNICODE ('='), - TO_UNICODE (0) } ; -//--- Unicode string for '$_3E__3E_$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__3E__3E_ [] = { +//--- Unicode string for '$>>$' +static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__3E__3E_ = { TO_UNICODE ('>'), TO_UNICODE ('>'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_3E__3E__3D_$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__3E__3E__3D_ [] = { +//--- Unicode string for '$>>=$' +static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__3E__3E__3D_ = { TO_UNICODE ('>'), TO_UNICODE ('>'), TO_UNICODE ('='), - TO_UNICODE (0) } ; -//--- Unicode string for '$_3F_$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__3F_ [] = { +//--- Unicode string for '$?$' +static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__3F_ = { TO_UNICODE ('\?'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_40_$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__40_ [] = { +//--- Unicode string for '$@$' +static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__40_ = { TO_UNICODE ('@'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_40__21_$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__40__21_ [] = { +//--- Unicode string for '$@!$' +static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__40__21_ = { TO_UNICODE ('@'), TO_UNICODE ('!'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_40__28_$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__40__28_ [] = { +//--- Unicode string for '$@($' +static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__40__28_ = { TO_UNICODE ('@'), TO_UNICODE ('('), - TO_UNICODE (0) } ; -//--- Unicode string for '$_40__5B_$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__40__5B_ [] = { +//--- Unicode string for '$@[$' +static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__40__5B_ = { TO_UNICODE ('@'), TO_UNICODE ('['), - TO_UNICODE (0) } ; -//--- Unicode string for '$_40__7B_$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__40__7B_ [] = { +//--- Unicode string for '$@{$' +static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__40__7B_ = { TO_UNICODE ('@'), TO_UNICODE ('{'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_5B_$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__5B_ [] = { +//--- Unicode string for '$[$' +static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__5B_ = { TO_UNICODE ('['), - TO_UNICODE (0) } ; -//--- Unicode string for '$_5B__21_$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__5B__21_ [] = { +//--- Unicode string for '$[!$' +static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__5B__21_ = { TO_UNICODE ('['), TO_UNICODE ('!'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_5D_$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__5D_ [] = { +//--- Unicode string for '$]$' +static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__5D_ = { TO_UNICODE (']'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_5E_$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__5E_ [] = { +//--- Unicode string for '$^$' +static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__5E_ = { TO_UNICODE ('^'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_5E__3D_$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__5E__3D_ [] = { +//--- Unicode string for '$^=$' +static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__5E__3D_ = { TO_UNICODE ('^'), TO_UNICODE ('='), - TO_UNICODE (0) } ; //--- Unicode string for '$all$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_all [] = { +static const std::initializer_list 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 utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_break [] = { +static const std::initializer_list 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 utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_by [] = { +static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner_by = { TO_UNICODE ('b'), TO_UNICODE ('y'), - TO_UNICODE (0) } ; //--- Unicode string for '$cont$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_cont [] = { +static const std::initializer_list 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 utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_continue [] = { +static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner_continue = { TO_UNICODE ('c'), TO_UNICODE ('o'), TO_UNICODE ('n'), @@ -4213,11 +4005,10 @@ static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_continue [] = { TO_UNICODE ('n'), TO_UNICODE ('u'), TO_UNICODE ('e'), - TO_UNICODE (0) } ; //--- Unicode string for '$default$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_default [] = { +static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner_default = { TO_UNICODE ('d'), TO_UNICODE ('e'), TO_UNICODE ('f'), @@ -4225,11 +4016,10 @@ static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_default [] = { TO_UNICODE ('u'), TO_UNICODE ('l'), TO_UNICODE ('t'), - TO_UNICODE (0) } ; //--- Unicode string for '$display$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_display [] = { +static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner_display = { TO_UNICODE ('d'), TO_UNICODE ('i'), TO_UNICODE ('s'), @@ -4237,37 +4027,33 @@ static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_display [] = { TO_UNICODE ('l'), TO_UNICODE ('a'), TO_UNICODE ('y'), - TO_UNICODE (0) } ; //--- Unicode string for '$do$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_do [] = { +static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner_do = { TO_UNICODE ('d'), TO_UNICODE ('o'), - TO_UNICODE (0) } ; //--- Unicode string for '$else$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_else [] = { +static const std::initializer_list 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 utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_elsif [] = { +static const std::initializer_list 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 utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_emptylist [] = { +static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner_emptylist = { TO_UNICODE ('e'), TO_UNICODE ('m'), TO_UNICODE ('p'), @@ -4277,11 +4063,10 @@ static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_emptylist [] = { TO_UNICODE ('i'), TO_UNICODE ('s'), TO_UNICODE ('t'), - TO_UNICODE (0) } ; //--- Unicode string for '$emptymap$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_emptymap [] = { +static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner_emptymap = { TO_UNICODE ('e'), TO_UNICODE ('m'), TO_UNICODE ('p'), @@ -4290,84 +4075,75 @@ static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_emptymap [] = { TO_UNICODE ('m'), TO_UNICODE ('a'), TO_UNICODE ('p'), - TO_UNICODE (0) } ; //--- Unicode string for '$end$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_end [] = { +static const std::initializer_list 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 utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_exists [] = { +static const std::initializer_list 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 utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_false [] = { +static const std::initializer_list 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 utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_help [] = { +static const std::initializer_list 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 utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_hist [] = { +static const std::initializer_list 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 utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_if [] = { +static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner_if = { TO_UNICODE ('i'), TO_UNICODE ('f'), - TO_UNICODE (0) } ; //--- Unicode string for '$import$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_import [] = { +static const std::initializer_list 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 utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_let [] = { +static const std::initializer_list 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 utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_libraries [] = { +static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner_libraries = { TO_UNICODE ('l'), TO_UNICODE ('i'), TO_UNICODE ('b'), @@ -4377,156 +4153,139 @@ static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_libraries [] = { TO_UNICODE ('i'), TO_UNICODE ('e'), TO_UNICODE ('s'), - TO_UNICODE (0) } ; //--- Unicode string for '$list$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_list [] = { +static const std::initializer_list 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 utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_listof [] = { +static const std::initializer_list 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 utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_load [] = { +static const std::initializer_list 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 utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_mapof [] = { +static const std::initializer_list 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 utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_mod [] = { +static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner_mod = { TO_UNICODE ('m'), TO_UNICODE ('o'), TO_UNICODE ('d'), - TO_UNICODE (0) } ; -//--- Unicode string for '$mod_3D_$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_mod_3D_ [] = { +//--- Unicode string for '$mod=$' +static const std::initializer_list 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 utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_no [] = { +static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner_no = { TO_UNICODE ('n'), TO_UNICODE ('o'), - TO_UNICODE (0) } ; //--- Unicode string for '$not$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_not [] = { +static const std::initializer_list 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 utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_or [] = { +static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner_or = { TO_UNICODE ('o'), TO_UNICODE ('r'), - TO_UNICODE (0) } ; //--- Unicode string for '$print$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_print [] = { +static const std::initializer_list 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 utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_sort [] = { +static const std::initializer_list 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 utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_step [] = { +static const std::initializer_list 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 utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_then [] = { +static const std::initializer_list 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 utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_true [] = { +static const std::initializer_list 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 utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_typeof [] = { +static const std::initializer_list 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 utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_unlet [] = { +static const std::initializer_list 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 utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_variables [] = { +static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner_variables = { TO_UNICODE ('v'), TO_UNICODE ('a'), TO_UNICODE ('r'), @@ -4536,669 +4295,661 @@ static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_variables [] = { TO_UNICODE ('l'), TO_UNICODE ('e'), TO_UNICODE ('s'), - TO_UNICODE (0) } ; //--- Unicode string for '$watch$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_watch [] = { +static const std::initializer_list 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 utf32 kUnicodeString_gtl_5F_debugger_5F_scanner_yes [] = { +static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner_yes = { TO_UNICODE ('y'), TO_UNICODE ('e'), TO_UNICODE ('s'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_7B_$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__7B_ [] = { +//--- Unicode string for '${$' +static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__7B_ = { TO_UNICODE ('{'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_7C_$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__7C_ [] = { +//--- Unicode string for '$|$' +static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__7C_ = { TO_UNICODE ('|'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_7C__3D_$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__7C__3D_ [] = { +//--- Unicode string for '$|=$' +static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__7C__3D_ = { TO_UNICODE ('|'), TO_UNICODE ('='), - TO_UNICODE (0) } ; -//--- Unicode string for '$_7D_$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__7D_ [] = { +//--- Unicode string for '$}$' +static const std::initializer_list kUnicodeString_gtl_5F_debugger_5F_scanner__7D_ = { TO_UNICODE ('}'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_7E_$' -static const utf32 kUnicodeString_gtl_5F_debugger_5F_scanner__7E_ [] = { +//--- Unicode string for '$~$' +static const std::initializer_list 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_, 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) { + 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) { 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, 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) { + 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) { return searchInList (inSearchedString, ktable_for_gtl_5F_debugger_5F_scanner_goilTemplateKeyWordList, ktable_size_gtl_5F_debugger_5F_scanner_goilTemplateKeyWordList) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // getCurrentTokenString -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_String C_Lexique_gtl_5F_debugger_5F_scanner::getCurrentTokenString (const cToken * inTokenPtr) const { +String 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 ; - C_String s ; + String s ; if (ptr == nullptr) { - s.appendCString("$$") ; + s.appendCString ("$$") ; }else{ switch (ptr->mTokenCode) { case kToken_: - s.appendCString("$$") ; + s.appendCString ("$$") ; break ; case kToken_identifier: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("identifier") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; - s.appendUnicodeCharacter (TO_UNICODE (' ') COMMA_HERE) ; - s.appendCLiteralStringConstant (ptr->mLexicalAttribute_tokenString) ; + s.appendChar (TO_UNICODE ('$')) ; + s.appendChar (TO_UNICODE (' ')) ; + s.appendStringAsCLiteralStringConstant (ptr->mLexicalAttribute_tokenString) ; break ; case kToken_literal_5F_enum: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("literal_enum") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; - s.appendUnicodeCharacter (TO_UNICODE (' ') COMMA_HERE) ; - s.appendCLiteralStringConstant (ptr->mLexicalAttribute_tokenString) ; + s.appendChar (TO_UNICODE ('$')) ; + s.appendChar (TO_UNICODE (' ')) ; + s.appendStringAsCLiteralStringConstant (ptr->mLexicalAttribute_tokenString) ; break ; case kToken_literal_5F_double: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("literal_double") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; - s.appendUnicodeCharacter (TO_UNICODE (' ') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; + s.appendChar (TO_UNICODE (' ')) ; s.appendDouble (ptr->mLexicalAttribute_floatValue) ; break ; case kToken_signed_5F_literal_5F_integer_5F_bigint: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("signed_literal_integer_bigint") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; - s.appendUnicodeCharacter (TO_UNICODE (' ') COMMA_HERE) ; - s.appendCLiteralStringConstant (ptr->mLexicalAttribute_intValue.decimalString ()) ; + s.appendChar (TO_UNICODE ('$')) ; + s.appendChar (TO_UNICODE (' ')) ; + s.appendStringAsCLiteralStringConstant (ptr->mLexicalAttribute_intValue.decimalString ()) ; break ; case kToken__2D_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("-") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__2E_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString (".") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__2E__3D_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString (".=") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__2E__2E__2E_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("...") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_literal_5F_char: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("literal_char") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; - s.appendUnicodeCharacter (TO_UNICODE (' ') COMMA_HERE) ; - s.appendUnicodeCharacter (ptr->mLexicalAttribute_charValue COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; + s.appendChar (TO_UNICODE (' ')) ; + s.appendChar (ptr->mLexicalAttribute_charValue) ; break ; case kToken_string: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("string") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; - s.appendUnicodeCharacter (TO_UNICODE (' ') COMMA_HERE) ; - s.appendCLiteralStringConstant (ptr->mLexicalAttribute_a_5F_string) ; + s.appendChar (TO_UNICODE ('$')) ; + s.appendChar (TO_UNICODE (' ')) ; + s.appendStringAsCLiteralStringConstant (ptr->mLexicalAttribute_a_5F_string) ; break ; case kToken_comment: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("comment") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_default: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("default") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_display: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("display") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_do: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("do") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_emptylist: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("emptylist") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_emptymap: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("emptymap") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_exists: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("exists") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_false: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("false") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_list: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("list") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_import: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("import") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_listof: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("listof") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_let: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("let") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_mapof: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("mapof") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_mod: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("mod") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_no: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("no") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_not: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("not") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_or: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("or") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_print: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("print") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_sort: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("sort") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_step: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("step") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_true: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("true") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_typeof: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("typeof") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_yes: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("yes") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_variables: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("variables") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_unlet: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("unlet") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_libraries: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("libraries") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_break: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("break") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_watch: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("watch") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_by: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("by") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_end: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("end") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_cont: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("cont") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_continue: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("continue") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_help: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("help") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_if: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("if") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_then: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("then") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_else: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("else") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_elsif: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("elsif") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_hist: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("hist") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_all: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("all") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_load: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("load") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__2A_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("*") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__7C_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("|") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__2C_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString (",") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__2B_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("+") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__3A__3A_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("::") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__3E_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString (">") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__3A_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString (":") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__28_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("(") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__29_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString (")") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__2D__3E_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("->") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__3F_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("\?") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__3D__3D_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("==") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__21_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("!") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__3A__3D_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString (":=") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__5B_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("[") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__5D_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("]") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__2B__3D_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("+=") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__2D__3D_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("-=") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__2F_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("/") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__21__3D_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("!=") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__3E__3D_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString (">=") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__26_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("&") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__3C__3D_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("<=") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__7B_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("{") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__7D_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("}") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__3C_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("<") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__5E_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("^") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__3E__3E_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString (">>") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__7E_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("~") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__3C__2D_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("<-") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__3C__3C_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("<<") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__40_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("@") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__2A__3D_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("*=") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__2F__3D_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("/=") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__26__3D_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("&=") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__7C__3D_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("|=") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__3C__3C__3D_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("<<=") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__3E__3E__3D_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString (">>=") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_mod_3D_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("mod=") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__5E__3D_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("^=") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__40__5B_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("@[") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__40__28_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("@(") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__40__7B_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("@{") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__5B__21_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("[!") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__40__21_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("@!") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; default: break ; @@ -5207,34 +4958,34 @@ C_String C_Lexique_gtl_5F_debugger_5F_scanner::getCurrentTokenString (const cTok return s ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Template Delimiters -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Template Replacements -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Terminal Symbols as end of script in template mark -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // INTERNAL PARSE LEXICAL TOKEN -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void C_Lexique_gtl_5F_debugger_5F_scanner::internalParseLexicalToken (cTokenFor_gtl_5F_debugger_5F_scanner & token) { +void Lexique_gtl_5F_debugger_5F_scanner::internalParseLexicalToken (cTokenFor_gtl_5F_debugger_5F_scanner & token) { bool loop = true ; - token.mLexicalAttribute_a_5F_string.setLengthToZero () ; + token.mLexicalAttribute_a_5F_string.removeAllKeepingCapacity () ; token.mLexicalAttribute_charValue = TO_UNICODE (0) ; token.mLexicalAttribute_floatValue = 0.0 ; - token.mLexicalAttribute_functionContent.setLengthToZero () ; - token.mLexicalAttribute_identifierString.setLengthToZero () ; - token.mLexicalAttribute_intValue.setToZero () ; - token.mLexicalAttribute_tokenString.setLengthToZero () ; + token.mLexicalAttribute_functionContent.removeAllKeepingCapacity () ; + token.mLexicalAttribute_identifierString.removeAllKeepingCapacity () ; + token.mLexicalAttribute_intValue = BigSigned () ; + token.mLexicalAttribute_tokenString.removeAllKeepingCapacity () ; token.mLexicalAttribute_uint_33__32_value = 0 ; mTokenStartLocation = mCurrentLocation ; try{ @@ -5266,139 +5017,139 @@ void C_Lexique_gtl_5F_debugger_5F_scanner::internalParseLexicalToken (cTokenFor_ loop = true ; token.mTokenCode = kToken_literal_5F_enum ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner_mod_3D_, 4, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner_mod_3D_, true)) { token.mTokenCode = kToken_mod_3D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3E__3E__3D_, 3, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3E__3E__3D_, true)) { token.mTokenCode = kToken__3E__3E__3D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3C__3C__3D_, 3, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3C__3C__3D_, true)) { token.mTokenCode = kToken__3C__3C__3D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__7C__3D_, 2, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__7C__3D_, true)) { token.mTokenCode = kToken__7C__3D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__5E__3D_, 2, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__5E__3D_, true)) { token.mTokenCode = kToken__5E__3D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__5B__21_, 2, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__5B__21_, true)) { token.mTokenCode = kToken__5B__21_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__40__7B_, 2, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__40__7B_, true)) { token.mTokenCode = kToken__40__7B_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__40__5B_, 2, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__40__5B_, true)) { token.mTokenCode = kToken__40__5B_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__40__28_, 2, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__40__28_, true)) { token.mTokenCode = kToken__40__28_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__40__21_, 2, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__40__21_, true)) { token.mTokenCode = kToken__40__21_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3E__3E_, 2, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3E__3E_, true)) { token.mTokenCode = kToken__3E__3E_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3E__3D_, 2, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3E__3D_, true)) { token.mTokenCode = kToken__3E__3D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3D__3D_, 2, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3D__3D_, true)) { token.mTokenCode = kToken__3D__3D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3C__3D_, 2, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3C__3D_, true)) { token.mTokenCode = kToken__3C__3D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3C__3C_, 2, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3C__3C_, true)) { token.mTokenCode = kToken__3C__3C_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3C__2D_, 2, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3C__2D_, true)) { token.mTokenCode = kToken__3C__2D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3A__3D_, 2, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3A__3D_, true)) { token.mTokenCode = kToken__3A__3D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3A__3A_, 2, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3A__3A_, true)) { token.mTokenCode = kToken__3A__3A_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__2F__3D_, 2, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__2F__3D_, true)) { token.mTokenCode = kToken__2F__3D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__2D__3E_, 2, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__2D__3E_, true)) { token.mTokenCode = kToken__2D__3E_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__2D__3D_, 2, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__2D__3D_, true)) { token.mTokenCode = kToken__2D__3D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__2B__3D_, 2, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__2B__3D_, true)) { token.mTokenCode = kToken__2B__3D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__2A__3D_, 2, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__2A__3D_, true)) { token.mTokenCode = kToken__2A__3D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__26__3D_, 2, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__26__3D_, true)) { token.mTokenCode = kToken__26__3D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__21__3D_, 2, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__21__3D_, true)) { token.mTokenCode = kToken__21__3D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__7E_, 1, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__7E_, true)) { token.mTokenCode = kToken__7E_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__7D_, 1, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__7D_, true)) { token.mTokenCode = kToken__7D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__7C_, 1, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__7C_, true)) { token.mTokenCode = kToken__7C_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__7B_, 1, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__7B_, true)) { token.mTokenCode = kToken__7B_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__5E_, 1, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__5E_, true)) { token.mTokenCode = kToken__5E_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__5D_, 1, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__5D_, true)) { token.mTokenCode = kToken__5D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__5B_, 1, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__5B_, true)) { token.mTokenCode = kToken__5B_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__40_, 1, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__40_, true)) { token.mTokenCode = kToken__40_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3F_, 1, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3F_, true)) { token.mTokenCode = kToken__3F_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3E_, 1, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3E_, true)) { token.mTokenCode = kToken__3E_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3C_, 1, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3C_, true)) { token.mTokenCode = kToken__3C_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3A_, 1, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3A_, true)) { token.mTokenCode = kToken__3A_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__2F_, 1, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__2F_, true)) { token.mTokenCode = kToken__2F_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__2C_, 1, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__2C_, true)) { token.mTokenCode = kToken__2C_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__2B_, 1, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__2B_, true)) { token.mTokenCode = kToken__2B_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__2A_, 1, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__2A_, true)) { token.mTokenCode = kToken__2A_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__29_, 1, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__29_, true)) { token.mTokenCode = kToken__29_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__28_, 1, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__28_, true)) { token.mTokenCode = kToken__28_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__26_, 1, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__26_, true)) { token.mTokenCode = kToken__26_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__21_, 1, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__21_, true)) { token.mTokenCode = kToken__21_ ; enterToken (token) ; }else if (testForInputUTF32Char (TO_UNICODE ('-'))) { @@ -5437,7 +5188,7 @@ void C_Lexique_gtl_5F_debugger_5F_scanner::internalParseLexicalToken (cTokenFor_ token.mTokenCode = kToken__2D_ ; enterToken (token) ; } - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__30_x, 2, true) || testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__30_X, 2, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__30_x, true) || testForInputUTF32String (kUnicodeString_gtl_5F_debugger_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_enterCharacterIntoString (*this, token.mLexicalAttribute_tokenString, previousChar ()) ; @@ -5497,10 +5248,10 @@ void C_Lexique_gtl_5F_debugger_5F_scanner::internalParseLexicalToken (cTokenFor_ token.mTokenCode = kToken_literal_5F_double ; enterToken (token) ; }else{ - if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__2E__2E_, 2, true)) { + if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__2E__2E_, true)) { token.mTokenCode = kToken__2E__2E__2E_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3D_, 1, true)) { + }else if (testForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3D_, true)) { token.mTokenCode = kToken__2E__3D_ ; enterToken (token) ; }else{ @@ -5592,7 +5343,7 @@ void C_Lexique_gtl_5F_debugger_5F_scanner::internalParseLexicalToken (cTokenFor_ } }else if (testForInputUTF32Char (TO_UNICODE ('&'))) { do { - if (notTestForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3B_, 1, gLexicalMessage_gtl_5F_debugger_5F_scanner_incorrectHTMLescapeSequence COMMA_LINE_AND_SOURCE_FILE)) { + if (notTestForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3B_, gLexicalMessage_gtl_5F_debugger_5F_scanner_incorrectHTMLescapeSequence COMMA_LINE_AND_SOURCE_FILE)) { ::scanner_routine_enterCharacterIntoString (*this, token.mLexicalAttribute_tokenString, previousChar ()) ; }else{ loop = false ; @@ -5637,7 +5388,7 @@ void C_Lexique_gtl_5F_debugger_5F_scanner::internalParseLexicalToken (cTokenFor_ ::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_, 1, gLexicalMessage_gtl_5F_debugger_5F_scanner_incorrectHTMLescapeSequence COMMA_LINE_AND_SOURCE_FILE)) { + if (notTestForInputUTF32String (kUnicodeString_gtl_5F_debugger_5F_scanner__3B_, gLexicalMessage_gtl_5F_debugger_5F_scanner_incorrectHTMLescapeSequence COMMA_LINE_AND_SOURCE_FILE)) { ::scanner_routine_enterCharacterIntoString (*this, token.mLexicalAttribute_identifierString, previousChar ()) ; }else{ loop = false ; @@ -5751,11 +5502,11 @@ void C_Lexique_gtl_5F_debugger_5F_scanner::internalParseLexicalToken (cTokenFor_ } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // P A R S E L E X I C A L T O K E N -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -bool C_Lexique_gtl_5F_debugger_5F_scanner::parseLexicalToken (void) { +bool 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')) { @@ -5768,15 +5519,14 @@ bool C_Lexique_gtl_5F_debugger_5F_scanner::parseLexicalToken (void) { return token.mTokenCode > 0 ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // E N T E R T O K E N -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void C_Lexique_gtl_5F_debugger_5F_scanner::enterToken (cTokenFor_gtl_5F_debugger_5F_scanner & ioToken) { +void 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 ; @@ -5792,69 +5542,69 @@ void C_Lexique_gtl_5F_debugger_5F_scanner::enterToken (cTokenFor_gtl_5F_debugger enterTokenFromPointer (ptr) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // A T T R I B U T E A C C E S S -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_String C_Lexique_gtl_5F_debugger_5F_scanner::attributeValue_a_5F_string (void) const { +String 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 C_Lexique_gtl_5F_debugger_5F_scanner::attributeValue_charValue (void) const { +utf32 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 C_Lexique_gtl_5F_debugger_5F_scanner::attributeValue_floatValue (void) const { +double 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 ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_String C_Lexique_gtl_5F_debugger_5F_scanner::attributeValue_functionContent (void) const { +String 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 ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_String C_Lexique_gtl_5F_debugger_5F_scanner::attributeValue_identifierString (void) const { +String 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 ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_BigInt C_Lexique_gtl_5F_debugger_5F_scanner::attributeValue_intValue (void) const { +BigSigned 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 ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_String C_Lexique_gtl_5F_debugger_5F_scanner::attributeValue_tokenString (void) const { +String 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 C_Lexique_gtl_5F_debugger_5F_scanner::attributeValue_uint_33__32_value (void) const { +uint32_t 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 C_Lexique_gtl_5F_debugger_5F_scanner::synthetizedAttribute_a_5F_string (void) const { +GALGAS_lstring 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 ()) ; @@ -5863,9 +5613,9 @@ GALGAS_lstring C_Lexique_gtl_5F_debugger_5F_scanner::synthetizedAttribute_a_5F_s return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_lchar C_Lexique_gtl_5F_debugger_5F_scanner::synthetizedAttribute_charValue (void) const { +GALGAS_lchar 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 ()) ; @@ -5874,9 +5624,9 @@ GALGAS_lchar C_Lexique_gtl_5F_debugger_5F_scanner::synthetizedAttribute_charValu return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_ldouble C_Lexique_gtl_5F_debugger_5F_scanner::synthetizedAttribute_floatValue (void) const { +GALGAS_ldouble 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 ()) ; @@ -5885,9 +5635,9 @@ GALGAS_ldouble C_Lexique_gtl_5F_debugger_5F_scanner::synthetizedAttribute_floatV return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_lstring C_Lexique_gtl_5F_debugger_5F_scanner::synthetizedAttribute_functionContent (void) const { +GALGAS_lstring 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 ()) ; @@ -5896,9 +5646,9 @@ GALGAS_lstring C_Lexique_gtl_5F_debugger_5F_scanner::synthetizedAttribute_functi return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_lstring C_Lexique_gtl_5F_debugger_5F_scanner::synthetizedAttribute_identifierString (void) const { +GALGAS_lstring 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 ()) ; @@ -5907,9 +5657,9 @@ GALGAS_lstring C_Lexique_gtl_5F_debugger_5F_scanner::synthetizedAttribute_identi return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_lbigint C_Lexique_gtl_5F_debugger_5F_scanner::synthetizedAttribute_intValue (void) const { +GALGAS_lbigint 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 ()) ; @@ -5918,9 +5668,9 @@ GALGAS_lbigint C_Lexique_gtl_5F_debugger_5F_scanner::synthetizedAttribute_intVal return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_lstring C_Lexique_gtl_5F_debugger_5F_scanner::synthetizedAttribute_tokenString (void) const { +GALGAS_lstring 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 ()) ; @@ -5929,9 +5679,9 @@ GALGAS_lstring C_Lexique_gtl_5F_debugger_5F_scanner::synthetizedAttribute_tokenS return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_luint C_Lexique_gtl_5F_debugger_5F_scanner::synthetizedAttribute_uint_33__32_value (void) const { +GALGAS_luint 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 ()) ; @@ -5940,122 +5690,122 @@ GALGAS_luint C_Lexique_gtl_5F_debugger_5F_scanner::synthetizedAttribute_uint_33_ return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // I N T R O S P E C T I O N -//---------------------------------------------------------------------------------------------------------------------- - -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) { +//-------------------------------------------------------------------------------------------------- + +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) { ioList.appendObject ("gtl_debugger_scanner:galgasDelimitorsList") ; ioList.appendObject ("gtl_debugger_scanner:goilTemplateKeyWordList") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static void getKeywordsForIdentifier_gtl_5F_debugger_5F_scanner (const C_String & inIdentifier, +static void getKeywordsForIdentifier_gtl_5F_debugger_5F_scanner (const String & inIdentifier, bool & ioFound, - TC_UniqueArray & ioList) { + TC_UniqueArray & ioList) { if (inIdentifier == "gtl_debugger_scanner:galgasDelimitorsList") { ioFound = true ; ioList.appendObject ("!") ; @@ -6150,17 +5900,17 @@ static void getKeywordsForIdentifier_gtl_5F_debugger_5F_scanner (const C_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 C_Lexique_gtl_5F_debugger_5F_scanner::styleIndexForTerminal (const int32_t inTerminalIndex) const { +uint32_t 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 */, @@ -6261,12 +6011,12 @@ uint32_t C_Lexique_gtl_5F_debugger_5F_scanner::styleIndexForTerminal (const int3 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 -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_String C_Lexique_gtl_5F_debugger_5F_scanner::styleNameForIndex (const uint32_t inStyleIndex) const { - C_String result ; +String Lexique_gtl_5F_debugger_5F_scanner::styleNameForIndex (const uint32_t inStyleIndex) const { + String result ; if (inStyleIndex < 9) { static const char * kStyleArray [9] = { "", @@ -6289,30 +6039,30 @@ C_String C_Lexique_gtl_5F_debugger_5F_scanner::styleNameForIndex (const uint32_t //---------------------------------------------------------------------------------------------------------------------* void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_debugger_5F_command_i0_ (GALGAS_gtlInstruction & outArgument_instruction, - C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + 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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_cont COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 41)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_cont COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 41)) ; } break ; case 2: { - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_continue COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 43)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_continue COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 43)) ; } break ; default: break ; } - 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)) ; + 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)) ; } //---------------------------------------------------------------------------------------------------------------------* -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) { +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) { switch (select_gtl_5F_debugger_5F_parser_0 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_cont COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 41)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_cont COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 41)) ; } break ; case 2: { - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_continue COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 43)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_continue COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 43)) ; } break ; default: break ; @@ -6322,13 +6072,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 (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_i0_indexing (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { switch (select_gtl_5F_debugger_5F_parser_0 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_cont COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 41)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_cont COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 41)) ; } break ; case 2: { - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_continue COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 43)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_continue COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 43)) ; } break ; default: break ; @@ -6338,79 +6088,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, - C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_instruction.drop () ; // Release 'out' argument - 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)) ; + 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)) ; } //---------------------------------------------------------------------------------------------------------------------* -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)) ; +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)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -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_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_i2_ (GALGAS_gtlInstruction & outArgument_instruction, - C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_instruction.drop () ; // Release 'out' argument - 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)) ; + 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)) ; } //---------------------------------------------------------------------------------------------------------------------* -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)) ; +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)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -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_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_i3_ (GALGAS_gtlInstruction & outArgument_instruction, - C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_instruction.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_load COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 77)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 80)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_string COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 82)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_string COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 82)) ; } break ; default: break ; } - 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)) ; + 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)) ; } //---------------------------------------------------------------------------------------------------------------------* -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)) ; +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)) ; switch (select_gtl_5F_debugger_5F_parser_1 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 80)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 80)) ; } break ; case 2: { - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_string COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 82)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_string COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 82)) ; } break ; default: break ; @@ -6420,14 +6170,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 (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)) ; +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)) ; switch (select_gtl_5F_debugger_5F_parser_1 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 80)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 80)) ; } break ; case 2: { - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_string COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 82)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_string COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 82)) ; } break ; default: break ; @@ -6437,43 +6187,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, - C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_instruction.drop () ; // Release 'out' argument - 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)) ; + 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)) ; } //---------------------------------------------------------------------------------------------------------------------* -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)) ; +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)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -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_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_i5_ (GALGAS_gtlInstruction & outArgument_instruction, - C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_instruction.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_break COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 106)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_not COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 108)) ; + inCompiler->acceptTerminal (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 (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)) ; + 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)) ; } break ; case 2: { - 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)) ; + 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)) ; } break ; default: break ; @@ -6483,19 +6233,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 (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 (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)) ; GALGAS_lstring var_fileExtension_2731 = inCompiler->synthetizedAttribute_tokenString () ; - 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 (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)) ; GALGAS_lbigint var_lineNum_2807 = inCompiler->synthetizedAttribute_intValue () ; - 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)) ; + 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)) ; } break ; case 2: { GALGAS_lbigint var_lineNum_3036 = inCompiler->synthetizedAttribute_intValue () ; - 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)) ; + 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)) ; } break ; default: break ; @@ -6503,7 +6253,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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_string COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 146)) ; + inCompiler->acceptTerminal (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) { @@ -6511,17 +6261,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::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)) ; + 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)) ; } } if (kBoolFalse == test_0) { TC_Array fixItArray1 ; - 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)) ; + 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)) ; outArgument_instruction.drop () ; // Release error dropped variable } } break ; case 4: { - 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)) ; + 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)) ; } break ; default: break ; @@ -6530,17 +6280,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 (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)) ; +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)) ; switch (select_gtl_5F_debugger_5F_parser_2 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_not COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 108)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_signed_5F_literal_5F_integer_5F_bigint COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 110)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_all COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 117)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_all COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 117)) ; } break ; default: break ; @@ -6549,21 +6299,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 (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)) ; + 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)) ; } break ; case 2: { - 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)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_string COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 146)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_string COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 146)) ; } break ; case 4: { } break ; @@ -6575,17 +6325,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 (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)) ; +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)) ; switch (select_gtl_5F_debugger_5F_parser_2 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_not COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 108)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_signed_5F_literal_5F_integer_5F_bigint COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 110)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_all COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 117)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_all COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 117)) ; } break ; default: break ; @@ -6594,21 +6344,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 (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)) ; + 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)) ; } break ; case 2: { - 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)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_string COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 146)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_string COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 146)) ; } break ; case 4: { } break ; @@ -6620,35 +6370,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, - C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_instruction.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_watch COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 172)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_not COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 174)) ; + inCompiler->acceptTerminal (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 (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)) ; + 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)) ; } break ; case 2: { - 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)) ; + 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)) ; } break ; default: break ; } } break ; case 2: { - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__28_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 190)) ; + inCompiler->acceptTerminal (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::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)) ; + 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)) ; } break ; case 3: { - 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)) ; + 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)) ; } break ; default: break ; @@ -6657,26 +6407,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 (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)) ; +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)) ; switch (select_gtl_5F_debugger_5F_parser_5 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_not COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 174)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_signed_5F_literal_5F_integer_5F_bigint COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 176)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_all COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 183)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_all COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 183)) ; } break ; default: break ; } } break ; case 2: { - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__28_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 190)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__28_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 190)) ; nt_gtl_5F_expression_parse (inCompiler) ; - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 197)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 197)) ; } break ; case 3: { } break ; @@ -6688,26 +6438,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 (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)) ; +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)) ; switch (select_gtl_5F_debugger_5F_parser_5 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_not COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 174)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_signed_5F_literal_5F_integer_5F_bigint COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 176)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_all COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 183)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_all COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 183)) ; } break ; default: break ; } } break ; case 2: { - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__28_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 190)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__28_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 190)) ; nt_gtl_5F_expression_indexing (inCompiler) ; - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 197)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 197)) ; } break ; case 3: { } break ; @@ -6719,33 +6469,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, - C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_instruction.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_do COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 211)) ; + inCompiler->acceptTerminal (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::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)) ; + 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)) ; } break ; case 2: { - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_not COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 220)) ; + inCompiler->acceptTerminal (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 (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)) ; + 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)) ; } break ; case 2: { - 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)) ; + 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)) ; } break ; default: break ; } } break ; case 3: { - 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)) ; + 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)) ; } break ; default: break ; @@ -6754,20 +6504,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 (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)) ; +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)) ; 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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_not COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 220)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_signed_5F_literal_5F_integer_5F_bigint COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 222)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_all COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 229)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_all COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 229)) ; } break ; default: break ; @@ -6783,20 +6533,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 (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)) ; +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)) ; 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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_not COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 220)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_signed_5F_literal_5F_integer_5F_bigint COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 222)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_all COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 229)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_all COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 229)) ; } break ; default: break ; @@ -6812,99 +6562,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, - C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_instruction.drop () ; // Release 'out' argument - 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)) ; + 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)) ; } //---------------------------------------------------------------------------------------------------------------------* -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) { +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) { inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -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_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_i9_ (GALGAS_gtlInstruction & outArgument_instruction, - C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_instruction.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_let COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 257)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3A__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 260)) ; + inCompiler->acceptTerminal (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::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)) ; + 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)) ; } break ; case 2: { - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2B__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 269)) ; + inCompiler->acceptTerminal (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::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)) ; + 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)) ; } break ; case 3: { - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2D__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 278)) ; + inCompiler->acceptTerminal (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::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)) ; + 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)) ; } break ; case 4: { - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2A__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 287)) ; + inCompiler->acceptTerminal (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::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)) ; + 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)) ; } break ; case 5: { - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2F__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 296)) ; + inCompiler->acceptTerminal (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::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)) ; + 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)) ; } break ; case 6: { - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_mod_3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 305)) ; + inCompiler->acceptTerminal (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::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)) ; + 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)) ; } break ; case 7: { - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3C__3C__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 314)) ; + inCompiler->acceptTerminal (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::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)) ; + 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)) ; } break ; case 8: { - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3E__3E__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 323)) ; + inCompiler->acceptTerminal (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::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)) ; + 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)) ; } break ; case 9: { - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__26__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 332)) ; + inCompiler->acceptTerminal (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::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)) ; + 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)) ; } break ; case 10: { - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__7C__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 341)) ; + inCompiler->acceptTerminal (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::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)) ; + 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)) ; } break ; case 11: { - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5E__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 350)) ; + inCompiler->acceptTerminal (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::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)) ; + 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)) ; } break ; case 12: { - 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)) ; + 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)) ; } break ; default: break ; @@ -6913,52 +6663,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 (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)) ; +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)) ; nt_gtl_5F_variable_parse (inCompiler) ; switch (select_gtl_5F_debugger_5F_parser_9 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3A__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 260)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2B__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 269)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2D__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 278)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2A__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 287)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2F__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 296)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_mod_3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 305)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3C__3C__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 314)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3E__3E__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 323)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__26__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 332)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__7C__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 341)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5E__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 350)) ; + inCompiler->acceptTerminal (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: { @@ -6971,52 +6721,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 (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)) ; +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)) ; nt_gtl_5F_variable_indexing (inCompiler) ; switch (select_gtl_5F_debugger_5F_parser_9 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3A__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 260)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2B__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 269)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2D__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 278)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2A__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 287)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2F__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 296)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_mod_3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 305)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3C__3C__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 314)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3E__3E__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 323)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__26__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 332)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__7C__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 341)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5E__3D_ COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 350)) ; + inCompiler->acceptTerminal (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: { @@ -7029,135 +6779,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, - C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_instruction.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_unlet COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 371)) ; + inCompiler->acceptTerminal (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::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)) ; + 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)) ; } //---------------------------------------------------------------------------------------------------------------------* -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)) ; +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)) ; 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 (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)) ; +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)) ; 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, - C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + 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 (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_i11_parse (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 (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_i11_indexing (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, - C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_instruction.drop () ; // Release 'out' argument - 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)) ; + 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)) ; } //---------------------------------------------------------------------------------------------------------------------* -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)) ; +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)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -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_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_i13_ (GALGAS_gtlInstruction & outArgument_instruction, - C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_instruction.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_display COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 403)) ; + inCompiler->acceptTerminal (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::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)) ; + 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)) ; } //---------------------------------------------------------------------------------------------------------------------* -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)) ; +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)) ; 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 (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)) ; +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)) ; 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, - C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_instruction.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_print COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 416)) ; + inCompiler->acceptTerminal (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::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)) ; + 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)) ; } //---------------------------------------------------------------------------------------------------------------------* -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)) ; +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)) ; 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 (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)) ; +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)) ; 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, - C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_instruction.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_list COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 430)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_signed_5F_literal_5F_integer_5F_bigint COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 433)) ; + inCompiler->acceptTerminal (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) { @@ -7172,16 +6922,16 @@ void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_st default: break ; } - 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)) ; + 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)) ; } //---------------------------------------------------------------------------------------------------------------------* -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)) ; +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)) ; switch (select_gtl_5F_debugger_5F_parser_10 (inCompiler)) { case 1: { - 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)) ; + inCompiler->acceptTerminal (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 ; @@ -7193,11 +6943,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 (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)) ; +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)) ; switch (select_gtl_5F_debugger_5F_parser_10 (inCompiler)) { case 1: { - 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)) ; + inCompiler->acceptTerminal (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 ; @@ -7209,29 +6959,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, - C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_instruction.drop () ; // Release 'out' argument - 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)) ; + 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)) ; bool repeatFlag_0 = true ; while (repeatFlag_0) { GALGAS_gtlExpression var_condition_9914 ; nt_gtl_5F_expression_ (var_condition_9914, inCompiler) ; - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_then COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 457)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_elsif COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 462)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_else COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 466)) ; + inCompiler->acceptTerminal (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: { @@ -7239,29 +6989,29 @@ void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_st default: break ; } - 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)) ; + 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)) ; } //---------------------------------------------------------------------------------------------------------------------* -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)) ; +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)) ; bool repeatFlag_0 = true ; while (repeatFlag_0) { nt_gtl_5F_expression_parse (inCompiler) ; - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_then COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 457)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_elsif COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 462)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_else COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 466)) ; + inCompiler->acceptTerminal (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: { @@ -7269,29 +7019,29 @@ void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_st default: break ; } - 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->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->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -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)) ; +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)) ; bool repeatFlag_0 = true ; while (repeatFlag_0) { nt_gtl_5F_expression_indexing (inCompiler) ; - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_then COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 457)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_elsif COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 462)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_else COMMA_SOURCE_FILE ("gtl_debugger_parser.galgas", 466)) ; + inCompiler->acceptTerminal (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: { @@ -7299,16 +7049,16 @@ void cParser_gtl_5F_debugger_5F_parser::rule_gtl_5F_debugger_5F_parser_gtl_5F_st default: break ; } - 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->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)) ; } //---------------------------------------------------------------------------------------------------------------------* 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, - C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_instructionList.drop () ; // Release 'out' argument - outArgument_instructionList = GALGAS_gtlInstructionList::constructor_emptyList (SOURCE_FILE ("gtl_debugger_parser.galgas", 484)) ; + outArgument_instructionList = GALGAS_gtlInstructionList::class_func_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) { @@ -7323,7 +7073,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 (C_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 (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { bool repeatFlag_0 = true ; while (repeatFlag_0) { if (select_gtl_5F_debugger_5F_parser_13 (inCompiler) == 2) { @@ -7337,7 +7087,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 (C_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 (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { bool repeatFlag_0 = true ; while (repeatFlag_0) { if (select_gtl_5F_debugger_5F_parser_13 (inCompiler) == 2) { @@ -7353,25 +7103,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, - C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + 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 (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)) ; + 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)) ; GALGAS_gtlExpression var_rightSon_1177 ; nt_gtl_5F_relation_5F_term_ (var_rightSon_1177, inCompiler) ; - outArgument_expression = GALGAS_gtlOrExpression::constructor_new (var_opLocation_1114, outArgument_expression, var_rightSon_1177 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 41)) ; + outArgument_expression = GALGAS_gtlOrExpression::class_func_new (var_opLocation_1114, outArgument_expression, var_rightSon_1177 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 41)) ; } break ; case 3: { - 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)) ; + 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)) ; GALGAS_gtlExpression var_rightSon_1357 ; nt_gtl_5F_relation_5F_term_ (var_rightSon_1357, inCompiler) ; - outArgument_expression = GALGAS_gtlXorExpression::constructor_new (var_opLocation_1294, outArgument_expression, var_rightSon_1357 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 45)) ; + outArgument_expression = GALGAS_gtlXorExpression::class_func_new (var_opLocation_1294, outArgument_expression, var_rightSon_1357 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 45)) ; } break ; default: repeatFlag_0 = false ; @@ -7382,17 +7132,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 (C_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 (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__7C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 39)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5E_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 43)) ; + inCompiler->acceptTerminal (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: @@ -7405,17 +7155,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 (C_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 (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__7C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 39)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5E_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 43)) ; + inCompiler->acceptTerminal (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: @@ -7428,17 +7178,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, - C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + 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 (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)) ; + 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)) ; GALGAS_gtlExpression var_rightSon_1894 ; nt_gtl_5F_relation_5F_factor_ (var_rightSon_1894, inCompiler) ; - outArgument_expression = GALGAS_gtlAndExpression::constructor_new (var_opLocation_1829, outArgument_expression, var_rightSon_1894 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 61)) ; + outArgument_expression = GALGAS_gtlAndExpression::class_func_new (var_opLocation_1829, outArgument_expression, var_rightSon_1894 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 61)) ; }else{ repeatFlag_0 = false ; } @@ -7447,12 +7197,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 (C_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 (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__26_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 59)) ; + inCompiler->acceptTerminal (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 ; @@ -7463,12 +7213,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 (C_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 (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__26_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 59)) ; + inCompiler->acceptTerminal (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 ; @@ -7479,53 +7229,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, - C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + 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 (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)) ; + 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)) ; GALGAS_gtlExpression var_rightSon_2435 ; nt_gtl_5F_simple_5F_expression_ (var_rightSon_2435, inCompiler) ; - outArgument_expression = GALGAS_gtlEqualExpression::constructor_new (var_opLocation_2368, outArgument_expression, var_rightSon_2435 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 77)) ; + outArgument_expression = GALGAS_gtlEqualExpression::class_func_new (var_opLocation_2368, outArgument_expression, var_rightSon_2435 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 77)) ; } break ; case 3: { - 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)) ; + 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)) ; GALGAS_gtlExpression var_rightSon_2630 ; nt_gtl_5F_simple_5F_expression_ (var_rightSon_2630, inCompiler) ; - outArgument_expression = GALGAS_gtlNotEqualExpression::constructor_new (var_opLocation_2563, outArgument_expression, var_rightSon_2630 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 83)) ; + outArgument_expression = GALGAS_gtlNotEqualExpression::class_func_new (var_opLocation_2563, outArgument_expression, var_rightSon_2630 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 83)) ; } break ; case 4: { - 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)) ; + 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)) ; GALGAS_gtlExpression var_rightSon_2828 ; nt_gtl_5F_simple_5F_expression_ (var_rightSon_2828, inCompiler) ; - outArgument_expression = GALGAS_gtlLowerOrEqualExpression::constructor_new (var_opLocation_2761, outArgument_expression, var_rightSon_2828 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 89)) ; + outArgument_expression = GALGAS_gtlLowerOrEqualExpression::class_func_new (var_opLocation_2761, outArgument_expression, var_rightSon_2828 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 89)) ; } break ; case 5: { - 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)) ; + 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)) ; GALGAS_gtlExpression var_rightSon_3030 ; nt_gtl_5F_simple_5F_expression_ (var_rightSon_3030, inCompiler) ; - outArgument_expression = GALGAS_gtlGreaterOrEqualExpression::constructor_new (var_opLocation_2963, outArgument_expression, var_rightSon_3030 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 95)) ; + outArgument_expression = GALGAS_gtlGreaterOrEqualExpression::class_func_new (var_opLocation_2963, outArgument_expression, var_rightSon_3030 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 95)) ; } break ; case 6: { - 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)) ; + 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)) ; GALGAS_gtlExpression var_rightSon_3233 ; nt_gtl_5F_simple_5F_expression_ (var_rightSon_3233, inCompiler) ; - outArgument_expression = GALGAS_gtlGreaterThanExpression::constructor_new (var_opLocation_3166, outArgument_expression, var_rightSon_3233 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 101)) ; + outArgument_expression = GALGAS_gtlGreaterThanExpression::class_func_new (var_opLocation_3166, outArgument_expression, var_rightSon_3233 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 101)) ; } break ; case 7: { - 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)) ; + 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)) ; GALGAS_gtlExpression var_rightSon_3433 ; nt_gtl_5F_simple_5F_expression_ (var_rightSon_3433, inCompiler) ; - outArgument_expression = GALGAS_gtlLowerThanExpression::constructor_new (var_opLocation_3366, outArgument_expression, var_rightSon_3433 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 107)) ; + outArgument_expression = GALGAS_gtlLowerThanExpression::class_func_new (var_opLocation_3366, outArgument_expression, var_rightSon_3433 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 107)) ; } break ; default: break ; @@ -7534,33 +7284,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 (C_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 (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3D__3D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 75)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__21__3D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 81)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3C__3D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 87)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3E__3D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 93)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3E_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 99)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 105)) ; + inCompiler->acceptTerminal (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: @@ -7571,33 +7321,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 (C_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 (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3D__3D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 75)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__21__3D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 81)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3C__3D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 87)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3E__3D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 93)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3E_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 99)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 105)) ; + inCompiler->acceptTerminal (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: @@ -7608,36 +7358,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, - C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + 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 (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)) ; + 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)) ; GALGAS_gtlExpression var_rightSon_3970 ; nt_gtl_5F_term_ (var_rightSon_3970, inCompiler) ; - outArgument_expression = GALGAS_gtlShiftLeftExpression::constructor_new (var_opLocation_3916, outArgument_expression, var_rightSon_3970 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 125)) ; + outArgument_expression = GALGAS_gtlShiftLeftExpression::class_func_new (var_opLocation_3916, outArgument_expression, var_rightSon_3970 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 125)) ; } break ; case 3: { - 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)) ; + 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)) ; GALGAS_gtlExpression var_rightSon_4160 ; nt_gtl_5F_term_ (var_rightSon_4160, inCompiler) ; - outArgument_expression = GALGAS_gtlShiftRightExpression::constructor_new (var_opLocation_4106, outArgument_expression, var_rightSon_4160 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 131)) ; + outArgument_expression = GALGAS_gtlShiftRightExpression::class_func_new (var_opLocation_4106, outArgument_expression, var_rightSon_4160 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 131)) ; } break ; case 4: { - 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)) ; + 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)) ; GALGAS_gtlExpression var_rightSon_4350 ; nt_gtl_5F_term_ (var_rightSon_4350, inCompiler) ; - outArgument_expression = GALGAS_gtlAddExpression::constructor_new (var_opLocation_4296, outArgument_expression, var_rightSon_4350 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 137)) ; + outArgument_expression = GALGAS_gtlAddExpression::class_func_new (var_opLocation_4296, outArgument_expression, var_rightSon_4350 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 137)) ; } break ; case 5: { - 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)) ; + 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)) ; enumGalgasBool test_1 = kBoolTrue ; if (kBoolTrue == test_1) { test_1 = GALGAS_bool (gOption_gtl_5F_options_warnDeprecated.readProperty_value ()).boolEnum () ; @@ -7649,14 +7399,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::constructor_new (var_opLocation_4479, outArgument_expression, var_rightSon_4673 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 146)) ; + outArgument_expression = GALGAS_gtlAddExpression::class_func_new (var_opLocation_4479, outArgument_expression, var_rightSon_4673 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 146)) ; } break ; case 6: { - 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)) ; + 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)) ; GALGAS_gtlExpression var_rightSon_4856 ; nt_gtl_5F_term_ (var_rightSon_4856, inCompiler) ; - outArgument_expression = GALGAS_gtlSubstractExpression::constructor_new (var_opLocation_4802, outArgument_expression, var_rightSon_4856 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 152)) ; + outArgument_expression = GALGAS_gtlSubstractExpression::class_func_new (var_opLocation_4802, outArgument_expression, var_rightSon_4856 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 152)) ; } break ; default: repeatFlag_0 = false ; @@ -7667,29 +7417,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 (C_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 (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3C__3C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 123)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3E__3E_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 129)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2B_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 135)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2E_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 141)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 150)) ; + inCompiler->acceptTerminal (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: @@ -7702,29 +7452,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 (C_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 (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3C__3C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 123)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3E__3E_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 129)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2B_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 135)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2E_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 141)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 150)) ; + inCompiler->acceptTerminal (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: @@ -7737,32 +7487,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, - C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + 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 (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)) ; + 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)) ; GALGAS_gtlExpression var_rightSon_5383 ; nt_gtl_5F_factor_ (var_rightSon_5383, inCompiler) ; - outArgument_expression = GALGAS_gtlMultiplyExpression::constructor_new (var_opLocation_5327, outArgument_expression, var_rightSon_5383 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 170)) ; + outArgument_expression = GALGAS_gtlMultiplyExpression::class_func_new (var_opLocation_5327, outArgument_expression, var_rightSon_5383 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 170)) ; } break ; case 3: { - 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)) ; + 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)) ; GALGAS_gtlExpression var_rightSon_5573 ; nt_gtl_5F_factor_ (var_rightSon_5573, inCompiler) ; - outArgument_expression = GALGAS_gtlDivideExpression::constructor_new (var_opLocation_5517, outArgument_expression, var_rightSon_5573 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 176)) ; + outArgument_expression = GALGAS_gtlDivideExpression::class_func_new (var_opLocation_5517, outArgument_expression, var_rightSon_5573 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 176)) ; } break ; case 4: { - 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)) ; + 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)) ; GALGAS_gtlExpression var_rightSon_5763 ; nt_gtl_5F_factor_ (var_rightSon_5763, inCompiler) ; - outArgument_expression = GALGAS_gtlModulusExpression::constructor_new (var_opLocation_5707, outArgument_expression, var_rightSon_5763 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 182)) ; + outArgument_expression = GALGAS_gtlModulusExpression::class_func_new (var_opLocation_5707, outArgument_expression, var_rightSon_5763 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 182)) ; } break ; default: repeatFlag_0 = false ; @@ -7773,21 +7523,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 (C_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 (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2A_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 168)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2F_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 174)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_mod COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 180)) ; + inCompiler->acceptTerminal (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: @@ -7800,21 +7550,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 (C_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 (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2A_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 168)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2F_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 174)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_mod COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 180)) ; + inCompiler->acceptTerminal (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: @@ -7827,288 +7577,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, - C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - 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)) ; + 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)) ; GALGAS_gtlExpression var_factorExpression_6245 ; nt_gtl_5F_expression_ (var_factorExpression_6245, inCompiler) ; - 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)) ; + 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)) ; } //---------------------------------------------------------------------------------------------------------------------* -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)) ; +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)) ; nt_gtl_5F_expression_parse (inCompiler) ; - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 201)) ; + inCompiler->acceptTerminal (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 (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)) ; +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)) ; nt_gtl_5F_expression_indexing (inCompiler) ; - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 201)) ; + inCompiler->acceptTerminal (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, - C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - 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)) ; + 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)) ; GALGAS_gtlExpression var_notExpression_6733 ; nt_gtl_5F_factor_ (var_notExpression_6733, inCompiler) ; - outArgument_expression = GALGAS_gtlNotExpression::constructor_new (var_opLocation_6679, var_notExpression_6733 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 213)) ; + outArgument_expression = GALGAS_gtlNotExpression::class_func_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 (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)) ; +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)) ; 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 (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)) ; +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)) ; 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, - C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - 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)) ; + 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)) ; GALGAS_gtlExpression var_notExpression_7187 ; nt_gtl_5F_factor_ (var_notExpression_7187, inCompiler) ; - outArgument_expression = GALGAS_gtlNotExpression::constructor_new (var_opLocation_7133, var_notExpression_7187 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 225)) ; + outArgument_expression = GALGAS_gtlNotExpression::class_func_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 (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)) ; +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)) ; 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 (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)) ; +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)) ; 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, - C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - 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)) ; + 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)) ; GALGAS_gtlExpression var_minusExpression_7641 ; nt_gtl_5F_factor_ (var_minusExpression_7641, inCompiler) ; - outArgument_expression = GALGAS_gtlMinusExpression::constructor_new (var_opLocation_7587, var_minusExpression_7641 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 237)) ; + outArgument_expression = GALGAS_gtlMinusExpression::class_func_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 (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)) ; +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)) ; 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 (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)) ; +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)) ; 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, - C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - 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)) ; + 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)) ; GALGAS_gtlExpression var_plusExpression_8101 ; nt_gtl_5F_factor_ (var_plusExpression_8101, inCompiler) ; - outArgument_expression = GALGAS_gtlPlusExpression::constructor_new (var_opLocation_8047, var_plusExpression_8101 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 249)) ; + outArgument_expression = GALGAS_gtlPlusExpression::class_func_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 (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)) ; +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)) ; 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 (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)) ; +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)) ; 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, - C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - 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)) ; + 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)) ; } //---------------------------------------------------------------------------------------------------------------------* -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)) ; +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)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -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_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_i11_ (GALGAS_gtlExpression & outArgument_expression, - C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - 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)) ; + 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)) ; } //---------------------------------------------------------------------------------------------------------------------* -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)) ; +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)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -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_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_i12_ (GALGAS_gtlExpression & outArgument_expression, - C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument GALGAS_lbigint var_literalInteger_9373 = inCompiler->synthetizedAttribute_intValue () ; - 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)) ; + 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)) ; } //---------------------------------------------------------------------------------------------------------------------* -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)) ; +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)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -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_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_i13_ (GALGAS_gtlExpression & outArgument_expression, - C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument GALGAS_ldouble var_literalFloat_9830 = inCompiler->synthetizedAttribute_floatValue () ; - 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)) ; + 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)) ; } //---------------------------------------------------------------------------------------------------------------------* -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)) ; +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)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -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_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_i14_ (GALGAS_gtlExpression & outArgument_expression, - C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + 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 (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)) ; + 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)) ; } //---------------------------------------------------------------------------------------------------------------------* -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)) ; +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)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -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_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_i15_ (GALGAS_gtlExpression & outArgument_expression, - C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument GALGAS_lchar var_literalChar_10729 = inCompiler->synthetizedAttribute_charValue () ; - 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)) ; + 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)) ; } //---------------------------------------------------------------------------------------------------------------------* -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)) ; +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)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -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_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_i16_ (GALGAS_gtlExpression & outArgument_expression, - C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 338)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 340)) ; + inCompiler->acceptTerminal (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 () ; @@ -8124,19 +7874,19 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex } } } - GALGAS_gtlExpressionList var_argumentList_11587 = GALGAS_gtlExpressionList::constructor_emptyList (SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 347)) ; + GALGAS_gtlExpressionList var_argumentList_11587 = GALGAS_gtlExpressionList::class_func_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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3A_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 350)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 355)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 355)) ; }else{ repeatFlag_3 = false ; } @@ -8145,26 +7895,26 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex default: break ; } - 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)) ; + 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)) ; } //---------------------------------------------------------------------------------------------------------------------* -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)) ; +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)) ; nt_gtl_5F_expression_parse (inCompiler) ; - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 340)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3A_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 350)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 355)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 355)) ; }else{ repeatFlag_0 = false ; } @@ -8173,26 +7923,26 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex default: break ; } - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 358)) ; + inCompiler->acceptTerminal (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 (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)) ; +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)) ; nt_gtl_5F_expression_indexing (inCompiler) ; - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 340)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3A_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 350)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 355)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 355)) ; }else{ repeatFlag_0 = false ; } @@ -8201,19 +7951,19 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex default: break ; } - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 358)) ; + inCompiler->acceptTerminal (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, - C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + 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::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)) ; + 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)) ; } break ; case 2: { enumGalgasBool test_0 = kBoolTrue ; @@ -8221,11 +7971,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::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)) ; + 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)) ; } } - 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)) ; + 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)) ; switch (select_gtl_5F_debugger_5F_expression_5F_parser_8 (inCompiler)) { case 1: { bool repeatFlag_2 = true ; @@ -8234,7 +7984,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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 386)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 386)) ; }else{ repeatFlag_2 = false ; } @@ -8245,9 +7995,9 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex default: break ; } - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 389)) ; + inCompiler->acceptTerminal (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::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)) ; + 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)) ; } break ; default: break ; @@ -8256,20 +8006,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 (C_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 (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__28_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 380)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 386)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 386)) ; }else{ repeatFlag_0 = false ; } @@ -8280,7 +8030,7 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex default: break ; } - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 389)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 389)) ; } break ; default: break ; @@ -8290,20 +8040,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 (C_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 (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__28_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 380)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 386)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 386)) ; }else{ repeatFlag_0 = false ; } @@ -8314,7 +8064,7 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex default: break ; } - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 389)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 389)) ; } break ; default: break ; @@ -8324,22 +8074,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, - C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_exists COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 404)) ; + inCompiler->acceptTerminal (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 (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)) ; + 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)) ; GALGAS_gtlExpression var_defaultExpression_12865 ; nt_gtl_5F_expression_ (var_defaultExpression_12865, inCompiler) ; - 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)) ; + 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)) ; } break ; case 2: { - 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)) ; + 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)) ; } break ; default: break ; @@ -8348,15 +8098,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 (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)) ; +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)) ; nt_gtl_5F_variable_parse (inCompiler) ; switch (select_gtl_5F_debugger_5F_expression_5F_parser_10 (inCompiler)) { case 1: { - 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)) ; + 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)) ; nt_gtl_5F_expression_parse (inCompiler) ; - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 409)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 409)) ; } break ; case 2: { } break ; @@ -8368,15 +8118,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 (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)) ; +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)) ; nt_gtl_5F_variable_indexing (inCompiler) ; switch (select_gtl_5F_debugger_5F_expression_5F_parser_10 (inCompiler)) { case 1: { - 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)) ; + 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)) ; nt_gtl_5F_expression_indexing (inCompiler) ; - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 409)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 409)) ; } break ; case 2: { } break ; @@ -8388,111 +8138,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, - C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_typeof COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 423)) ; + inCompiler->acceptTerminal (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::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)) ; + 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)) ; } //---------------------------------------------------------------------------------------------------------------------* -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)) ; +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)) ; 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 (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)) ; +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)) ; 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, - C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - 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)) ; + 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)) ; } //---------------------------------------------------------------------------------------------------------------------* -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)) ; +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)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -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_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_i21_ (GALGAS_gtlExpression & outArgument_expression, - C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - 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)) ; + 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)) ; } //---------------------------------------------------------------------------------------------------------------------* -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)) ; +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)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -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_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_i22_ (GALGAS_gtlExpression & outArgument_expression, - C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument GALGAS_lstring var_enumValue_13996 = inCompiler->synthetizedAttribute_tokenString () ; - 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)) ; + 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)) ; } //---------------------------------------------------------------------------------------------------------------------* -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)) ; +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)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -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_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_i23_ (GALGAS_gtlExpression & outArgument_expression, - C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (C_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__40_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 480)) ; GALGAS_lstring var_typeName_14303 = inCompiler->synthetizedAttribute_tokenString () ; - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_identifier 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)) ; 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::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)) ; + 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)) ; } } if (kBoolFalse == test_0) { @@ -8500,7 +8250,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::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)) ; + 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)) ; } } if (kBoolFalse == test_1) { @@ -8508,7 +8258,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::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)) ; + 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)) ; } } if (kBoolFalse == test_2) { @@ -8516,7 +8266,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::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)) ; + 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)) ; } } if (kBoolFalse == test_3) { @@ -8524,7 +8274,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::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)) ; + 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)) ; } } if (kBoolFalse == test_4) { @@ -8532,7 +8282,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::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)) ; + 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)) ; } } if (kBoolFalse == test_5) { @@ -8540,7 +8290,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::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)) ; + 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)) ; } } if (kBoolFalse == test_6) { @@ -8548,7 +8298,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::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)) ; + 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)) ; } } if (kBoolFalse == test_7) { @@ -8556,7 +8306,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::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)) ; + 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)) ; } } if (kBoolFalse == test_8) { @@ -8564,7 +8314,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::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)) ; + 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)) ; } } if (kBoolFalse == test_9) { @@ -8572,7 +8322,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::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)) ; + 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)) ; } } if (kBoolFalse == test_10) { @@ -8580,12 +8330,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::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)) ; + 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)) ; } } if (kBoolFalse == test_11) { TC_Array fixItArray12 ; - 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)) ; + 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)) ; var_type_14366.drop () ; // Release error dropped variable } } @@ -8599,104 +8349,104 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex } } } - outArgument_expression = GALGAS_gtlTerminal::constructor_new (var_typeName_14303.readProperty_location (), var_type_14366 COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 509)) ; + outArgument_expression = GALGAS_gtlTerminal::class_func_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 (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_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)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -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_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_i24_ (GALGAS_gtlExpression & outArgument_expression, - C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_emptylist COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 517)) ; + inCompiler->acceptTerminal (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::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)) ; + 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)) ; } } - 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)) ; + 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)) ; } //---------------------------------------------------------------------------------------------------------------------* -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)) ; +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)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -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_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_i25_ (GALGAS_gtlExpression & outArgument_expression, - C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_emptymap COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 536)) ; + inCompiler->acceptTerminal (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::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)) ; + 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)) ; } } - 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)) ; + 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)) ; } //---------------------------------------------------------------------------------------------------------------------* -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)) ; +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)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -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_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_i26_ (GALGAS_gtlExpression & outArgument_expression, - C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_mapof COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 555)) ; + inCompiler->acceptTerminal (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 (C_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_by COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 558)) ; GALGAS_lstring var_key_16739 = inCompiler->synthetizedAttribute_tokenString () ; - 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)) ; + 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)) ; } break ; case 2: { - 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)) ; + 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)) ; } break ; default: break ; @@ -8705,16 +8455,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 (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)) ; +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)) ; nt_gtl_5F_expression_parse (inCompiler) ; switch (select_gtl_5F_debugger_5F_expression_5F_parser_11 (inCompiler)) { case 1: { - 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)) ; + 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)) ; } break ; case 2: { - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_end COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 566)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_end COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 566)) ; } break ; default: break ; @@ -8724,16 +8474,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 (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)) ; +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)) ; nt_gtl_5F_expression_indexing (inCompiler) ; switch (select_gtl_5F_debugger_5F_expression_5F_parser_11 (inCompiler)) { case 1: { - 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)) ; + 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)) ; } break ; case 2: { - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_end COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 566)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken_end COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 566)) ; } break ; default: break ; @@ -8743,39 +8493,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, - C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_listof COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 579)) ; + inCompiler->acceptTerminal (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::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)) ; + 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)) ; } //---------------------------------------------------------------------------------------------------------------------* -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)) ; +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)) ; nt_gtl_5F_expression_parse (inCompiler) ; - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_end COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 582)) ; + inCompiler->acceptTerminal (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 (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)) ; +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)) ; nt_gtl_5F_expression_indexing (inCompiler) ; - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_end COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 582)) ; + inCompiler->acceptTerminal (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, - C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - 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)) ; + 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)) ; switch (select_gtl_5F_debugger_5F_expression_5F_parser_12 (inCompiler)) { case 1: { bool repeatFlag_0 = true ; @@ -8784,7 +8534,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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 596)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 596)) ; }else{ repeatFlag_0 = false ; } @@ -8795,21 +8545,21 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex default: break ; } - 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)) ; + 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)) ; } //---------------------------------------------------------------------------------------------------------------------* -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)) ; +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)) ; 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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 596)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 596)) ; }else{ repeatFlag_0 = false ; } @@ -8820,21 +8570,21 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex default: break ; } - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 600)) ; + inCompiler->acceptTerminal (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 (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)) ; +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)) ; 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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 596)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 596)) ; }else{ repeatFlag_0 = false ; } @@ -8845,30 +8595,30 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex default: break ; } - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__29_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 600)) ; + inCompiler->acceptTerminal (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, - C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - 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)) ; + 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)) ; 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 (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)) ; + 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)) ; 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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 617)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 617)) ; }else{ repeatFlag_0 = false ; } @@ -8879,23 +8629,23 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex default: break ; } - 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)) ; + 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)) ; } //---------------------------------------------------------------------------------------------------------------------* -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)) ; +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)) ; switch (select_gtl_5F_debugger_5F_expression_5F_parser_14 (inCompiler)) { case 1: { bool repeatFlag_0 = true ; while (repeatFlag_0) { - 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)) ; + 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)) ; nt_gtl_5F_expression_parse (inCompiler) ; if (select_gtl_5F_debugger_5F_expression_5F_parser_15 (inCompiler) == 2) { - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 617)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 617)) ; }else{ repeatFlag_0 = false ; } @@ -8906,23 +8656,23 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex default: break ; } - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 621)) ; + inCompiler->acceptTerminal (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 (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)) ; +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)) ; switch (select_gtl_5F_debugger_5F_expression_5F_parser_14 (inCompiler)) { case 1: { bool repeatFlag_0 = true ; while (repeatFlag_0) { - 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)) ; + 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)) ; nt_gtl_5F_expression_indexing (inCompiler) ; if (select_gtl_5F_debugger_5F_expression_5F_parser_15 (inCompiler) == 2) { - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 617)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 617)) ; }else{ repeatFlag_0 = false ; } @@ -8933,30 +8683,30 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex default: break ; } - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 621)) ; + inCompiler->acceptTerminal (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, - C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - 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)) ; + 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)) ; 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 (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)) ; + 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)) ; 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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 638)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 638)) ; }else{ repeatFlag_0 = false ; } @@ -8967,23 +8717,23 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex default: break ; } - 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)) ; + 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)) ; } //---------------------------------------------------------------------------------------------------------------------* -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)) ; +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)) ; switch (select_gtl_5F_debugger_5F_expression_5F_parser_16 (inCompiler)) { case 1: { bool repeatFlag_0 = true ; while (repeatFlag_0) { - 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)) ; + 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)) ; nt_gtl_5F_expression_parse (inCompiler) ; if (select_gtl_5F_debugger_5F_expression_5F_parser_17 (inCompiler) == 2) { - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 638)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 638)) ; }else{ repeatFlag_0 = false ; } @@ -8994,23 +8744,23 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex default: break ; } - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__7D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 642)) ; + inCompiler->acceptTerminal (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 (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)) ; +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)) ; switch (select_gtl_5F_debugger_5F_expression_5F_parser_16 (inCompiler)) { case 1: { bool repeatFlag_0 = true ; while (repeatFlag_0) { - 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)) ; + 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)) ; nt_gtl_5F_expression_indexing (inCompiler) ; if (select_gtl_5F_debugger_5F_expression_5F_parser_17 (inCompiler) == 2) { - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 638)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 638)) ; }else{ repeatFlag_0 = false ; } @@ -9021,16 +8771,16 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex default: break ; } - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__7D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 642)) ; + inCompiler->acceptTerminal (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, - C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_expression.drop () ; // Release 'out' argument - 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)) ; + 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)) ; switch (select_gtl_5F_debugger_5F_expression_5F_parser_18 (inCompiler)) { case 1: { bool repeatFlag_0 = true ; @@ -9039,7 +8789,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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 657)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 657)) ; }else{ repeatFlag_0 = false ; } @@ -9050,21 +8800,21 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex default: break ; } - 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)) ; + 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)) ; } //---------------------------------------------------------------------------------------------------------------------* -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)) ; +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)) ; 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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 657)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 657)) ; }else{ repeatFlag_0 = false ; } @@ -9075,21 +8825,21 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex default: break ; } - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__21_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 661)) ; + inCompiler->acceptTerminal (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 (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)) ; +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)) ; 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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 657)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__2C_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 657)) ; }else{ repeatFlag_0 = false ; } @@ -9100,41 +8850,41 @@ void cParser_gtl_5F_debugger_5F_expression_5F_parser::rule_gtl_5F_debugger_5F_ex default: break ; } - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__21_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 661)) ; + inCompiler->acceptTerminal (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, - C_Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { + Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { outArgument_path.drop () ; // Release 'out' argument - outArgument_path = GALGAS_gtlVarPath::constructor_emptyList (SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 670)) ; + outArgument_path = GALGAS_gtlVarPath::class_func_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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 672)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 674)) ; + inCompiler->acceptTerminal (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 (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)) ; + 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)) ; switch (select_gtl_5F_debugger_5F_expression_5F_parser_22 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 679)) ; + inCompiler->acceptTerminal (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 (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)) ; + 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)) ; bool repeatFlag_1 = true ; while (repeatFlag_1) { if (select_gtl_5F_debugger_5F_expression_5F_parser_23 (inCompiler) == 2) { - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 685)) ; + inCompiler->acceptTerminal (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 (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)) ; + 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)) ; }else{ repeatFlag_1 = false ; } @@ -9147,13 +8897,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::constructor_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::class_func_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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3A__3A_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 696)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__3A__3A_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 696)) ; }else{ repeatFlag_0 = false ; } @@ -9162,26 +8912,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 (C_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 (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { bool repeatFlag_0 = true ; while (repeatFlag_0) { - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 672)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 674)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 676)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 679)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 681)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 685)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 687)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 687)) ; }else{ repeatFlag_1 = false ; } @@ -9199,7 +8949,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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3A__3A_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 696)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__3A__3A_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 696)) ; }else{ repeatFlag_0 = false ; } @@ -9209,26 +8959,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 (C_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 (Lexique_gtl_5F_debugger_5F_scanner * inCompiler) { bool repeatFlag_0 = true ; while (repeatFlag_0) { - inCompiler->acceptTerminal (C_Lexique_gtl_5F_debugger_5F_scanner::kToken_identifier COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 672)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 674)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 676)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 679)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 681)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5B_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 685)) ; + inCompiler->acceptTerminal (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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 687)) ; + inCompiler->acceptTerminal (Lexique_gtl_5F_debugger_5F_scanner::kToken__5D_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 687)) ; }else{ repeatFlag_1 = false ; } @@ -9246,24 +8996,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 (C_Lexique_gtl_5F_debugger_5F_scanner::kToken__3A__3A_ COMMA_SOURCE_FILE ("gtl_debugger_expression_parser.galgas", 696)) ; + inCompiler->acceptTerminal (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 "strings/unicode_character_cpp.h" -#include "galgas2/scanner_actions.h" -#include "galgas2/cLexiqueIntrospection.h" +#include "unicode_character_cpp.h" +#include "scanner_actions.h" +#include "cLexiqueIntrospection.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cTokenFor_goil_5F_lexique::cTokenFor_goil_5F_lexique (void) : mLexicalAttribute_a_5F_string (), @@ -9273,26 +9023,26 @@ mLexicalAttribute_integerNumber (), mLexicalAttribute_number () { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 & 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 & inSourceString, - const C_String & inStringForError - COMMA_LOCATION_ARGS) : -C_Lexique (inCallerCompiler, inSourceString, inStringForError 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) { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Lexical error message list -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- static const char * gLexicalMessage_goil_5F_lexique_decimalNumberTooLarge = "decimal number too large" ; @@ -9306,12 +9056,12 @@ static const char * gLexicalMessage_goil_5F_lexique_unterminatedLitteralString = static const char * gLexicalMessage_goil_5F_lexique_unterminated_comment_error = "unterminated comment" ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // getMessageForTerminal -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_String C_Lexique_goil_5F_lexique::getMessageForTerminal (const int32_t inTerminalIndex) const { - C_String result = "" ; +String Lexique_goil_5F_lexique::getMessageForTerminal (const int32_t inTerminalIndex) const { + String result = "" ; if ((inTerminalIndex >= 0) && (inTerminalIndex < 41)) { static const char * syntaxErrorMessageArray [41] = {kEndOfSourceLexicalErrorMessage, "a comment", @@ -9360,105 +9110,91 @@ C_String C_Lexique_goil_5F_lexique::getMessageForTerminal (const int32_t inTermi return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // U N I C O D E S T R I N G S -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -//--- Unicode string for '$_2A__2F_$' -static const utf32 kUnicodeString_goil_5F_lexique__2A__2F_ [] = { +//--- Unicode string for '$*/$' +static const std::initializer_list kUnicodeString_goil_5F_lexique__2A__2F_ = { TO_UNICODE ('*'), TO_UNICODE ('/'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_2B_$' -static const utf32 kUnicodeString_goil_5F_lexique__2B_ [] = { +//--- Unicode string for '$+$' +static const std::initializer_list kUnicodeString_goil_5F_lexique__2B_ = { TO_UNICODE ('+'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_2C_$' -static const utf32 kUnicodeString_goil_5F_lexique__2C_ [] = { +//--- Unicode string for '$,$' +static const std::initializer_list kUnicodeString_goil_5F_lexique__2C_ = { TO_UNICODE (','), - TO_UNICODE (0) } ; -//--- Unicode string for '$_2D_$' -static const utf32 kUnicodeString_goil_5F_lexique__2D_ [] = { +//--- Unicode string for '$-$' +static const std::initializer_list kUnicodeString_goil_5F_lexique__2D_ = { TO_UNICODE ('-'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_2E_$' -static const utf32 kUnicodeString_goil_5F_lexique__2E_ [] = { +//--- Unicode string for '$.$' +static const std::initializer_list kUnicodeString_goil_5F_lexique__2E_ = { TO_UNICODE ('.'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_2E__2E_$' -static const utf32 kUnicodeString_goil_5F_lexique__2E__2E_ [] = { +//--- Unicode string for '$..$' +static const std::initializer_list kUnicodeString_goil_5F_lexique__2E__2E_ = { TO_UNICODE ('.'), TO_UNICODE ('.'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_2F__2A_$' -static const utf32 kUnicodeString_goil_5F_lexique__2F__2A_ [] = { +//--- Unicode string for '$/*$' +static const std::initializer_list kUnicodeString_goil_5F_lexique__2F__2A_ = { TO_UNICODE ('/'), TO_UNICODE ('*'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_2F__2F_$' -static const utf32 kUnicodeString_goil_5F_lexique__2F__2F_ [] = { +//--- Unicode string for '$//$' +static const std::initializer_list kUnicodeString_goil_5F_lexique__2F__2F_ = { TO_UNICODE ('/'), TO_UNICODE ('/'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_30_X$' -static const utf32 kUnicodeString_goil_5F_lexique__30_X [] = { +//--- Unicode string for '$0X$' +static const std::initializer_list kUnicodeString_goil_5F_lexique__30_X = { TO_UNICODE ('0'), TO_UNICODE ('X'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_30_x$' -static const utf32 kUnicodeString_goil_5F_lexique__30_x [] = { +//--- Unicode string for '$0x$' +static const std::initializer_list kUnicodeString_goil_5F_lexique__30_x = { TO_UNICODE ('0'), TO_UNICODE ('x'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_3A_$' -static const utf32 kUnicodeString_goil_5F_lexique__3A_ [] = { +//--- Unicode string for '$:$' +static const std::initializer_list kUnicodeString_goil_5F_lexique__3A_ = { TO_UNICODE (':'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_3B_$' -static const utf32 kUnicodeString_goil_5F_lexique__3B_ [] = { +//--- Unicode string for '$;$' +static const std::initializer_list kUnicodeString_goil_5F_lexique__3B_ = { TO_UNICODE (';'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_3D_$' -static const utf32 kUnicodeString_goil_5F_lexique__3D_ [] = { +//--- Unicode string for '$=$' +static const std::initializer_list kUnicodeString_goil_5F_lexique__3D_ = { TO_UNICODE ('='), - TO_UNICODE (0) } ; //--- Unicode string for '$AUTO$' -static const utf32 kUnicodeString_goil_5F_lexique_AUTO [] = { +static const std::initializer_list 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 utf32 kUnicodeString_goil_5F_lexique_BOOLEAN [] = { +static const std::initializer_list kUnicodeString_goil_5F_lexique_BOOLEAN = { TO_UNICODE ('B'), TO_UNICODE ('O'), TO_UNICODE ('O'), @@ -9466,48 +9202,43 @@ static const utf32 kUnicodeString_goil_5F_lexique_BOOLEAN [] = { TO_UNICODE ('E'), TO_UNICODE ('A'), TO_UNICODE ('N'), - TO_UNICODE (0) } ; //--- Unicode string for '$CPU$' -static const utf32 kUnicodeString_goil_5F_lexique_CPU [] = { +static const std::initializer_list kUnicodeString_goil_5F_lexique_CPU = { TO_UNICODE ('C'), TO_UNICODE ('P'), TO_UNICODE ('U'), - TO_UNICODE (0) } ; //--- Unicode string for '$ENUM$' -static const utf32 kUnicodeString_goil_5F_lexique_ENUM [] = { +static const std::initializer_list 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 utf32 kUnicodeString_goil_5F_lexique_FALSE [] = { +static const std::initializer_list 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 utf32 kUnicodeString_goil_5F_lexique_FLOAT [] = { +static const std::initializer_list 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 utf32 kUnicodeString_goil_5F_lexique_IDENTIFIER [] = { +static const std::initializer_list kUnicodeString_goil_5F_lexique_IDENTIFIER = { TO_UNICODE ('I'), TO_UNICODE ('D'), TO_UNICODE ('E'), @@ -9518,11 +9249,10 @@ static const utf32 kUnicodeString_goil_5F_lexique_IDENTIFIER [] = { TO_UNICODE ('I'), TO_UNICODE ('E'), TO_UNICODE ('R'), - TO_UNICODE (0) } ; //--- Unicode string for '$IMPLEMENTATION$' -static const utf32 kUnicodeString_goil_5F_lexique_IMPLEMENTATION [] = { +static const std::initializer_list kUnicodeString_goil_5F_lexique_IMPLEMENTATION = { TO_UNICODE ('I'), TO_UNICODE ('M'), TO_UNICODE ('P'), @@ -9537,31 +9267,28 @@ static const utf32 kUnicodeString_goil_5F_lexique_IMPLEMENTATION [] = { TO_UNICODE ('I'), TO_UNICODE ('O'), TO_UNICODE ('N'), - TO_UNICODE (0) } ; -//--- Unicode string for '$INT_33__32_$' -static const utf32 kUnicodeString_goil_5F_lexique_INT_33__32_ [] = { +//--- Unicode string for '$INT32$' +static const std::initializer_list 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 '$INT_36__34_$' -static const utf32 kUnicodeString_goil_5F_lexique_INT_36__34_ [] = { +//--- Unicode string for '$INT64$' +static const std::initializer_list 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_5F_DEFAULT$' -static const utf32 kUnicodeString_goil_5F_lexique_NO_5F_DEFAULT [] = { +//--- Unicode string for '$NO_DEFAULT$' +static const std::initializer_list kUnicodeString_goil_5F_lexique_NO_5F_DEFAULT = { TO_UNICODE ('N'), TO_UNICODE ('O'), TO_UNICODE ('_'), @@ -9572,11 +9299,10 @@ static const utf32 kUnicodeString_goil_5F_lexique_NO_5F_DEFAULT [] = { TO_UNICODE ('U'), TO_UNICODE ('L'), TO_UNICODE ('T'), - TO_UNICODE (0) } ; -//--- Unicode string for '$OIL_5F_VERSION$' -static const utf32 kUnicodeString_goil_5F_lexique_OIL_5F_VERSION [] = { +//--- Unicode string for '$OIL_VERSION$' +static const std::initializer_list kUnicodeString_goil_5F_lexique_OIL_5F_VERSION = { TO_UNICODE ('O'), TO_UNICODE ('I'), TO_UNICODE ('L'), @@ -9588,64 +9314,58 @@ static const utf32 kUnicodeString_goil_5F_lexique_OIL_5F_VERSION [] = { TO_UNICODE ('I'), TO_UNICODE ('O'), TO_UNICODE ('N'), - TO_UNICODE (0) } ; //--- Unicode string for '$STRING$' -static const utf32 kUnicodeString_goil_5F_lexique_STRING [] = { +static const std::initializer_list 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 utf32 kUnicodeString_goil_5F_lexique_STRUCT [] = { +static const std::initializer_list 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 utf32 kUnicodeString_goil_5F_lexique_TRUE [] = { +static const std::initializer_list kUnicodeString_goil_5F_lexique_TRUE = { TO_UNICODE ('T'), TO_UNICODE ('R'), TO_UNICODE ('U'), TO_UNICODE ('E'), - TO_UNICODE (0) } ; -//--- Unicode string for '$UINT_33__32_$' -static const utf32 kUnicodeString_goil_5F_lexique_UINT_33__32_ [] = { +//--- Unicode string for '$UINT32$' +static const std::initializer_list 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 '$UINT_36__34_$' -static const utf32 kUnicodeString_goil_5F_lexique_UINT_36__34_ [] = { +//--- Unicode string for '$UINT64$' +static const std::initializer_list 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_5F_AUTO$' -static const utf32 kUnicodeString_goil_5F_lexique_WITH_5F_AUTO [] = { +//--- Unicode string for '$WITH_AUTO$' +static const std::initializer_list kUnicodeString_goil_5F_lexique_WITH_5F_AUTO = { TO_UNICODE ('W'), TO_UNICODE ('I'), TO_UNICODE ('T'), @@ -9655,23 +9375,20 @@ static const utf32 kUnicodeString_goil_5F_lexique_WITH_5F_AUTO [] = { TO_UNICODE ('U'), TO_UNICODE ('T'), TO_UNICODE ('O'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_5B_$' -static const utf32 kUnicodeString_goil_5F_lexique__5B_ [] = { +//--- Unicode string for '$[$' +static const std::initializer_list kUnicodeString_goil_5F_lexique__5B_ = { TO_UNICODE ('['), - TO_UNICODE (0) } ; -//--- Unicode string for '$_5D_$' -static const utf32 kUnicodeString_goil_5F_lexique__5D_ [] = { +//--- Unicode string for '$]$' +static const std::initializer_list kUnicodeString_goil_5F_lexique__5D_ = { TO_UNICODE (']'), - TO_UNICODE (0) } ; //--- Unicode string for '$include$' -static const utf32 kUnicodeString_goil_5F_lexique_include [] = { +static const std::initializer_list kUnicodeString_goil_5F_lexique_include = { TO_UNICODE ('i'), TO_UNICODE ('n'), TO_UNICODE ('c'), @@ -9679,11 +9396,10 @@ static const utf32 kUnicodeString_goil_5F_lexique_include [] = { TO_UNICODE ('u'), TO_UNICODE ('d'), TO_UNICODE ('e'), - TO_UNICODE (0) } ; //--- Unicode string for '$includeifexists$' -static const utf32 kUnicodeString_goil_5F_lexique_includeifexists [] = { +static const std::initializer_list kUnicodeString_goil_5F_lexique_includeifexists = { TO_UNICODE ('i'), TO_UNICODE ('n'), TO_UNICODE ('c'), @@ -9699,372 +9415,369 @@ static const utf32 kUnicodeString_goil_5F_lexique_includeifexists [] = { TO_UNICODE ('s'), TO_UNICODE ('t'), TO_UNICODE ('s'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_7B_$' -static const utf32 kUnicodeString_goil_5F_lexique__7B_ [] = { +//--- Unicode string for '${$' +static const std::initializer_list kUnicodeString_goil_5F_lexique__7B_ = { TO_UNICODE ('{'), - TO_UNICODE (0) } ; -//--- Unicode string for '$_7D_$' -static const utf32 kUnicodeString_goil_5F_lexique__7D_ [] = { +//--- Unicode string for '$}$' +static const std::initializer_list 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_, 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) { + 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) { 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, 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) + 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) } ; -int32_t C_Lexique_goil_5F_lexique::search_into_boolean (const C_String & inSearchedString) { +int32_t Lexique_goil_5F_lexique::search_into_boolean (const 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, 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) + 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) } ; -int32_t C_Lexique_goil_5F_lexique::search_into_commands (const C_String & inSearchedString) { +int32_t Lexique_goil_5F_lexique::search_into_commands (const 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, 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) { + 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) { 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, 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) + 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) } ; -int32_t C_Lexique_goil_5F_lexique::search_into_miscSpecifiers (const C_String & inSearchedString) { +int32_t Lexique_goil_5F_lexique::search_into_miscSpecifiers (const 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, 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) + 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) } ; -int32_t C_Lexique_goil_5F_lexique::search_into_oilDefinitions (const C_String & inSearchedString) { +int32_t Lexique_goil_5F_lexique::search_into_oilDefinitions (const 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, 11, C_Lexique_goil_5F_lexique::kToken_OIL_5F_VERSION) + C_unicode_lexique_table_entry (kUnicodeString_goil_5F_lexique_OIL_5F_VERSION, Lexique_goil_5F_lexique::kToken_OIL_5F_VERSION) } ; -int32_t C_Lexique_goil_5F_lexique::search_into_oilVersion (const C_String & inSearchedString) { +int32_t Lexique_goil_5F_lexique::search_into_oilVersion (const String & inSearchedString) { return searchInList (inSearchedString, ktable_for_goil_5F_lexique_oilVersion, ktable_size_goil_5F_lexique_oilVersion) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // getCurrentTokenString -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_String C_Lexique_goil_5F_lexique::getCurrentTokenString (const cToken * inTokenPtr) const { +String Lexique_goil_5F_lexique::getCurrentTokenString (const cToken * inTokenPtr) const { const cTokenFor_goil_5F_lexique * ptr = (const cTokenFor_goil_5F_lexique *) inTokenPtr ; - C_String s ; + String s ; if (ptr == nullptr) { - s.appendCString("$$") ; + s.appendCString ("$$") ; }else{ switch (ptr->mTokenCode) { case kToken_: - s.appendCString("$$") ; + s.appendCString ("$$") ; break ; case kToken_comment: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("comment") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_idf: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("idf") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; - s.appendUnicodeCharacter (TO_UNICODE (' ') COMMA_HERE) ; - s.appendCLiteralStringConstant (ptr->mLexicalAttribute_att_5F_token) ; + s.appendChar (TO_UNICODE ('$')) ; + s.appendChar (TO_UNICODE (' ')) ; + s.appendStringAsCLiteralStringConstant (ptr->mLexicalAttribute_att_5F_token) ; break ; case kToken_string: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("string") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; - s.appendUnicodeCharacter (TO_UNICODE (' ') COMMA_HERE) ; - s.appendCLiteralStringConstant (ptr->mLexicalAttribute_a_5F_string) ; + s.appendChar (TO_UNICODE ('$')) ; + s.appendChar (TO_UNICODE (' ')) ; + s.appendStringAsCLiteralStringConstant (ptr->mLexicalAttribute_a_5F_string) ; break ; case kToken_g_5F_string: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("g_string") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; - s.appendUnicodeCharacter (TO_UNICODE (' ') COMMA_HERE) ; - s.appendCLiteralStringConstant (ptr->mLexicalAttribute_a_5F_string) ; + s.appendChar (TO_UNICODE ('$')) ; + s.appendChar (TO_UNICODE (' ')) ; + s.appendStringAsCLiteralStringConstant (ptr->mLexicalAttribute_a_5F_string) ; break ; case kToken_uint_5F_number: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("uint_number") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; - s.appendUnicodeCharacter (TO_UNICODE (' ') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; + s.appendChar (TO_UNICODE (' ')) ; s.appendUnsigned (ptr->mLexicalAttribute_integerNumber) ; break ; case kToken_float_5F_number: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("float_number") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; - s.appendUnicodeCharacter (TO_UNICODE (' ') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; + s.appendChar (TO_UNICODE (' ')) ; s.appendDouble (ptr->mLexicalAttribute_floatNumber) ; break ; case kToken_set_5F_start_5F_uint_5F_number: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("set_start_uint_number") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; - s.appendUnicodeCharacter (TO_UNICODE (' ') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; + s.appendChar (TO_UNICODE (' ')) ; s.appendUnsigned (ptr->mLexicalAttribute_integerNumber) ; break ; case kToken_command: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("command") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; - s.appendUnicodeCharacter (TO_UNICODE (' ') COMMA_HERE) ; - s.appendCLiteralStringConstant (ptr->mLexicalAttribute_att_5F_token) ; + s.appendChar (TO_UNICODE ('$')) ; + s.appendChar (TO_UNICODE (' ')) ; + s.appendStringAsCLiteralStringConstant (ptr->mLexicalAttribute_att_5F_token) ; break ; case kToken_OIL_5F_VERSION: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("OIL_VERSION") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_IMPLEMENTATION: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("IMPLEMENTATION") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_CPU: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("CPU") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_UINT_33__32_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("UINT32") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_INT_33__32_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("INT32") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_UINT_36__34_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("UINT64") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_INT_36__34_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("INT64") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_FLOAT: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("FLOAT") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_ENUM: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("ENUM") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_STRING: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("STRING") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_BOOLEAN: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("BOOLEAN") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_IDENTIFIER: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("IDENTIFIER") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_STRUCT: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("STRUCT") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_WITH_5F_AUTO: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("WITH_AUTO") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_NO_5F_DEFAULT: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("NO_DEFAULT") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_AUTO: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("AUTO") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_FALSE: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("FALSE") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_TRUE: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("TRUE") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__3B_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString (";") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__3A_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString (":") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__3D_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("=") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__7B_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("{") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__7D_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("}") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__2E__2E_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("..") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__5B_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("[") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__5D_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("]") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__2C_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString (",") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__2E_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString (".") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__2B_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("+") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken__2D_: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("-") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_include: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("include") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; case kToken_includeifexists: - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; s.appendCString ("includeifexists") ; - s.appendUnicodeCharacter (TO_UNICODE ('$') COMMA_HERE) ; + s.appendChar (TO_UNICODE ('$')) ; break ; default: break ; @@ -10073,35 +9786,35 @@ C_String C_Lexique_goil_5F_lexique::getCurrentTokenString (const cToken * inToke return s ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Template Delimiters -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Template Replacements -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Terminal Symbols as end of script in template mark -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // INTERNAL PARSE LEXICAL TOKEN -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void C_Lexique_goil_5F_lexique::internalParseLexicalToken (cTokenFor_goil_5F_lexique & token) { +void Lexique_goil_5F_lexique::internalParseLexicalToken (cTokenFor_goil_5F_lexique & token) { bool loop = true ; - token.mLexicalAttribute_a_5F_string.setLengthToZero () ; - token.mLexicalAttribute_att_5F_token.setLengthToZero () ; + token.mLexicalAttribute_a_5F_string.removeAllKeepingCapacity () ; + token.mLexicalAttribute_att_5F_token.removeAllKeepingCapacity () ; token.mLexicalAttribute_floatNumber = 0.0 ; token.mLexicalAttribute_integerNumber = 0 ; - token.mLexicalAttribute_number.setLengthToZero () ; + token.mLexicalAttribute_number.removeAllKeepingCapacity () ; mTokenStartLocation = mCurrentLocation ; try{ - if (testForInputUTF32String (kUnicodeString_goil_5F_lexique__2F__2F_, 2, true)) { + if (testForInputUTF32String (kUnicodeString_goil_5F_lexique__2F__2F_, 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{ @@ -10110,9 +9823,9 @@ void C_Lexique_goil_5F_lexique::internalParseLexicalToken (cTokenFor_goil_5F_lex }while (loop) ; loop = true ; enterDroppedTerminal (kToken_comment) ; - }else if (testForInputUTF32String (kUnicodeString_goil_5F_lexique__2F__2A_, 2, true)) { + }else if (testForInputUTF32String (kUnicodeString_goil_5F_lexique__2F__2A_, true)) { do { - if (notTestForInputUTF32String (kUnicodeString_goil_5F_lexique__2A__2F_, 2, gLexicalMessage_goil_5F_lexique_unterminated_comment_error COMMA_LINE_AND_SOURCE_FILE)) { + if (notTestForInputUTF32String (kUnicodeString_goil_5F_lexique__2A__2F_, gLexicalMessage_goil_5F_lexique_unterminated_comment_error COMMA_LINE_AND_SOURCE_FILE)) { }else{ loop = false ; } @@ -10147,40 +9860,40 @@ void C_Lexique_goil_5F_lexique::internalParseLexicalToken (cTokenFor_goil_5F_lex token.mTokenCode = kToken_idf ; } enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_goil_5F_lexique__2E__2E_, 2, true)) { + }else if (testForInputUTF32String (kUnicodeString_goil_5F_lexique__2E__2E_, true)) { token.mTokenCode = kToken__2E__2E_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_goil_5F_lexique__7D_, 1, true)) { + }else if (testForInputUTF32String (kUnicodeString_goil_5F_lexique__7D_, true)) { token.mTokenCode = kToken__7D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_goil_5F_lexique__7B_, 1, true)) { + }else if (testForInputUTF32String (kUnicodeString_goil_5F_lexique__7B_, true)) { token.mTokenCode = kToken__7B_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_goil_5F_lexique__5D_, 1, true)) { + }else if (testForInputUTF32String (kUnicodeString_goil_5F_lexique__5D_, true)) { token.mTokenCode = kToken__5D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_goil_5F_lexique__5B_, 1, true)) { + }else if (testForInputUTF32String (kUnicodeString_goil_5F_lexique__5B_, true)) { token.mTokenCode = kToken__5B_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_goil_5F_lexique__3D_, 1, true)) { + }else if (testForInputUTF32String (kUnicodeString_goil_5F_lexique__3D_, true)) { token.mTokenCode = kToken__3D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_goil_5F_lexique__3B_, 1, true)) { + }else if (testForInputUTF32String (kUnicodeString_goil_5F_lexique__3B_, true)) { token.mTokenCode = kToken__3B_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_goil_5F_lexique__3A_, 1, true)) { + }else if (testForInputUTF32String (kUnicodeString_goil_5F_lexique__3A_, true)) { token.mTokenCode = kToken__3A_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_goil_5F_lexique__2E_, 1, true)) { + }else if (testForInputUTF32String (kUnicodeString_goil_5F_lexique__2E_, true)) { token.mTokenCode = kToken__2E_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_goil_5F_lexique__2D_, 1, true)) { + }else if (testForInputUTF32String (kUnicodeString_goil_5F_lexique__2D_, true)) { token.mTokenCode = kToken__2D_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_goil_5F_lexique__2C_, 1, true)) { + }else if (testForInputUTF32String (kUnicodeString_goil_5F_lexique__2C_, true)) { token.mTokenCode = kToken__2C_ ; enterToken (token) ; - }else if (testForInputUTF32String (kUnicodeString_goil_5F_lexique__2B_, 1, true)) { + }else if (testForInputUTF32String (kUnicodeString_goil_5F_lexique__2B_, true)) { token.mTokenCode = kToken__2B_ ; enterToken (token) ; }else if (testForInputUTF32CharRange (TO_UNICODE (1), TO_UNICODE (' '))) { @@ -10241,7 +9954,7 @@ void C_Lexique_goil_5F_lexique::internalParseLexicalToken (cTokenFor_goil_5F_lex }else{ lexicalError (gLexicalMessage_goil_5F_lexique_unterminatedLitteralString COMMA_LINE_AND_SOURCE_FILE) ; } - }else if (testForInputUTF32String (kUnicodeString_goil_5F_lexique__30_x, 2, true) || testForInputUTF32String (kUnicodeString_goil_5F_lexique__30_X, 2, true)) { + }else if (testForInputUTF32String (kUnicodeString_goil_5F_lexique__30_x, true) || testForInputUTF32String (kUnicodeString_goil_5F_lexique__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_goil_5F_lexique_decimalNumberTooLarge, gLexicalMessage_goil_5F_lexique_internalError) ; @@ -10312,11 +10025,11 @@ void C_Lexique_goil_5F_lexique::internalParseLexicalToken (cTokenFor_goil_5F_lex } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // P A R S E L E X I C A L T O K E N -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -bool C_Lexique_goil_5F_lexique::parseLexicalToken (void) { +bool Lexique_goil_5F_lexique::parseLexicalToken (void) { cTokenFor_goil_5F_lexique token ; token.mTokenCode = -1 ; while ((token.mTokenCode < 0) && (UNICODE_VALUE (mCurrentChar) != '\0')) { @@ -10329,15 +10042,14 @@ bool C_Lexique_goil_5F_lexique::parseLexicalToken (void) { return token.mTokenCode > 0 ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // E N T E R T O K E N -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void C_Lexique_goil_5F_lexique::enterToken (cTokenFor_goil_5F_lexique & ioToken) { +void 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 ; @@ -10350,48 +10062,48 @@ void C_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 -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_String C_Lexique_goil_5F_lexique::attributeValue_a_5F_string (void) const { +String 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 ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_String C_Lexique_goil_5F_lexique::attributeValue_att_5F_token (void) const { +String 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 C_Lexique_goil_5F_lexique::attributeValue_floatNumber (void) const { +double 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 C_Lexique_goil_5F_lexique::attributeValue_integerNumber (void) const { +uint64_t Lexique_goil_5F_lexique::attributeValue_integerNumber (void) const { cTokenFor_goil_5F_lexique * ptr = (cTokenFor_goil_5F_lexique *) currentTokenPtr (HERE) ; return ptr->mLexicalAttribute_integerNumber ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_String C_Lexique_goil_5F_lexique::attributeValue_number (void) const { +String 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 C_Lexique_goil_5F_lexique::synthetizedAttribute_a_5F_string (void) const { +GALGAS_lstring 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 ()) ; @@ -10400,9 +10112,9 @@ GALGAS_lstring C_Lexique_goil_5F_lexique::synthetizedAttribute_a_5F_string (void return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_lstring C_Lexique_goil_5F_lexique::synthetizedAttribute_att_5F_token (void) const { +GALGAS_lstring 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 ()) ; @@ -10411,9 +10123,9 @@ GALGAS_lstring C_Lexique_goil_5F_lexique::synthetizedAttribute_att_5F_token (voi return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_ldouble C_Lexique_goil_5F_lexique::synthetizedAttribute_floatNumber (void) const { +GALGAS_ldouble 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 ()) ; @@ -10422,9 +10134,9 @@ GALGAS_ldouble C_Lexique_goil_5F_lexique::synthetizedAttribute_floatNumber (void return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_luint_36__34_ C_Lexique_goil_5F_lexique::synthetizedAttribute_integerNumber (void) const { +GALGAS_luint_36__34_ 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 ()) ; @@ -10433,9 +10145,9 @@ GALGAS_luint_36__34_ C_Lexique_goil_5F_lexique::synthetizedAttribute_integerNumb return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_lstring C_Lexique_goil_5F_lexique::synthetizedAttribute_number (void) const { +GALGAS_lstring 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 ()) ; @@ -10444,58 +10156,58 @@ GALGAS_lstring C_Lexique_goil_5F_lexique::synthetizedAttribute_number (void) con return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // I N T R O S P E C T I O N -//---------------------------------------------------------------------------------------------------------------------- - -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) { +//-------------------------------------------------------------------------------------------------- + +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) { ioList.appendObject ("goil_lexique:OILDelimiters") ; ioList.appendObject ("goil_lexique:boolean") ; ioList.appendObject ("goil_lexique:commands") ; @@ -10505,11 +10217,11 @@ static void getKeywordLists_goil_5F_lexique (TC_UniqueArray & ioList) ioList.appendObject ("goil_lexique:oilVersion") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static void getKeywordsForIdentifier_goil_5F_lexique (const C_String & inIdentifier, +static void getKeywordsForIdentifier_goil_5F_lexique (const String & inIdentifier, bool & ioFound, - TC_UniqueArray & ioList) { + TC_UniqueArray & ioList) { if (inIdentifier == "goil_lexique:OILDelimiters") { ioFound = true ; ioList.appendObject ("+") ; @@ -10572,17 +10284,17 @@ static void getKeywordsForIdentifier_goil_5F_lexique (const C_String & inIdentif } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- 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 C_Lexique_goil_5F_lexique::styleIndexForTerminal (const int32_t inTerminalIndex) const { +uint32_t 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 */, @@ -10628,12 +10340,12 @@ uint32_t C_Lexique_goil_5F_lexique::styleIndexForTerminal (const int32_t inTermi 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 -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_String C_Lexique_goil_5F_lexique::styleNameForIndex (const uint32_t inStyleIndex) const { - C_String result ; +String Lexique_goil_5F_lexique::styleNameForIndex (const uint32_t inStyleIndex) const { + String result ; if (inStyleIndex < 10) { static const char * kStyleArray [10] = { "", @@ -10652,193 +10364,193 @@ C_String C_Lexique_goil_5F_lexique::styleNameForIndex (const uint32_t inStyleInd return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_dataType::GALGAS_dataType (void) : mEnum (kNotBuilt) { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_dataType GALGAS_dataType::constructor_void (UNUSED_LOCATION_ARGS) { +GALGAS_dataType GALGAS_dataType::class_func_void (UNUSED_LOCATION_ARGS) { GALGAS_dataType result ; result.mEnum = kEnum_void ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_dataType GALGAS_dataType::constructor_uint_33__32_Number (UNUSED_LOCATION_ARGS) { +GALGAS_dataType GALGAS_dataType::class_func_uint_33__32_Number (UNUSED_LOCATION_ARGS) { GALGAS_dataType result ; result.mEnum = kEnum_uint_33__32_Number ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_dataType GALGAS_dataType::constructor_sint_33__32_Number (UNUSED_LOCATION_ARGS) { +GALGAS_dataType GALGAS_dataType::class_func_sint_33__32_Number (UNUSED_LOCATION_ARGS) { GALGAS_dataType result ; result.mEnum = kEnum_sint_33__32_Number ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_dataType GALGAS_dataType::constructor_uint_36__34_Number (UNUSED_LOCATION_ARGS) { +GALGAS_dataType GALGAS_dataType::class_func_uint_36__34_Number (UNUSED_LOCATION_ARGS) { GALGAS_dataType result ; result.mEnum = kEnum_uint_36__34_Number ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_dataType GALGAS_dataType::constructor_sint_36__34_Number (UNUSED_LOCATION_ARGS) { +GALGAS_dataType GALGAS_dataType::class_func_sint_36__34_Number (UNUSED_LOCATION_ARGS) { GALGAS_dataType result ; result.mEnum = kEnum_sint_36__34_Number ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_dataType GALGAS_dataType::constructor_floatNumber (UNUSED_LOCATION_ARGS) { +GALGAS_dataType GALGAS_dataType::class_func_floatNumber (UNUSED_LOCATION_ARGS) { GALGAS_dataType result ; result.mEnum = kEnum_floatNumber ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_dataType GALGAS_dataType::constructor_string (UNUSED_LOCATION_ARGS) { +GALGAS_dataType GALGAS_dataType::class_func_string (UNUSED_LOCATION_ARGS) { GALGAS_dataType result ; result.mEnum = kEnum_string ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_dataType GALGAS_dataType::constructor_enumeration (UNUSED_LOCATION_ARGS) { +GALGAS_dataType GALGAS_dataType::class_func_enumeration (UNUSED_LOCATION_ARGS) { GALGAS_dataType result ; result.mEnum = kEnum_enumeration ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_dataType GALGAS_dataType::constructor_boolean (UNUSED_LOCATION_ARGS) { +GALGAS_dataType GALGAS_dataType::class_func_boolean (UNUSED_LOCATION_ARGS) { GALGAS_dataType result ; result.mEnum = kEnum_boolean ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_dataType GALGAS_dataType::constructor_identifier (UNUSED_LOCATION_ARGS) { +GALGAS_dataType GALGAS_dataType::class_func_identifier (UNUSED_LOCATION_ARGS) { GALGAS_dataType result ; result.mEnum = kEnum_identifier ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_dataType GALGAS_dataType::constructor_objectType (UNUSED_LOCATION_ARGS) { +GALGAS_dataType GALGAS_dataType::class_func_objectType (UNUSED_LOCATION_ARGS) { GALGAS_dataType result ; result.mEnum = kEnum_objectType ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_dataType GALGAS_dataType::constructor_structType (UNUSED_LOCATION_ARGS) { +GALGAS_dataType GALGAS_dataType::class_func_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)", @@ -10856,87 +10568,88 @@ 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 (C_String & ioString, +void GALGAS_dataType::description (String & ioString, const int32_t /* inIndentation */) const { - ioString << "" ; + ioString.appendCString ("") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_dataType::objectCompare (const GALGAS_dataType & inOperand) const { typeComparisonResult result = kOperandNotValid ; @@ -10952,23 +10665,22 @@ 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 ; @@ -10978,10 +10690,10 @@ AC_GALGAS_root * GALGAS_dataType::clonedObject (void) const { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_dataType GALGAS_dataType::extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_dataType result ; const GALGAS_dataType * p = (const GALGAS_dataType *) inObject.embeddedObject () ; @@ -10995,14 +10707,14 @@ GALGAS_dataType GALGAS_dataType::extractObject (const GALGAS_object & inObject, return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Extension Getter '@dataType oilType' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_string extensionGetter_oilType (const GALGAS_dataType & inObject, - C_Compiler * + Compiler * COMMA_UNUSED_LOCATION_ARGS) { GALGAS_string result_result ; // Returned variable const GALGAS_dataType temp_0 = inObject ; @@ -11077,14 +10789,14 @@ GALGAS_string extensionGetter_oilType (const GALGAS_dataType & inObject, -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Extension Getter '@dataType arxmlType' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_string extensionGetter_arxmlType (const GALGAS_dataType & inObject, - C_Compiler * + Compiler * COMMA_UNUSED_LOCATION_ARGS) { GALGAS_string result_result ; // Returned variable const GALGAS_dataType temp_0 = inObject ; @@ -11159,16 +10871,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 ; -//--- Constructors +//--- Class functions public: cCollectionElement_uint_33__32_List (const GALGAS_location & in_location, const GALGAS_uint & in_value COMMA_LOCATION_ARGS) ; @@ -11184,10 +10896,10 @@ class cCollectionElement_uint_33__32_List : public cCollectionElement { public: virtual cCollectionElement * copy (void) ; //--- Description - public: virtual void description (C_String & ioString, const int32_t inIndentation) const ; + public: virtual void description (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 @@ -11196,20 +10908,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 ; @@ -11217,20 +10929,20 @@ cCollectionElement * cCollectionElement_uint_33__32_List::copy (void) { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void cCollectionElement_uint_33__32_List::description (C_String & ioString, const int32_t inIndentation) const { - ioString << "\n" ; - ioString.writeStringMultiple ("| ", inIndentation) ; - ioString << "location" ":" ; +void cCollectionElement_uint_33__32_List::description (String & ioString, const int32_t inIndentation) const { + ioString.appendNewLine () ; + ioString.appendStringMultiple ("| ", inIndentation) ; + ioString.appendCString ("location" ":") ; mObject.mProperty_location.description (ioString, inIndentation) ; - ioString << "\n" ; - ioString.writeStringMultiple ("| ", inIndentation) ; - ioString << "value" ":" ; + ioString.appendNewLine () ; + ioString.appendStringMultiple ("| ", inIndentation) ; + ioString.appendCString ("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 ; @@ -11238,29 +10950,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::constructor_emptyList (UNUSED_LOCATION_ARGS) { - return GALGAS_uint_33__32_List (capCollectionElementArray ()) ; +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_listWithValue (const GALGAS_location & inOperand0, - const GALGAS_uint & inOperand1 - COMMA_LOCATION_ARGS) { +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 result ; if (inOperand0.isValid () && inOperand1.isValid ()) { result = GALGAS_uint_33__32_List (capCollectionElementArray ()) ; @@ -11271,7 +10983,7 @@ GALGAS_uint_33__32_List GALGAS_uint_33__32_List::constructor_listWithValue (cons return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_uint_33__32_List::makeAttributesFromObjects (capCollectionElement & outAttributes, const GALGAS_location & in_location, @@ -11284,7 +10996,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 @@ -11299,11 +11011,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, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_LOCATION_ARGS) { if (isValid ()) { cCollectionElement * p = nullptr ; @@ -11315,12 +11027,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inInsertionIndex.isValid () && inOperand0.isValid () && inOperand1.isValid ()) { @@ -11336,12 +11048,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inRemoveIndex.isValid ()) { @@ -11368,11 +11080,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeFirstObject (attributes, inCompiler COMMA_THERE) ; @@ -11387,11 +11099,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeLastObject (attributes, inCompiler COMMA_THERE) ; @@ -11406,11 +11118,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readFirst (attributes, inCompiler COMMA_THERE) ; @@ -11425,11 +11137,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readLast (attributes, inCompiler COMMA_THERE) ; @@ -11444,10 +11156,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, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_uint_33__32_List result ; if (isValid () && inOperand.isValid ()) { @@ -11457,49 +11169,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_uint_33__32_List result = GALGAS_uint_33__32_List::constructor_emptyList (THERE) ; + GALGAS_uint_33__32_List result = GALGAS_uint_33__32_List::class_func_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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_uint_33__32_List result = GALGAS_uint_33__32_List::constructor_emptyList (THERE) ; + GALGAS_uint_33__32_List result = GALGAS_uint_33__32_List::class_func_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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_uint_33__32_List result = GALGAS_uint_33__32_List::constructor_emptyList (THERE) ; + GALGAS_uint_33__32_List result = GALGAS_uint_33__32_List::class_func_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, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) { appendList (inOperand) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_uint_33__32_List::setter_setLocationAtIndex (GALGAS_location inOperand, GALGAS_uint inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement_uint_33__32_List * p = (cCollectionElement_uint_33__32_List *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; if (nullptr != p) { @@ -11509,10 +11221,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, - C_Compiler * inCompiler + 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 () ; @@ -11524,11 +11236,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement_uint_33__32_List * p = (cCollectionElement_uint_33__32_List *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; if (nullptr != p) { @@ -11538,10 +11250,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, - C_Compiler * inCompiler + 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 () ; @@ -11555,7 +11267,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) : @@ -11563,7 +11275,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) ; @@ -11572,7 +11284,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) ; @@ -11580,7 +11292,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) ; @@ -11591,23 +11303,22 @@ 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 ; @@ -11617,10 +11328,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, - C_Compiler * inCompiler + 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 () ; @@ -11634,16 +11345,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 ; -//--- Constructors +//--- Class functions public: cCollectionElement_uint_36__34_List (const GALGAS_location & in_location, const GALGAS_uint_36__34_ & in_value COMMA_LOCATION_ARGS) ; @@ -11659,10 +11370,10 @@ class cCollectionElement_uint_36__34_List : public cCollectionElement { public: virtual cCollectionElement * copy (void) ; //--- Description - public: virtual void description (C_String & ioString, const int32_t inIndentation) const ; + public: virtual void description (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 @@ -11671,20 +11382,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 ; @@ -11692,20 +11403,20 @@ cCollectionElement * cCollectionElement_uint_36__34_List::copy (void) { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void cCollectionElement_uint_36__34_List::description (C_String & ioString, const int32_t inIndentation) const { - ioString << "\n" ; - ioString.writeStringMultiple ("| ", inIndentation) ; - ioString << "location" ":" ; +void cCollectionElement_uint_36__34_List::description (String & ioString, const int32_t inIndentation) const { + ioString.appendNewLine () ; + ioString.appendStringMultiple ("| ", inIndentation) ; + ioString.appendCString ("location" ":") ; mObject.mProperty_location.description (ioString, inIndentation) ; - ioString << "\n" ; - ioString.writeStringMultiple ("| ", inIndentation) ; - ioString << "value" ":" ; + ioString.appendNewLine () ; + ioString.appendStringMultiple ("| ", inIndentation) ; + ioString.appendCString ("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 ; @@ -11713,29 +11424,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::constructor_emptyList (UNUSED_LOCATION_ARGS) { - return GALGAS_uint_36__34_List (capCollectionElementArray ()) ; +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_listWithValue (const GALGAS_location & inOperand0, - const GALGAS_uint_36__34_ & inOperand1 - COMMA_LOCATION_ARGS) { +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 result ; if (inOperand0.isValid () && inOperand1.isValid ()) { result = GALGAS_uint_36__34_List (capCollectionElementArray ()) ; @@ -11746,7 +11457,7 @@ GALGAS_uint_36__34_List GALGAS_uint_36__34_List::constructor_listWithValue (cons return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_uint_36__34_List::makeAttributesFromObjects (capCollectionElement & outAttributes, const GALGAS_location & in_location, @@ -11759,7 +11470,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 @@ -11774,11 +11485,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, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_LOCATION_ARGS) { if (isValid ()) { cCollectionElement * p = nullptr ; @@ -11790,12 +11501,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inInsertionIndex.isValid () && inOperand0.isValid () && inOperand1.isValid ()) { @@ -11811,12 +11522,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inRemoveIndex.isValid ()) { @@ -11843,11 +11554,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeFirstObject (attributes, inCompiler COMMA_THERE) ; @@ -11862,11 +11573,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeLastObject (attributes, inCompiler COMMA_THERE) ; @@ -11881,11 +11592,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readFirst (attributes, inCompiler COMMA_THERE) ; @@ -11900,11 +11611,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readLast (attributes, inCompiler COMMA_THERE) ; @@ -11919,10 +11630,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, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_uint_36__34_List result ; if (isValid () && inOperand.isValid ()) { @@ -11932,49 +11643,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_uint_36__34_List result = GALGAS_uint_36__34_List::constructor_emptyList (THERE) ; + GALGAS_uint_36__34_List result = GALGAS_uint_36__34_List::class_func_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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_uint_36__34_List result = GALGAS_uint_36__34_List::constructor_emptyList (THERE) ; + GALGAS_uint_36__34_List result = GALGAS_uint_36__34_List::class_func_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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_uint_36__34_List result = GALGAS_uint_36__34_List::constructor_emptyList (THERE) ; + GALGAS_uint_36__34_List result = GALGAS_uint_36__34_List::class_func_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, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) { appendList (inOperand) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_uint_36__34_List::setter_setLocationAtIndex (GALGAS_location inOperand, GALGAS_uint inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement_uint_36__34_List * p = (cCollectionElement_uint_36__34_List *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; if (nullptr != p) { @@ -11984,10 +11695,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, - C_Compiler * inCompiler + 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 () ; @@ -11999,11 +11710,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement_uint_36__34_List * p = (cCollectionElement_uint_36__34_List *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; if (nullptr != p) { @@ -12013,10 +11724,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, - C_Compiler * inCompiler + 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 () ; @@ -12030,7 +11741,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) : @@ -12038,7 +11749,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) ; @@ -12047,7 +11758,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) ; @@ -12055,7 +11766,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) ; @@ -12066,23 +11777,22 @@ 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 ; @@ -12092,10 +11802,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, - C_Compiler * inCompiler + 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 () ; @@ -12109,16 +11819,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 ; -//--- Constructors +//--- Class functions public: cCollectionElement_sint_33__32_List (const GALGAS_location & in_location, const GALGAS_sint & in_value COMMA_LOCATION_ARGS) ; @@ -12134,10 +11844,10 @@ class cCollectionElement_sint_33__32_List : public cCollectionElement { public: virtual cCollectionElement * copy (void) ; //--- Description - public: virtual void description (C_String & ioString, const int32_t inIndentation) const ; + public: virtual void description (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 @@ -12146,20 +11856,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 ; @@ -12167,20 +11877,20 @@ cCollectionElement * cCollectionElement_sint_33__32_List::copy (void) { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void cCollectionElement_sint_33__32_List::description (C_String & ioString, const int32_t inIndentation) const { - ioString << "\n" ; - ioString.writeStringMultiple ("| ", inIndentation) ; - ioString << "location" ":" ; +void cCollectionElement_sint_33__32_List::description (String & ioString, const int32_t inIndentation) const { + ioString.appendNewLine () ; + ioString.appendStringMultiple ("| ", inIndentation) ; + ioString.appendCString ("location" ":") ; mObject.mProperty_location.description (ioString, inIndentation) ; - ioString << "\n" ; - ioString.writeStringMultiple ("| ", inIndentation) ; - ioString << "value" ":" ; + ioString.appendNewLine () ; + ioString.appendStringMultiple ("| ", inIndentation) ; + ioString.appendCString ("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 ; @@ -12188,29 +11898,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::constructor_emptyList (UNUSED_LOCATION_ARGS) { - return GALGAS_sint_33__32_List (capCollectionElementArray ()) ; +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_listWithValue (const GALGAS_location & inOperand0, - const GALGAS_sint & inOperand1 - COMMA_LOCATION_ARGS) { +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 result ; if (inOperand0.isValid () && inOperand1.isValid ()) { result = GALGAS_sint_33__32_List (capCollectionElementArray ()) ; @@ -12221,7 +11931,7 @@ GALGAS_sint_33__32_List GALGAS_sint_33__32_List::constructor_listWithValue (cons return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_sint_33__32_List::makeAttributesFromObjects (capCollectionElement & outAttributes, const GALGAS_location & in_location, @@ -12234,7 +11944,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 @@ -12249,11 +11959,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, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_LOCATION_ARGS) { if (isValid ()) { cCollectionElement * p = nullptr ; @@ -12265,12 +11975,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inInsertionIndex.isValid () && inOperand0.isValid () && inOperand1.isValid ()) { @@ -12286,12 +11996,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inRemoveIndex.isValid ()) { @@ -12318,11 +12028,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeFirstObject (attributes, inCompiler COMMA_THERE) ; @@ -12337,11 +12047,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeLastObject (attributes, inCompiler COMMA_THERE) ; @@ -12356,11 +12066,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readFirst (attributes, inCompiler COMMA_THERE) ; @@ -12375,11 +12085,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readLast (attributes, inCompiler COMMA_THERE) ; @@ -12394,10 +12104,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, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_sint_33__32_List result ; if (isValid () && inOperand.isValid ()) { @@ -12407,49 +12117,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_sint_33__32_List result = GALGAS_sint_33__32_List::constructor_emptyList (THERE) ; + GALGAS_sint_33__32_List result = GALGAS_sint_33__32_List::class_func_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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_sint_33__32_List result = GALGAS_sint_33__32_List::constructor_emptyList (THERE) ; + GALGAS_sint_33__32_List result = GALGAS_sint_33__32_List::class_func_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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_sint_33__32_List result = GALGAS_sint_33__32_List::constructor_emptyList (THERE) ; + GALGAS_sint_33__32_List result = GALGAS_sint_33__32_List::class_func_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, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) { appendList (inOperand) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_sint_33__32_List::setter_setLocationAtIndex (GALGAS_location inOperand, GALGAS_uint inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement_sint_33__32_List * p = (cCollectionElement_sint_33__32_List *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; if (nullptr != p) { @@ -12459,10 +12169,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, - C_Compiler * inCompiler + 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 () ; @@ -12474,11 +12184,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement_sint_33__32_List * p = (cCollectionElement_sint_33__32_List *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; if (nullptr != p) { @@ -12488,10 +12198,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, - C_Compiler * inCompiler + 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 () ; @@ -12505,7 +12215,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) : @@ -12513,7 +12223,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) ; @@ -12522,7 +12232,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) ; @@ -12530,7 +12240,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) ; @@ -12541,23 +12251,22 @@ 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 ; @@ -12567,10 +12276,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, - C_Compiler * inCompiler + 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 () ; @@ -12584,16 +12293,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 ; -//--- Constructors +//--- Class functions public: cCollectionElement_sint_36__34_List (const GALGAS_location & in_location, const GALGAS_sint_36__34_ & in_value COMMA_LOCATION_ARGS) ; @@ -12609,10 +12318,10 @@ class cCollectionElement_sint_36__34_List : public cCollectionElement { public: virtual cCollectionElement * copy (void) ; //--- Description - public: virtual void description (C_String & ioString, const int32_t inIndentation) const ; + public: virtual void description (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 @@ -12621,20 +12330,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 ; @@ -12642,20 +12351,20 @@ cCollectionElement * cCollectionElement_sint_36__34_List::copy (void) { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void cCollectionElement_sint_36__34_List::description (C_String & ioString, const int32_t inIndentation) const { - ioString << "\n" ; - ioString.writeStringMultiple ("| ", inIndentation) ; - ioString << "location" ":" ; +void cCollectionElement_sint_36__34_List::description (String & ioString, const int32_t inIndentation) const { + ioString.appendNewLine () ; + ioString.appendStringMultiple ("| ", inIndentation) ; + ioString.appendCString ("location" ":") ; mObject.mProperty_location.description (ioString, inIndentation) ; - ioString << "\n" ; - ioString.writeStringMultiple ("| ", inIndentation) ; - ioString << "value" ":" ; + ioString.appendNewLine () ; + ioString.appendStringMultiple ("| ", inIndentation) ; + ioString.appendCString ("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 ; @@ -12663,29 +12372,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::constructor_emptyList (UNUSED_LOCATION_ARGS) { - return GALGAS_sint_36__34_List (capCollectionElementArray ()) ; +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_listWithValue (const GALGAS_location & inOperand0, - const GALGAS_sint_36__34_ & inOperand1 - COMMA_LOCATION_ARGS) { +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 result ; if (inOperand0.isValid () && inOperand1.isValid ()) { result = GALGAS_sint_36__34_List (capCollectionElementArray ()) ; @@ -12696,7 +12405,7 @@ GALGAS_sint_36__34_List GALGAS_sint_36__34_List::constructor_listWithValue (cons return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_sint_36__34_List::makeAttributesFromObjects (capCollectionElement & outAttributes, const GALGAS_location & in_location, @@ -12709,7 +12418,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 @@ -12724,11 +12433,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, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_LOCATION_ARGS) { if (isValid ()) { cCollectionElement * p = nullptr ; @@ -12740,12 +12449,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inInsertionIndex.isValid () && inOperand0.isValid () && inOperand1.isValid ()) { @@ -12761,12 +12470,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inRemoveIndex.isValid ()) { @@ -12793,11 +12502,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeFirstObject (attributes, inCompiler COMMA_THERE) ; @@ -12812,11 +12521,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeLastObject (attributes, inCompiler COMMA_THERE) ; @@ -12831,11 +12540,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readFirst (attributes, inCompiler COMMA_THERE) ; @@ -12850,11 +12559,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readLast (attributes, inCompiler COMMA_THERE) ; @@ -12869,10 +12578,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, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_sint_36__34_List result ; if (isValid () && inOperand.isValid ()) { @@ -12882,49 +12591,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_sint_36__34_List result = GALGAS_sint_36__34_List::constructor_emptyList (THERE) ; + GALGAS_sint_36__34_List result = GALGAS_sint_36__34_List::class_func_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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_sint_36__34_List result = GALGAS_sint_36__34_List::constructor_emptyList (THERE) ; + GALGAS_sint_36__34_List result = GALGAS_sint_36__34_List::class_func_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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_sint_36__34_List result = GALGAS_sint_36__34_List::constructor_emptyList (THERE) ; + GALGAS_sint_36__34_List result = GALGAS_sint_36__34_List::class_func_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, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) { appendList (inOperand) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_sint_36__34_List::setter_setLocationAtIndex (GALGAS_location inOperand, GALGAS_uint inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement_sint_36__34_List * p = (cCollectionElement_sint_36__34_List *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; if (nullptr != p) { @@ -12934,10 +12643,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, - C_Compiler * inCompiler + 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 () ; @@ -12949,11 +12658,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement_sint_36__34_List * p = (cCollectionElement_sint_36__34_List *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; if (nullptr != p) { @@ -12963,10 +12672,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, - C_Compiler * inCompiler + 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 () ; @@ -12980,7 +12689,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) : @@ -12988,7 +12697,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) ; @@ -12997,7 +12706,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) ; @@ -13005,7 +12714,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) ; @@ -13016,23 +12725,22 @@ 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 ; @@ -13042,10 +12750,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, - C_Compiler * inCompiler + 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 () ; @@ -13059,16 +12767,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 ; -//--- Constructors +//--- Class functions public: cCollectionElement_floatList (const GALGAS_location & in_location, const GALGAS_double & in_value COMMA_LOCATION_ARGS) ; @@ -13084,10 +12792,10 @@ class cCollectionElement_floatList : public cCollectionElement { public: virtual cCollectionElement * copy (void) ; //--- Description - public: virtual void description (C_String & ioString, const int32_t inIndentation) const ; + public: virtual void description (String & ioString, const int32_t inIndentation) const ; } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cCollectionElement_floatList::cCollectionElement_floatList (const GALGAS_location & in_location, const GALGAS_double & in_value @@ -13096,20 +12804,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 ; @@ -13117,20 +12825,20 @@ cCollectionElement * cCollectionElement_floatList::copy (void) { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void cCollectionElement_floatList::description (C_String & ioString, const int32_t inIndentation) const { - ioString << "\n" ; - ioString.writeStringMultiple ("| ", inIndentation) ; - ioString << "location" ":" ; +void cCollectionElement_floatList::description (String & ioString, const int32_t inIndentation) const { + ioString.appendNewLine () ; + ioString.appendStringMultiple ("| ", inIndentation) ; + ioString.appendCString ("location" ":") ; mObject.mProperty_location.description (ioString, inIndentation) ; - ioString << "\n" ; - ioString.writeStringMultiple ("| ", inIndentation) ; - ioString << "value" ":" ; + ioString.appendNewLine () ; + ioString.appendStringMultiple ("| ", inIndentation) ; + ioString.appendCString ("value" ":") ; mObject.mProperty_value.description (ioString, inIndentation) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult cCollectionElement_floatList::compare (const cCollectionElement * inOperand) const { cCollectionElement_floatList * operand = (cCollectionElement_floatList *) inOperand ; @@ -13138,29 +12846,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::constructor_emptyList (UNUSED_LOCATION_ARGS) { - return GALGAS_floatList (capCollectionElementArray ()) ; +GALGAS_floatList GALGAS_floatList::class_func_emptyList (UNUSED_LOCATION_ARGS) { + return GALGAS_floatList (capCollectionElementArray ()) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_floatList GALGAS_floatList::constructor_listWithValue (const GALGAS_location & inOperand0, - const GALGAS_double & inOperand1 - COMMA_LOCATION_ARGS) { +GALGAS_floatList GALGAS_floatList::class_func_listWithValue (const GALGAS_location & inOperand0, + const GALGAS_double & inOperand1 + COMMA_LOCATION_ARGS) { GALGAS_floatList result ; if (inOperand0.isValid () && inOperand1.isValid ()) { result = GALGAS_floatList (capCollectionElementArray ()) ; @@ -13171,7 +12879,7 @@ GALGAS_floatList GALGAS_floatList::constructor_listWithValue (const GALGAS_locat return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_floatList::makeAttributesFromObjects (capCollectionElement & outAttributes, const GALGAS_location & in_location, @@ -13184,7 +12892,7 @@ void GALGAS_floatList::makeAttributesFromObjects (capCollectionElement & outAttr macroDetachSharedObject (p) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_floatList::addAssign_operation (const GALGAS_location & inOperand0, const GALGAS_double & inOperand1 @@ -13199,11 +12907,11 @@ void GALGAS_floatList::addAssign_operation (const GALGAS_location & inOperand0, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_floatList::setter_append (const GALGAS_location inOperand0, const GALGAS_double inOperand1, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_LOCATION_ARGS) { if (isValid ()) { cCollectionElement * p = nullptr ; @@ -13215,12 +12923,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inInsertionIndex.isValid () && inOperand0.isValid () && inOperand1.isValid ()) { @@ -13236,12 +12944,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inRemoveIndex.isValid ()) { @@ -13268,11 +12976,11 @@ void GALGAS_floatList::setter_removeAtIndex (GALGAS_location & outOperand0, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_floatList::setter_popFirst (GALGAS_location & outOperand0, GALGAS_double & outOperand1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeFirstObject (attributes, inCompiler COMMA_THERE) ; @@ -13287,11 +12995,11 @@ void GALGAS_floatList::setter_popFirst (GALGAS_location & outOperand0, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_floatList::setter_popLast (GALGAS_location & outOperand0, GALGAS_double & outOperand1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeLastObject (attributes, inCompiler COMMA_THERE) ; @@ -13306,11 +13014,11 @@ void GALGAS_floatList::setter_popLast (GALGAS_location & outOperand0, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_floatList::method_first (GALGAS_location & outOperand0, GALGAS_double & outOperand1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readFirst (attributes, inCompiler COMMA_THERE) ; @@ -13325,11 +13033,11 @@ void GALGAS_floatList::method_first (GALGAS_location & outOperand0, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_floatList::method_last (GALGAS_location & outOperand0, GALGAS_double & outOperand1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readLast (attributes, inCompiler COMMA_THERE) ; @@ -13344,10 +13052,10 @@ void GALGAS_floatList::method_last (GALGAS_location & outOperand0, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_floatList GALGAS_floatList::add_operation (const GALGAS_floatList & inOperand, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_floatList result ; if (isValid () && inOperand.isValid ()) { @@ -13357,49 +13065,49 @@ GALGAS_floatList GALGAS_floatList::add_operation (const GALGAS_floatList & inOpe return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_floatList GALGAS_floatList::getter_subListWithRange (const GALGAS_range & inRange, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_floatList result = GALGAS_floatList::constructor_emptyList (THERE) ; + GALGAS_floatList result = GALGAS_floatList::class_func_emptyList (THERE) ; subListWithRange (result, inRange, inCompiler COMMA_THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_floatList GALGAS_floatList::getter_subListFromIndex (const GALGAS_uint & inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_floatList result = GALGAS_floatList::constructor_emptyList (THERE) ; + GALGAS_floatList result = GALGAS_floatList::class_func_emptyList (THERE) ; subListFromIndex (result, inIndex, inCompiler COMMA_THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_floatList GALGAS_floatList::getter_subListToIndex (const GALGAS_uint & inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_floatList result = GALGAS_floatList::constructor_emptyList (THERE) ; + GALGAS_floatList result = GALGAS_floatList::class_func_emptyList (THERE) ; subListToIndex (result, inIndex, inCompiler COMMA_THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_floatList::plusAssign_operation (const GALGAS_floatList inOperand, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) { appendList (inOperand) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_floatList::setter_setLocationAtIndex (GALGAS_location inOperand, GALGAS_uint inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement_floatList * p = (cCollectionElement_floatList *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; if (nullptr != p) { @@ -13409,10 +13117,10 @@ void GALGAS_floatList::setter_setLocationAtIndex (GALGAS_location inOperand, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_location GALGAS_floatList::getter_locationAtIndex (const GALGAS_uint & inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes = readObjectAtIndex (inIndex, inCompiler COMMA_THERE) ; cCollectionElement_floatList * p = (cCollectionElement_floatList *) attributes.ptr () ; @@ -13424,11 +13132,11 @@ GALGAS_location GALGAS_floatList::getter_locationAtIndex (const GALGAS_uint & in return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_floatList::setter_setValueAtIndex (GALGAS_double inOperand, GALGAS_uint inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement_floatList * p = (cCollectionElement_floatList *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; if (nullptr != p) { @@ -13438,10 +13146,10 @@ void GALGAS_floatList::setter_setValueAtIndex (GALGAS_double inOperand, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_double GALGAS_floatList::getter_valueAtIndex (const GALGAS_uint & inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes = readObjectAtIndex (inIndex, inCompiler COMMA_THERE) ; cCollectionElement_floatList * p = (cCollectionElement_floatList *) attributes.ptr () ; @@ -13455,7 +13163,7 @@ GALGAS_double GALGAS_floatList::getter_valueAtIndex (const GALGAS_uint & inIndex -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cEnumerator_floatList::cEnumerator_floatList (const GALGAS_floatList & inEnumeratedObject, const typeEnumerationOrder inOrder) : @@ -13463,7 +13171,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) ; @@ -13472,7 +13180,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) ; @@ -13480,7 +13188,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) ; @@ -13491,23 +13199,22 @@ 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 ; @@ -13517,10 +13224,10 @@ AC_GALGAS_root * GALGAS_floatList::clonedObject (void) const { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_floatList GALGAS_floatList::extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_floatList result ; const GALGAS_floatList * p = (const GALGAS_floatList *) inObject.embeddedObject () ; @@ -13534,16 +13241,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 ; -//--- Constructors +//--- Class functions public: cCollectionElement_numberList (const GALGAS_location & in_location, const GALGAS_object_5F_t & in_value COMMA_LOCATION_ARGS) ; @@ -13559,10 +13266,10 @@ class cCollectionElement_numberList : public cCollectionElement { public: virtual cCollectionElement * copy (void) ; //--- Description - public: virtual void description (C_String & ioString, const int32_t inIndentation) const ; + public: virtual void description (String & ioString, const int32_t inIndentation) const ; } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cCollectionElement_numberList::cCollectionElement_numberList (const GALGAS_location & in_location, const GALGAS_object_5F_t & in_value @@ -13571,20 +13278,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 ; @@ -13592,20 +13299,20 @@ cCollectionElement * cCollectionElement_numberList::copy (void) { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void cCollectionElement_numberList::description (C_String & ioString, const int32_t inIndentation) const { - ioString << "\n" ; - ioString.writeStringMultiple ("| ", inIndentation) ; - ioString << "location" ":" ; +void cCollectionElement_numberList::description (String & ioString, const int32_t inIndentation) const { + ioString.appendNewLine () ; + ioString.appendStringMultiple ("| ", inIndentation) ; + ioString.appendCString ("location" ":") ; mObject.mProperty_location.description (ioString, inIndentation) ; - ioString << "\n" ; - ioString.writeStringMultiple ("| ", inIndentation) ; - ioString << "value" ":" ; + ioString.appendNewLine () ; + ioString.appendStringMultiple ("| ", inIndentation) ; + ioString.appendCString ("value" ":") ; mObject.mProperty_value.description (ioString, inIndentation) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult cCollectionElement_numberList::compare (const cCollectionElement * inOperand) const { cCollectionElement_numberList * operand = (cCollectionElement_numberList *) inOperand ; @@ -13613,29 +13320,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::constructor_emptyList (UNUSED_LOCATION_ARGS) { - return GALGAS_numberList (capCollectionElementArray ()) ; +GALGAS_numberList GALGAS_numberList::class_func_emptyList (UNUSED_LOCATION_ARGS) { + return GALGAS_numberList (capCollectionElementArray ()) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_numberList GALGAS_numberList::constructor_listWithValue (const GALGAS_location & inOperand0, - const GALGAS_object_5F_t & inOperand1 - COMMA_LOCATION_ARGS) { +GALGAS_numberList GALGAS_numberList::class_func_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 ()) ; @@ -13646,7 +13353,7 @@ GALGAS_numberList GALGAS_numberList::constructor_listWithValue (const GALGAS_loc return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_numberList::makeAttributesFromObjects (capCollectionElement & outAttributes, const GALGAS_location & in_location, @@ -13659,7 +13366,7 @@ void GALGAS_numberList::makeAttributesFromObjects (capCollectionElement & outAtt macroDetachSharedObject (p) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_numberList::addAssign_operation (const GALGAS_location & inOperand0, const GALGAS_object_5F_t & inOperand1 @@ -13674,11 +13381,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, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_LOCATION_ARGS) { if (isValid ()) { cCollectionElement * p = nullptr ; @@ -13690,12 +13397,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inInsertionIndex.isValid () && inOperand0.isValid () && inOperand1.isValid ()) { @@ -13711,12 +13418,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { if (isValid ()) { if (inRemoveIndex.isValid ()) { @@ -13743,11 +13450,11 @@ void GALGAS_numberList::setter_removeAtIndex (GALGAS_location & outOperand0, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_numberList::setter_popFirst (GALGAS_location & outOperand0, GALGAS_object_5F_t & outOperand1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeFirstObject (attributes, inCompiler COMMA_THERE) ; @@ -13762,11 +13469,11 @@ void GALGAS_numberList::setter_popFirst (GALGAS_location & outOperand0, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_numberList::setter_popLast (GALGAS_location & outOperand0, GALGAS_object_5F_t & outOperand1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { capCollectionElement attributes ; removeLastObject (attributes, inCompiler COMMA_THERE) ; @@ -13781,11 +13488,11 @@ void GALGAS_numberList::setter_popLast (GALGAS_location & outOperand0, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_numberList::method_first (GALGAS_location & outOperand0, GALGAS_object_5F_t & outOperand1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readFirst (attributes, inCompiler COMMA_THERE) ; @@ -13800,11 +13507,11 @@ void GALGAS_numberList::method_first (GALGAS_location & outOperand0, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_numberList::method_last (GALGAS_location & outOperand0, GALGAS_object_5F_t & outOperand1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes ; readLast (attributes, inCompiler COMMA_THERE) ; @@ -13819,10 +13526,10 @@ void GALGAS_numberList::method_last (GALGAS_location & outOperand0, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_numberList GALGAS_numberList::add_operation (const GALGAS_numberList & inOperand, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) const { GALGAS_numberList result ; if (isValid () && inOperand.isValid ()) { @@ -13832,49 +13539,49 @@ GALGAS_numberList GALGAS_numberList::add_operation (const GALGAS_numberList & in return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_numberList GALGAS_numberList::getter_subListWithRange (const GALGAS_range & inRange, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_numberList result = GALGAS_numberList::constructor_emptyList (THERE) ; + GALGAS_numberList result = GALGAS_numberList::class_func_emptyList (THERE) ; subListWithRange (result, inRange, inCompiler COMMA_THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_numberList GALGAS_numberList::getter_subListFromIndex (const GALGAS_uint & inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_numberList result = GALGAS_numberList::constructor_emptyList (THERE) ; + GALGAS_numberList result = GALGAS_numberList::class_func_emptyList (THERE) ; subListFromIndex (result, inIndex, inCompiler COMMA_THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_numberList GALGAS_numberList::getter_subListToIndex (const GALGAS_uint & inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { - GALGAS_numberList result = GALGAS_numberList::constructor_emptyList (THERE) ; + GALGAS_numberList result = GALGAS_numberList::class_func_emptyList (THERE) ; subListToIndex (result, inIndex, inCompiler COMMA_THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_numberList::plusAssign_operation (const GALGAS_numberList inOperand, - C_Compiler * /* inCompiler */ + Compiler * /* inCompiler */ COMMA_UNUSED_LOCATION_ARGS) { appendList (inOperand) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void GALGAS_numberList::setter_setLocationAtIndex (GALGAS_location inOperand, GALGAS_uint inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement_numberList * p = (cCollectionElement_numberList *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; if (nullptr != p) { @@ -13884,10 +13591,10 @@ void GALGAS_numberList::setter_setLocationAtIndex (GALGAS_location inOperand, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_location GALGAS_numberList::getter_locationAtIndex (const GALGAS_uint & inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes = readObjectAtIndex (inIndex, inCompiler COMMA_THERE) ; cCollectionElement_numberList * p = (cCollectionElement_numberList *) attributes.ptr () ; @@ -13899,11 +13606,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { cCollectionElement_numberList * p = (cCollectionElement_numberList *) uniquelyReferencedPointerAtIndex (inIndex, inCompiler COMMA_THERE) ; if (nullptr != p) { @@ -13913,10 +13620,10 @@ void GALGAS_numberList::setter_setValueAtIndex (GALGAS_object_5F_t inOperand, } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_object_5F_t GALGAS_numberList::getter_valueAtIndex (const GALGAS_uint & inIndex, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const { capCollectionElement attributes = readObjectAtIndex (inIndex, inCompiler COMMA_THERE) ; cCollectionElement_numberList * p = (cCollectionElement_numberList *) attributes.ptr () ; @@ -13930,7 +13637,7 @@ GALGAS_object_5F_t GALGAS_numberList::getter_valueAtIndex (const GALGAS_uint & i -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- cEnumerator_numberList::cEnumerator_numberList (const GALGAS_numberList & inEnumeratedObject, const typeEnumerationOrder inOrder) : @@ -13938,7 +13645,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) ; @@ -13947,7 +13654,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) ; @@ -13955,7 +13662,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) ; @@ -13966,23 +13673,22 @@ 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 ; @@ -13992,10 +13698,10 @@ AC_GALGAS_root * GALGAS_numberList::clonedObject (void) const { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_numberList GALGAS_numberList::extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_numberList result ; const GALGAS_numberList * p = (const GALGAS_numberList *) inObject.embeddedObject () ; @@ -14009,9 +13715,9 @@ GALGAS_numberList GALGAS_numberList::extractObject (const GALGAS_object & inObje return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Object comparison -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- @@ -14031,19 +13737,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) { @@ -14055,13 +13761,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) { @@ -14073,16 +13779,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) : @@ -14091,23 +13797,22 @@ 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 ; @@ -14117,10 +13822,10 @@ AC_GALGAS_root * GALGAS_attributeRange::clonedObject (void) const { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_attributeRange GALGAS_attributeRange::extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_attributeRange result ; const GALGAS_attributeRange * p = (const GALGAS_attributeRange *) inObject.embeddedObject () ; @@ -14134,16 +13839,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { //--- Drop output arguments out_isWithin.drop () ; @@ -14153,9 +13858,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 ; @@ -14167,7 +13872,7 @@ typeComparisonResult cPtr_noRange::dynamicObjectCompare (const acPtr_class * inO return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_noRange::objectCompare (const GALGAS_noRange & inOperand) const { @@ -14186,29 +13891,22 @@ 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::constructor_new (const GALGAS_location & inAttribute_location - COMMA_LOCATION_ARGS) { +GALGAS_noRange GALGAS_noRange::class_func_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)) ; @@ -14216,29 +13914,29 @@ GALGAS_noRange GALGAS_noRange::constructor_new (const GALGAS_location & inAttrib 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 (C_String & ioString, +void cPtr_noRange::description (String & ioString, const int32_t inIndentation) const { - ioString << "[@noRange:" ; + ioString.appendCString ("[@noRange:") ; mProperty_location.description (ioString, inIndentation+1) ; - ioString << "]" ; + ioString.appendCString ("]") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- acPtr_class * cPtr_noRange::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -14247,23 +13945,22 @@ 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 ; @@ -14273,10 +13970,10 @@ AC_GALGAS_root * GALGAS_noRange::clonedObject (void) const { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_noRange GALGAS_noRange::extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_noRange result ; const GALGAS_noRange * p = (const GALGAS_noRange *) inObject.embeddedObject () ; @@ -14290,9 +13987,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 ; @@ -14307,7 +14004,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 { @@ -14326,31 +14023,23 @@ 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::constructor_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::class_func_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)) ; @@ -14358,7 +14047,7 @@ GALGAS_uint_33__32_AttributeSet GALGAS_uint_33__32_AttributeSet::constructor_new return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_uint_33__32_List GALGAS_uint_33__32_AttributeSet::readProperty_valueList (void) const { if (nullptr == mObjectPtr) { @@ -14370,13 +14059,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) { @@ -14388,16 +14077,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 @@ -14406,22 +14095,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 (C_String & ioString, +void cPtr_uint_33__32_AttributeSet::description (String & ioString, const int32_t inIndentation) const { - ioString << "[@uint32AttributeSet:" ; + ioString.appendCString ("[@uint32AttributeSet:") ; mProperty_location.description (ioString, inIndentation+1) ; - ioString << ", " ; + ioString.appendCString (", ") ; mProperty_valueList.description (ioString, inIndentation+1) ; - ioString << "]" ; + ioString.appendCString ("]") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- acPtr_class * cPtr_uint_33__32_AttributeSet::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -14430,23 +14119,22 @@ 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 ; @@ -14456,10 +14144,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, - C_Compiler * inCompiler + 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 () ; @@ -14473,9 +14161,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 ; @@ -14490,7 +14178,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 { @@ -14509,31 +14197,23 @@ 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::constructor_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::class_func_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)) ; @@ -14541,7 +14221,7 @@ GALGAS_uint_36__34_AttributeSet GALGAS_uint_36__34_AttributeSet::constructor_new return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_uint_36__34_List GALGAS_uint_36__34_AttributeSet::readProperty_valueList (void) const { if (nullptr == mObjectPtr) { @@ -14553,13 +14233,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) { @@ -14571,16 +14251,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 @@ -14589,22 +14269,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 (C_String & ioString, +void cPtr_uint_36__34_AttributeSet::description (String & ioString, const int32_t inIndentation) const { - ioString << "[@uint64AttributeSet:" ; + ioString.appendCString ("[@uint64AttributeSet:") ; mProperty_location.description (ioString, inIndentation+1) ; - ioString << ", " ; + ioString.appendCString (", ") ; mProperty_valueList.description (ioString, inIndentation+1) ; - ioString << "]" ; + ioString.appendCString ("]") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- acPtr_class * cPtr_uint_36__34_AttributeSet::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -14613,23 +14293,22 @@ 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 ; @@ -14639,10 +14318,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, - C_Compiler * inCompiler + 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 () ; @@ -14656,9 +14335,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 ; @@ -14673,7 +14352,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 { @@ -14692,31 +14371,23 @@ 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::constructor_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::class_func_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)) ; @@ -14724,7 +14395,7 @@ GALGAS_sint_33__32_AttributeSet GALGAS_sint_33__32_AttributeSet::constructor_new return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_sint_33__32_List GALGAS_sint_33__32_AttributeSet::readProperty_valueList (void) const { if (nullptr == mObjectPtr) { @@ -14736,13 +14407,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) { @@ -14754,16 +14425,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 @@ -14772,22 +14443,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 (C_String & ioString, +void cPtr_sint_33__32_AttributeSet::description (String & ioString, const int32_t inIndentation) const { - ioString << "[@sint32AttributeSet:" ; + ioString.appendCString ("[@sint32AttributeSet:") ; mProperty_location.description (ioString, inIndentation+1) ; - ioString << ", " ; + ioString.appendCString (", ") ; mProperty_valueList.description (ioString, inIndentation+1) ; - ioString << "]" ; + ioString.appendCString ("]") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- acPtr_class * cPtr_sint_33__32_AttributeSet::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -14796,23 +14467,22 @@ 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 ; @@ -14822,10 +14492,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, - C_Compiler * inCompiler + 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 () ; @@ -14839,9 +14509,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 ; @@ -14856,7 +14526,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 { @@ -14875,31 +14545,23 @@ 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::constructor_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::class_func_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)) ; @@ -14907,7 +14569,7 @@ GALGAS_sint_36__34_AttributeSet GALGAS_sint_36__34_AttributeSet::constructor_new return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_sint_36__34_List GALGAS_sint_36__34_AttributeSet::readProperty_valueList (void) const { if (nullptr == mObjectPtr) { @@ -14919,13 +14581,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) { @@ -14937,16 +14599,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 @@ -14955,22 +14617,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 (C_String & ioString, +void cPtr_sint_36__34_AttributeSet::description (String & ioString, const int32_t inIndentation) const { - ioString << "[@sint64AttributeSet:" ; + ioString.appendCString ("[@sint64AttributeSet:") ; mProperty_location.description (ioString, inIndentation+1) ; - ioString << ", " ; + ioString.appendCString (", ") ; mProperty_valueList.description (ioString, inIndentation+1) ; - ioString << "]" ; + ioString.appendCString ("]") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- acPtr_class * cPtr_sint_36__34_AttributeSet::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -14979,23 +14641,22 @@ 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 ; @@ -15005,10 +14666,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, - C_Compiler * inCompiler + 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 () ; @@ -15022,9 +14683,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 ; @@ -15039,7 +14700,7 @@ typeComparisonResult cPtr_floatAttributeSet::dynamicObjectCompare (const acPtr_c return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typeComparisonResult GALGAS_floatAttributeSet::objectCompare (const GALGAS_floatAttributeSet & inOperand) const { @@ -15058,31 +14719,23 @@ 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::constructor_new (const GALGAS_location & inAttribute_location, - const GALGAS_floatList & inAttribute_valueList - COMMA_LOCATION_ARGS) { +GALGAS_floatAttributeSet GALGAS_floatAttributeSet::class_func_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)) ; @@ -15090,7 +14743,7 @@ GALGAS_floatAttributeSet GALGAS_floatAttributeSet::constructor_new (const GALGAS return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_floatList GALGAS_floatAttributeSet::readProperty_valueList (void) const { if (nullptr == mObjectPtr) { @@ -15102,13 +14755,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) { @@ -15120,16 +14773,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 @@ -15138,22 +14791,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 (C_String & ioString, +void cPtr_floatAttributeSet::description (String & ioString, const int32_t inIndentation) const { - ioString << "[@floatAttributeSet:" ; + ioString.appendCString ("[@floatAttributeSet:") ; mProperty_location.description (ioString, inIndentation+1) ; - ioString << ", " ; + ioString.appendCString (", ") ; mProperty_valueList.description (ioString, inIndentation+1) ; - ioString << "]" ; + ioString.appendCString ("]") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- acPtr_class * cPtr_floatAttributeSet::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -15162,23 +14815,22 @@ 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 ; @@ -15188,10 +14840,10 @@ AC_GALGAS_root * GALGAS_floatAttributeSet::clonedObject (void) const { return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_floatAttributeSet GALGAS_floatAttributeSet::extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) { GALGAS_floatAttributeSet result ; const GALGAS_floatAttributeSet * p = (const GALGAS_floatAttributeSet *) inObject.embeddedObject () ; @@ -15205,9 +14857,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 ; @@ -15225,7 +14877,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 { @@ -15244,33 +14896,24 @@ 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::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 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 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)) ; @@ -15278,7 +14921,7 @@ GALGAS_uint_33__32_AttributeMinMax GALGAS_uint_33__32_AttributeMinMax::construct return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- GALGAS_uint GALGAS_uint_33__32_AttributeMinMax::readProperty_min (void) const { if (nullptr == mObjectPtr) { @@ -15290,13 +14933,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) { @@ -15308,13 +14951,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) { @@ -15326,14 +14969,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) { @@ -15345,16 +14988,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, @@ -15365,24 +15008,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 (C_String & ioString, +void cPtr_uint_33__32_AttributeMinMax::description (String & ioString, const int32_t inIndentation) const { - ioString << "[@uint32AttributeMinMax:" ; + ioString.appendCString ("[@uint32AttributeMinMax:") ; mProperty_location.description (ioString, inIndentation+1) ; - ioString << ", " ; + ioString.appendCString (", ") ; mProperty_min.description (ioString, inIndentation+1) ; - ioString << ", " ; + ioString.appendCString (", ") ; mProperty_max.description (ioString, inIndentation+1) ; - ioString << "]" ; + ioString.appendCString ("]") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- acPtr_class * cPtr_uint_33__32_AttributeMinMax::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; @@ -15391,23 +15034,22 @@ 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 ; @@ -15417,10 +15059,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, - C_Compiler * inCompiler + 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 () ; @@ -15434,3 +15076,660 @@ 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 8ea307bfe..6dcdaa61f 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 C_Compiler * inCompiler + class 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 C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Extension getter '@gtlExpressionList stringRepresentation' (as function) // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_string extensionGetter_stringRepresentation (const class GALGAS_gtlExpressionList & inObject, - class C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Abstract extension getter '@gtlExpression stringRepresentation' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_string callExtensionGetter_stringRepresentation (const class cPtr_gtlExpression * inObject, - class C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Extension getter '@gtlExpressionMap mapRepresentation' (as function) // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_string extensionGetter_mapRepresentation (const class GALGAS_gtlExpressionMap & inObject, - class C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Extension getter '@gtlExpressionMap structRepresentation' (as function) // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_string extensionGetter_structRepresentation (const class GALGAS_gtlExpressionMap & inObject, - class C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Extension getter '@gtlArgumentList stringRepresentation' (as function) // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_string extensionGetter_stringRepresentation (const class GALGAS_gtlArgumentList & inObject, - class C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Extension getter '@type typeName' (as function) // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_string extensionGetter_typeName (const class GALGAS_type & inObject, - class C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Extension getter '@sortingKeyList stringRepresentation' (as function) // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_string extensionGetter_stringRepresentation (const class GALGAS_sortingKeyList & inObject, - class C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Extension getter '@lsint stringRepresentation' (as function) // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_string extensionGetter_stringRepresentation (const class GALGAS_lsint & inObject, - class C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Extension getter '@gtlInstruction shortLocation' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_string callExtensionGetter_shortLocation (const cPtr_gtlInstruction * inObject, - class C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Extension method '@gtlInstruction displayWithLocation' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void callExtensionMethod_displayWithLocation (class cPtr_gtlInstruction * inObject, const class GALGAS_debuggerContext constin_context, - C_Compiler * inCompiler + 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 generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlDoInstInstruction extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- 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 (C_Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (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, - C_Compiler * COMMA_LOCATION_ARGS) override ; + 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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -236,19 +236,16 @@ 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 ; @@ -258,20 +255,20 @@ class GALGAS_gtlDoNotAllInstruction : public GALGAS_gtlInstruction { public: GALGAS_gtlDoNotAllInstruction (const cPtr_gtlDoNotAllInstruction * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlDoNotAllInstruction extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- GALGAS class functions + public: static class GALGAS_gtlDoNotAllInstruction class_func_new (const class GALGAS_location & inOperand0, + const class GALGAS_string & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlDoNotAllInstruction & inOperand) const ; @@ -291,27 +288,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 (C_Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (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, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -326,7 +323,7 @@ class cPtr_gtlDoNotAllInstruction : public cPtr_gtlInstruction { //--- Attribute accessors //--- Description - public: virtual void description (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -335,19 +332,16 @@ 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 ; @@ -357,20 +351,20 @@ class GALGAS_gtlDoInstruction : public GALGAS_gtlInstruction { public: GALGAS_gtlDoInstruction (const cPtr_gtlDoInstruction * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlDoInstruction extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- GALGAS class functions + public: static class GALGAS_gtlDoInstruction class_func_new (const class GALGAS_location & inOperand0, + const class GALGAS_string & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlDoInstruction & inOperand) const ; @@ -390,27 +384,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 (C_Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (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, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -425,7 +419,7 @@ class cPtr_gtlDoInstruction : public cPtr_gtlInstruction { //--- Attribute accessors //--- Description - public: virtual void description (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -434,19 +428,16 @@ 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 ; @@ -456,20 +447,20 @@ class GALGAS_gtlContinueInstruction : public GALGAS_gtlInstruction { public: GALGAS_gtlContinueInstruction (const cPtr_gtlContinueInstruction * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlContinueInstruction extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- GALGAS class functions + public: static class GALGAS_gtlContinueInstruction class_func_new (const class GALGAS_location & inOperand0, + const class GALGAS_string & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlContinueInstruction & inOperand) const ; @@ -489,27 +480,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 (C_Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (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, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -524,7 +515,7 @@ class cPtr_gtlContinueInstruction : public cPtr_gtlInstruction { //--- Attribute accessors //--- Description - public: virtual void description (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -533,19 +524,16 @@ 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 ; @@ -559,22 +547,22 @@ class GALGAS_gtlBreakpointInstruction : public GALGAS_gtlInstruction { public: class GALGAS_uint readProperty_lineNum (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlBreakpointInstruction extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlBreakpointInstruction & inOperand) const ; @@ -600,27 +588,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 (C_Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (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, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -643,7 +631,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -652,19 +640,16 @@ 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 ; @@ -674,20 +659,20 @@ class GALGAS_gtlBreakpointListInstruction : public GALGAS_gtlInstruction { public: GALGAS_gtlBreakpointListInstruction (const cPtr_gtlBreakpointListInstruction * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlBreakpointListInstruction extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- GALGAS class functions + public: static class GALGAS_gtlBreakpointListInstruction class_func_new (const class GALGAS_location & inOperand0, + const class GALGAS_string & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlBreakpointListInstruction & inOperand) const ; @@ -707,27 +692,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 (C_Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (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, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -742,7 +727,7 @@ class cPtr_gtlBreakpointListInstruction : public cPtr_gtlInstruction { //--- Attribute accessors //--- Description - public: virtual void description (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -751,19 +736,16 @@ 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 ; @@ -775,21 +757,21 @@ class GALGAS_gtlBreakpointDeleteInstruction : public GALGAS_gtlInstruction { //--------------------------------- Property read access public: class GALGAS_lbigint readProperty_numToDelete (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlBreakpointDeleteInstruction extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlBreakpointDeleteInstruction & inOperand) const ; @@ -812,27 +794,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 (C_Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (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, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -851,7 +833,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -860,19 +842,16 @@ 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 ; @@ -882,20 +861,20 @@ class GALGAS_gtlBreakpointDeleteAllInstruction : public GALGAS_gtlInstruction { public: GALGAS_gtlBreakpointDeleteAllInstruction (const cPtr_gtlBreakpointDeleteAllInstruction * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlBreakpointDeleteAllInstruction extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- GALGAS class functions + public: static class GALGAS_gtlBreakpointDeleteAllInstruction class_func_new (const class GALGAS_location & inOperand0, + const class GALGAS_string & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlBreakpointDeleteAllInstruction & inOperand) const ; @@ -915,27 +894,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 (C_Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (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, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -950,7 +929,7 @@ class cPtr_gtlBreakpointDeleteAllInstruction : public cPtr_gtlInstruction { //--- Attribute accessors //--- Description - public: virtual void description (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -959,19 +938,16 @@ 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 ; @@ -981,20 +957,20 @@ class GALGAS_gtlWatchpointListInstruction : public GALGAS_gtlInstruction { public: GALGAS_gtlWatchpointListInstruction (const cPtr_gtlWatchpointListInstruction * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlWatchpointListInstruction extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- GALGAS class functions + public: static class GALGAS_gtlWatchpointListInstruction class_func_new (const class GALGAS_location & inOperand0, + const class GALGAS_string & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlWatchpointListInstruction & inOperand) const ; @@ -1014,27 +990,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 (C_Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (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, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -1049,7 +1025,7 @@ class cPtr_gtlWatchpointListInstruction : public cPtr_gtlInstruction { //--- Attribute accessors //--- Description - public: virtual void description (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -1058,19 +1034,16 @@ 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 ; @@ -1082,21 +1055,21 @@ class GALGAS_gtlWatchpointDeleteInstruction : public GALGAS_gtlInstruction { //--------------------------------- Property read access public: class GALGAS_lbigint readProperty_numToDelete (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlWatchpointDeleteInstruction extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlWatchpointDeleteInstruction & inOperand) const ; @@ -1119,27 +1092,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 (C_Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (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, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -1158,7 +1131,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -1167,19 +1140,16 @@ 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 ; @@ -1189,20 +1159,20 @@ class GALGAS_gtlWatchpointDeleteAllInstruction : public GALGAS_gtlInstruction { public: GALGAS_gtlWatchpointDeleteAllInstruction (const cPtr_gtlWatchpointDeleteAllInstruction * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlWatchpointDeleteAllInstruction extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- GALGAS class functions + public: static class GALGAS_gtlWatchpointDeleteAllInstruction class_func_new (const class GALGAS_location & inOperand0, + const class GALGAS_string & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlWatchpointDeleteAllInstruction & inOperand) const ; @@ -1222,27 +1192,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 (C_Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (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, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -1257,7 +1227,7 @@ class cPtr_gtlWatchpointDeleteAllInstruction : public cPtr_gtlInstruction { //--- Attribute accessors //--- Description - public: virtual void description (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -1266,19 +1236,16 @@ 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 ; @@ -1290,21 +1257,21 @@ class GALGAS_gtlListInstruction : public GALGAS_gtlInstruction { //--------------------------------- Property read access public: class GALGAS_uint readProperty_window (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlListInstruction extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlListInstruction & inOperand) const ; @@ -1327,27 +1294,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 (C_Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (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, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -1366,7 +1333,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -1375,19 +1342,16 @@ 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 ; @@ -1397,20 +1361,20 @@ class GALGAS_gtlHistoryInstruction : public GALGAS_gtlInstruction { public: GALGAS_gtlHistoryInstruction (const cPtr_gtlHistoryInstruction * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlHistoryInstruction extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- GALGAS class functions + public: static class GALGAS_gtlHistoryInstruction class_func_new (const class GALGAS_location & inOperand0, + const class GALGAS_string & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlHistoryInstruction & inOperand) const ; @@ -1430,27 +1394,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 (C_Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (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, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -1465,7 +1429,7 @@ class cPtr_gtlHistoryInstruction : public cPtr_gtlInstruction { //--- Attribute accessors //--- Description - public: virtual void description (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -1474,19 +1438,16 @@ 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 ; @@ -1498,21 +1459,21 @@ class GALGAS_gtlLoadInstruction : public GALGAS_gtlInstruction { //--------------------------------- Property read access public: class GALGAS_string readProperty_fileName (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlLoadInstruction extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlLoadInstruction & inOperand) const ; @@ -1535,27 +1496,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 (C_Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (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, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -1574,7 +1535,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -1583,19 +1544,16 @@ 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 ; @@ -1605,20 +1563,20 @@ class GALGAS_gtlHelpInstruction : public GALGAS_gtlInstruction { public: GALGAS_gtlHelpInstruction (const cPtr_gtlHelpInstruction * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlHelpInstruction extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- GALGAS class functions + public: static class GALGAS_gtlHelpInstruction class_func_new (const class GALGAS_location & inOperand0, + const class GALGAS_string & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlHelpInstruction & inOperand) const ; @@ -1638,27 +1596,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 (C_Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (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, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -1673,7 +1631,7 @@ class cPtr_gtlHelpInstruction : public cPtr_gtlInstruction { //--- Attribute accessors //--- Description - public: virtual void description (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -1682,52 +1640,49 @@ class cPtr_gtlHelpInstruction : public cPtr_gtlInstruction { } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Extension setter '@debugCommandInput getCommand' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- typedef void (*extensionSetterSignature_debugCommandInput_getCommand) (class cPtr_debugCommandInput * inObject, class GALGAS_string & outArgument0, - class C_Compiler * inCompiler + class 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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Extension method '@debugCommandInput listHistory' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- void callExtensionMethod_listHistory (class cPtr_debugCommandInput * inObject, - C_Compiler * inCompiler + 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 ; @@ -1739,21 +1694,21 @@ class GALGAS_gtlDoNotInstruction : public GALGAS_gtlInstruction { //--------------------------------- Property read access public: class GALGAS_lbigint readProperty_numToDelete (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlDoNotInstruction extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlDoNotInstruction & inOperand) const ; @@ -1776,27 +1731,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 (C_Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (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, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -1815,7 +1770,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -1824,11 +1779,11 @@ class cPtr_gtlDoNotInstruction : public cPtr_gtlInstruction { } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 1: @gtlAssignInstruction value class // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_gtlAssignInstruction : public GALGAS_gtlLetUnconstructedInstruction { //--------------------------------- Default constructor @@ -1845,14 +1800,14 @@ class GALGAS_gtlAssignInstruction : public GALGAS_gtlLetUnconstructedInstruction //--------------------------------- Property read access public: class GALGAS_gtlExpression readProperty_rValue (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlAssignInstruction extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison @@ -1876,15 +1831,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 { @@ -1903,7 +1858,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override = 0 ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override = 0 ; @@ -1912,11 +1867,11 @@ class cPtr_gtlAssignInstruction : public cPtr_gtlLetUnconstructedInstruction { } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 1: @gtlLetAddInstruction value class // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_gtlLetAddInstruction : public GALGAS_gtlAssignInstruction { //--------------------------------- Default constructor @@ -1931,22 +1886,22 @@ class GALGAS_gtlLetAddInstruction : public GALGAS_gtlAssignInstruction { public: GALGAS_gtlLetAddInstruction (const cPtr_gtlLetAddInstruction * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlLetAddInstruction extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlLetAddInstruction & inOperand) const ; @@ -1966,27 +1921,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 (C_Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (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, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -2003,7 +1958,7 @@ class cPtr_gtlLetAddInstruction : public cPtr_gtlAssignInstruction { //--- Attribute accessors //--- Description - public: virtual void description (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -2012,11 +1967,11 @@ class cPtr_gtlLetAddInstruction : public cPtr_gtlAssignInstruction { } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 1: @gtlLetAndInstruction value class // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_gtlLetAndInstruction : public GALGAS_gtlAssignInstruction { //--------------------------------- Default constructor @@ -2031,22 +1986,22 @@ class GALGAS_gtlLetAndInstruction : public GALGAS_gtlAssignInstruction { public: GALGAS_gtlLetAndInstruction (const cPtr_gtlLetAndInstruction * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlLetAndInstruction extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlLetAndInstruction & inOperand) const ; @@ -2066,27 +2021,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 (C_Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (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, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -2103,7 +2058,7 @@ class cPtr_gtlLetAndInstruction : public cPtr_gtlAssignInstruction { //--- Attribute accessors //--- Description - public: virtual void description (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -2112,11 +2067,11 @@ class cPtr_gtlLetAndInstruction : public cPtr_gtlAssignInstruction { } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 1: @gtlLetDivideInstruction value class // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_gtlLetDivideInstruction : public GALGAS_gtlAssignInstruction { //--------------------------------- Default constructor @@ -2131,22 +2086,22 @@ class GALGAS_gtlLetDivideInstruction : public GALGAS_gtlAssignInstruction { public: GALGAS_gtlLetDivideInstruction (const cPtr_gtlLetDivideInstruction * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlLetDivideInstruction extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlLetDivideInstruction & inOperand) const ; @@ -2166,27 +2121,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 (C_Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (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, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -2203,7 +2158,7 @@ class cPtr_gtlLetDivideInstruction : public cPtr_gtlAssignInstruction { //--- Attribute accessors //--- Description - public: virtual void description (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -2212,11 +2167,11 @@ class cPtr_gtlLetDivideInstruction : public cPtr_gtlAssignInstruction { } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 1: @gtlLetInstruction value class // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_gtlLetInstruction : public GALGAS_gtlAssignInstruction { //--------------------------------- Default constructor @@ -2231,22 +2186,22 @@ class GALGAS_gtlLetInstruction : public GALGAS_gtlAssignInstruction { public: GALGAS_gtlLetInstruction (const cPtr_gtlLetInstruction * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlLetInstruction extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlLetInstruction & inOperand) const ; @@ -2266,27 +2221,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 (C_Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (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, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -2303,7 +2258,7 @@ class cPtr_gtlLetInstruction : public cPtr_gtlAssignInstruction { //--- Attribute accessors //--- Description - public: virtual void description (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -2312,11 +2267,11 @@ class cPtr_gtlLetInstruction : public cPtr_gtlAssignInstruction { } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 1: @gtlLetModuloInstruction value class // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_gtlLetModuloInstruction : public GALGAS_gtlAssignInstruction { //--------------------------------- Default constructor @@ -2331,22 +2286,22 @@ class GALGAS_gtlLetModuloInstruction : public GALGAS_gtlAssignInstruction { public: GALGAS_gtlLetModuloInstruction (const cPtr_gtlLetModuloInstruction * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlLetModuloInstruction extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlLetModuloInstruction & inOperand) const ; @@ -2366,27 +2321,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 (C_Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (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, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -2403,7 +2358,7 @@ class cPtr_gtlLetModuloInstruction : public cPtr_gtlAssignInstruction { //--- Attribute accessors //--- Description - public: virtual void description (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -2412,11 +2367,11 @@ class cPtr_gtlLetModuloInstruction : public cPtr_gtlAssignInstruction { } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 1: @gtlLetMultiplyInstruction value class // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_gtlLetMultiplyInstruction : public GALGAS_gtlAssignInstruction { //--------------------------------- Default constructor @@ -2431,22 +2386,22 @@ class GALGAS_gtlLetMultiplyInstruction : public GALGAS_gtlAssignInstruction { public: GALGAS_gtlLetMultiplyInstruction (const cPtr_gtlLetMultiplyInstruction * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlLetMultiplyInstruction extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlLetMultiplyInstruction & inOperand) const ; @@ -2466,27 +2421,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 (C_Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (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, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -2503,7 +2458,7 @@ class cPtr_gtlLetMultiplyInstruction : public cPtr_gtlAssignInstruction { //--- Attribute accessors //--- Description - public: virtual void description (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -2512,11 +2467,11 @@ class cPtr_gtlLetMultiplyInstruction : public cPtr_gtlAssignInstruction { } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 1: @gtlLetOrInstruction value class // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_gtlLetOrInstruction : public GALGAS_gtlAssignInstruction { //--------------------------------- Default constructor @@ -2531,22 +2486,22 @@ class GALGAS_gtlLetOrInstruction : public GALGAS_gtlAssignInstruction { public: GALGAS_gtlLetOrInstruction (const cPtr_gtlLetOrInstruction * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlLetOrInstruction extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlLetOrInstruction & inOperand) const ; @@ -2566,27 +2521,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 (C_Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (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, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -2603,7 +2558,7 @@ class cPtr_gtlLetOrInstruction : public cPtr_gtlAssignInstruction { //--- Attribute accessors //--- Description - public: virtual void description (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -2612,11 +2567,11 @@ class cPtr_gtlLetOrInstruction : public cPtr_gtlAssignInstruction { } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 1: @gtlLetShiftLeftInstruction value class // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_gtlLetShiftLeftInstruction : public GALGAS_gtlAssignInstruction { //--------------------------------- Default constructor @@ -2631,22 +2586,22 @@ class GALGAS_gtlLetShiftLeftInstruction : public GALGAS_gtlAssignInstruction { public: GALGAS_gtlLetShiftLeftInstruction (const cPtr_gtlLetShiftLeftInstruction * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlLetShiftLeftInstruction extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlLetShiftLeftInstruction & inOperand) const ; @@ -2666,27 +2621,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 (C_Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (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, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -2703,7 +2658,7 @@ class cPtr_gtlLetShiftLeftInstruction : public cPtr_gtlAssignInstruction { //--- Attribute accessors //--- Description - public: virtual void description (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -2712,11 +2667,11 @@ class cPtr_gtlLetShiftLeftInstruction : public cPtr_gtlAssignInstruction { } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 1: @gtlLetShiftRightInstruction value class // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_gtlLetShiftRightInstruction : public GALGAS_gtlAssignInstruction { //--------------------------------- Default constructor @@ -2731,22 +2686,22 @@ class GALGAS_gtlLetShiftRightInstruction : public GALGAS_gtlAssignInstruction { public: GALGAS_gtlLetShiftRightInstruction (const cPtr_gtlLetShiftRightInstruction * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlLetShiftRightInstruction extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlLetShiftRightInstruction & inOperand) const ; @@ -2766,27 +2721,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 (C_Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (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, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -2803,7 +2758,7 @@ class cPtr_gtlLetShiftRightInstruction : public cPtr_gtlAssignInstruction { //--- Attribute accessors //--- Description - public: virtual void description (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -2812,11 +2767,11 @@ class cPtr_gtlLetShiftRightInstruction : public cPtr_gtlAssignInstruction { } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 1: @gtlLetSubstractInstruction value class // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_gtlLetSubstractInstruction : public GALGAS_gtlAssignInstruction { //--------------------------------- Default constructor @@ -2831,22 +2786,22 @@ class GALGAS_gtlLetSubstractInstruction : public GALGAS_gtlAssignInstruction { public: GALGAS_gtlLetSubstractInstruction (const cPtr_gtlLetSubstractInstruction * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlLetSubstractInstruction extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlLetSubstractInstruction & inOperand) const ; @@ -2866,27 +2821,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 (C_Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (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, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -2903,7 +2858,7 @@ class cPtr_gtlLetSubstractInstruction : public cPtr_gtlAssignInstruction { //--- Attribute accessors //--- Description - public: virtual void description (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -2912,11 +2867,11 @@ class cPtr_gtlLetSubstractInstruction : public cPtr_gtlAssignInstruction { } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 1: @gtlLetXorInstruction value class // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_gtlLetXorInstruction : public GALGAS_gtlAssignInstruction { //--------------------------------- Default constructor @@ -2931,22 +2886,22 @@ class GALGAS_gtlLetXorInstruction : public GALGAS_gtlAssignInstruction { public: GALGAS_gtlLetXorInstruction (const cPtr_gtlLetXorInstruction * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlLetXorInstruction extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlLetXorInstruction & inOperand) const ; @@ -2966,27 +2921,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 (C_Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (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, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -3003,7 +2958,7 @@ class cPtr_gtlLetXorInstruction : public cPtr_gtlAssignInstruction { //--- Attribute accessors //--- Description - public: virtual void description (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -3012,11 +2967,11 @@ class cPtr_gtlLetXorInstruction : public cPtr_gtlAssignInstruction { } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 1: @gtlPrintStatementInstruction value class // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_gtlPrintStatementInstruction : public GALGAS_gtlInstruction { //--------------------------------- Default constructor @@ -3035,22 +2990,22 @@ class GALGAS_gtlPrintStatementInstruction : public GALGAS_gtlInstruction { public: class GALGAS_gtlExpression readProperty_messageToPrint (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlPrintStatementInstruction extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlPrintStatementInstruction & inOperand) const ; @@ -3076,27 +3031,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 (C_Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (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, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -3119,7 +3074,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -3128,11 +3083,11 @@ class cPtr_gtlPrintStatementInstruction : public cPtr_gtlInstruction { } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 1: @gtlWatchpointInstruction value class // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_gtlWatchpointInstruction : public GALGAS_gtlInstruction { //--------------------------------- Default constructor @@ -3149,21 +3104,21 @@ class GALGAS_gtlWatchpointInstruction : public GALGAS_gtlInstruction { //--------------------------------- Property read access public: class GALGAS_gtlExpression readProperty_watchExpression (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_gtlWatchpointInstruction extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_gtlWatchpointInstruction & inOperand) const ; @@ -3186,27 +3141,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 (C_Compiler * COMMA_LOCATION_ARGS) override ; + public: virtual void method_display (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, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -3225,7 +3180,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -3234,59 +3189,59 @@ class cPtr_gtlWatchpointInstruction : public cPtr_gtlInstruction { } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Function 'signature' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_string function_signature (class GALGAS_location inArgument0, - class C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //LEXIQUE goil_5F_lexique // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -#include "galgas2/C_Lexique.h" +#include "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: C_String mLexicalAttribute_a_5F_string ; - public: C_String mLexicalAttribute_att_5F_token ; + public: String mLexicalAttribute_a_5F_string ; + public: String mLexicalAttribute_att_5F_token ; public: double mLexicalAttribute_floatNumber ; public: uint64_t mLexicalAttribute_integerNumber ; - public: C_String mLexicalAttribute_number ; + public: String mLexicalAttribute_number ; public: cTokenFor_goil_5F_lexique (void) ; } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // S C A N N E R C L A S S -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -class C_Lexique_goil_5F_lexique : public C_Lexique { +class Lexique_goil_5F_lexique : public Lexique { //--- Constructors - public: C_Lexique_goil_5F_lexique (C_Compiler * inCallerCompiler, - const C_String & inSourceFileName + public: Lexique_goil_5F_lexique (Compiler * inCallerCompiler, + const String & inSourceFileName COMMA_LOCATION_ARGS) ; - public: C_Lexique_goil_5F_lexique (C_Compiler * inCallerCompiler, - const C_String & inSourceString, - const C_String & inStringForError + public: Lexique_goil_5F_lexique (Compiler * inCallerCompiler, + const String & inSourceString, + const String & inStringForError COMMA_LOCATION_ARGS) ; //--- Instrospection @@ -3294,76 +3249,76 @@ class C_Lexique_goil_5F_lexique : public C_Lexique { //--- Declaring a protected virtual destructor enables the compiler to raise // an error if a direct delete is performed; only the static method -// C_SharedObject::detachPointer may invoke delete. +// SharedObject::detachPointer may invoke delete. #ifndef DO_NOT_GENERATE_CHECKINGS - protected: virtual ~ C_Lexique_goil_5F_lexique (void) {} + protected: virtual ~ Lexique_goil_5F_lexique (void) {} #endif //--- Terminal symbols enumeration public: enum {kToken_, - 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} ; + 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 */ } ; //--- Key words table 'oilVersion' - public: static int32_t search_into_oilVersion (const C_String & inSearchedString) ; + public: static int32_t search_into_oilVersion (const String & inSearchedString) ; //--- Key words table 'oilDefinitions' - public: static int32_t search_into_oilDefinitions (const C_String & inSearchedString) ; + public: static int32_t search_into_oilDefinitions (const String & inSearchedString) ; //--- Key words table 'dataTypes' - public: static int32_t search_into_dataTypes (const C_String & inSearchedString) ; + public: static int32_t search_into_dataTypes (const String & inSearchedString) ; //--- Key words table 'miscSpecifiers' - public: static int32_t search_into_miscSpecifiers (const C_String & inSearchedString) ; + public: static int32_t search_into_miscSpecifiers (const String & inSearchedString) ; //--- Key words table 'boolean' - public: static int32_t search_into_boolean (const C_String & inSearchedString) ; + public: static int32_t search_into_boolean (const String & inSearchedString) ; //--- Key words table 'OILDelimiters' - public: static int32_t search_into_OILDelimiters (const C_String & inSearchedString) ; + public: static int32_t search_into_OILDelimiters (const String & inSearchedString) ; //--- Key words table 'commands' - public: static int32_t search_into_commands (const C_String & inSearchedString) ; + public: static int32_t search_into_commands (const String & inSearchedString) ; //--- Assign from attribute @@ -3375,41 +3330,41 @@ class C_Lexique_goil_5F_lexique : public C_Lexique { //--- Attribute access - public: C_String attributeValue_a_5F_string (void) const ; - public: C_String attributeValue_att_5F_token (void) const ; + public: String attributeValue_a_5F_string (void) const ; + public: String attributeValue_att_5F_token (void) const ; public: double attributeValue_floatNumber (void) const ; public: uint64_t attributeValue_integerNumber (void) const ; - public: C_String attributeValue_number (void) const ; + public: 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 C_String getMessageForTerminal (const int32_t inTerminalSymbol) const override ; + protected: virtual 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 C_String getCurrentTokenString (const cToken * inTokenPtr) const override ; + public: virtual String getCurrentTokenString (const cToken * inTokenPtr) const override ; //--- Enter Token protected: void enterToken (cTokenFor_goil_5F_lexique & ioToken) ; //--- Style name for Latex - protected: virtual C_String styleNameForIndex (const uint32_t inStyleIndex) const override ; + protected: virtual 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 @@ -3440,44 +3395,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 generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_dataType extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS constructors - public: static class GALGAS_dataType constructor_boolean (LOCATION_ARGS) ; +//--------------------------------- GALGAS class functions + public: static class GALGAS_dataType class_func_boolean (LOCATION_ARGS) ; - public: static class GALGAS_dataType constructor_enumeration (LOCATION_ARGS) ; + public: static class GALGAS_dataType class_func_enumeration (LOCATION_ARGS) ; - public: static class GALGAS_dataType constructor_floatNumber (LOCATION_ARGS) ; + public: static class GALGAS_dataType class_func_floatNumber (LOCATION_ARGS) ; - public: static class GALGAS_dataType constructor_identifier (LOCATION_ARGS) ; + public: static class GALGAS_dataType class_func_identifier (LOCATION_ARGS) ; - public: static class GALGAS_dataType constructor_objectType (LOCATION_ARGS) ; + public: static class GALGAS_dataType class_func_objectType (LOCATION_ARGS) ; - public: static class GALGAS_dataType constructor_sint_33__32_Number (LOCATION_ARGS) ; + public: static class GALGAS_dataType class_func_sint_33__32_Number (LOCATION_ARGS) ; - public: static class GALGAS_dataType constructor_sint_36__34_Number (LOCATION_ARGS) ; + public: static class GALGAS_dataType class_func_sint_36__34_Number (LOCATION_ARGS) ; - public: static class GALGAS_dataType constructor_string (LOCATION_ARGS) ; + public: static class GALGAS_dataType class_func_string (LOCATION_ARGS) ; - public: static class GALGAS_dataType constructor_structType (LOCATION_ARGS) ; + public: static class GALGAS_dataType class_func_structType (LOCATION_ARGS) ; - public: static class GALGAS_dataType constructor_uint_33__32_Number (LOCATION_ARGS) ; + public: static class GALGAS_dataType class_func_uint_33__32_Number (LOCATION_ARGS) ; - public: static class GALGAS_dataType constructor_uint_36__34_Number (LOCATION_ARGS) ; + public: static class GALGAS_dataType class_func_uint_36__34_Number (LOCATION_ARGS) ; - public: static class GALGAS_dataType constructor_void (LOCATION_ARGS) ; + public: static class GALGAS_dataType class_func_void (LOCATION_ARGS) ; //--------------------------------- Implementation of getter 'description' - public: VIRTUAL_IN_DEBUG void description (C_String & ioString, - const int32_t inIndentation) const override ; + public: VIRTUAL_IN_DEBUG void description (String & ioString, + const int32_t inIndentation) const override ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_dataType & inOperand) const ; @@ -3544,35 +3499,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 C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Extension getter '@dataType arxmlType' (as function) // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_string extensionGetter_arxmlType (const class GALGAS_dataType & inObject, - class C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // // Phase 1: @uint32List list // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_uint_33__32_List : public AC_GALGAS_list { //--------------------------------- Default constructor @@ -3587,26 +3542,26 @@ class GALGAS_uint_33__32_List : public AC_GALGAS_list { const class GALGAS_uint & in_value COMMA_LOCATION_ARGS) ; -//-- Start of generic part --* +//-- Start of type 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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS constructors - public: static class GALGAS_uint_33__32_List constructor_emptyList (LOCATION_ARGS) ; +//--------------------------------- GALGAS class functions + public: static class GALGAS_uint_33__32_List class_func_emptyList (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) ; + public: static class GALGAS_uint_33__32_List class_func_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 C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with list of field expressions) @@ -3615,81 +3570,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Setters public: VIRTUAL_IN_DEBUG void setter_append (class GALGAS_location constinArgument0, class GALGAS_uint constinArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_insertAtIndex (class GALGAS_location constinArgument0, class GALGAS_uint constinArgument1, class GALGAS_uint constinArgument2, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popFirst (class GALGAS_location & outArgument0, class GALGAS_uint & outArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popLast (class GALGAS_location & outArgument0, class GALGAS_uint & outArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_removeAtIndex (class GALGAS_location & outArgument0, class GALGAS_uint & outArgument1, class GALGAS_uint constinArgument2, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setLocationAtIndex (class GALGAS_location constinArgument0, class GALGAS_uint constinArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setValueAtIndex (class GALGAS_uint constinArgument0, class GALGAS_uint constinArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Instance Methods public: VIRTUAL_IN_DEBUG void method_first (class GALGAS_location & outArgument0, class GALGAS_uint & outArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void method_last (class GALGAS_location & outArgument0, class GALGAS_uint & outArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Class Methods //--------------------------------- Getters public: VIRTUAL_IN_DEBUG class GALGAS_location getter_locationAtIndex (const class GALGAS_uint & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_uint_33__32_List getter_subListFromIndex (const class GALGAS_uint & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_uint_33__32_List getter_subListToIndex (const class GALGAS_uint & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_uint_33__32_List getter_subListWithRange (const class GALGAS_range & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_uint getter_valueAtIndex (const class GALGAS_uint & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; @@ -3703,9 +3658,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, @@ -3718,15 +3673,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 @@ -3744,9 +3699,6 @@ 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) ; @@ -3766,24 +3718,25 @@ 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 generic part --* +//-- Start of type 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, - C_Compiler * inCompiler + 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) ; +//--------------------------------- 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) ; //--------------------------------- Implementation of getter 'description' - public: VIRTUAL_IN_DEBUG void description (C_String & ioString, - const int32_t inIndentation) const override ; + public: VIRTUAL_IN_DEBUG void description (String & ioString, + const int32_t inIndentation) const override ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_uint_33__32_List_2D_element & inOperand) const ; @@ -3802,15 +3755,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 @@ -3825,26 +3778,26 @@ class GALGAS_uint_36__34_List : public AC_GALGAS_list { const class GALGAS_uint_36__34_ & in_value COMMA_LOCATION_ARGS) ; -//-- Start of generic part --* +//-- Start of type 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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS constructors - public: static class GALGAS_uint_36__34_List constructor_emptyList (LOCATION_ARGS) ; +//--------------------------------- GALGAS class functions + public: static class GALGAS_uint_36__34_List class_func_emptyList (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) ; + 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) ; //--------------------------------- += operator (with expression) public: VIRTUAL_IN_DEBUG void plusAssign_operation (const GALGAS_uint_36__34_List inOperand, - class C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with list of field expressions) @@ -3853,81 +3806,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Setters public: VIRTUAL_IN_DEBUG void setter_append (class GALGAS_location constinArgument0, class GALGAS_uint_36__34_ constinArgument1, - C_Compiler * inCompiler + 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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popFirst (class GALGAS_location & outArgument0, class GALGAS_uint_36__34_ & outArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popLast (class GALGAS_location & outArgument0, class GALGAS_uint_36__34_ & outArgument1, - C_Compiler * inCompiler + 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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setLocationAtIndex (class GALGAS_location constinArgument0, class GALGAS_uint constinArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setValueAtIndex (class GALGAS_uint_36__34_ constinArgument0, class GALGAS_uint constinArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Instance Methods public: VIRTUAL_IN_DEBUG void method_first (class GALGAS_location & outArgument0, class GALGAS_uint_36__34_ & outArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void method_last (class GALGAS_location & outArgument0, class GALGAS_uint_36__34_ & outArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Class Methods //--------------------------------- Getters public: VIRTUAL_IN_DEBUG class GALGAS_location getter_locationAtIndex (const class GALGAS_uint & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_uint_36__34_List getter_subListFromIndex (const class GALGAS_uint & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_uint_36__34_List getter_subListToIndex (const class GALGAS_uint & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_uint_36__34_List getter_subListWithRange (const class GALGAS_range & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_uint_36__34_ getter_valueAtIndex (const class GALGAS_uint & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; @@ -3941,9 +3894,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, @@ -3956,15 +3909,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 @@ -3982,9 +3935,6 @@ 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) ; @@ -4004,24 +3954,25 @@ 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 generic part --* +//-- Start of type 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, - C_Compiler * inCompiler + 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) ; +//--------------------------------- 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) ; //--------------------------------- Implementation of getter 'description' - public: VIRTUAL_IN_DEBUG void description (C_String & ioString, - const int32_t inIndentation) const override ; + public: VIRTUAL_IN_DEBUG void description (String & ioString, + const int32_t inIndentation) const override ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_uint_36__34_List_2D_element & inOperand) const ; @@ -4040,15 +3991,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 @@ -4063,26 +4014,26 @@ class GALGAS_sint_33__32_List : public AC_GALGAS_list { const class GALGAS_sint & in_value COMMA_LOCATION_ARGS) ; -//-- Start of generic part --* +//-- Start of type 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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS constructors - public: static class GALGAS_sint_33__32_List constructor_emptyList (LOCATION_ARGS) ; +//--------------------------------- GALGAS class functions + public: static class GALGAS_sint_33__32_List class_func_emptyList (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) ; + public: static class GALGAS_sint_33__32_List class_func_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 C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with list of field expressions) @@ -4091,81 +4042,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Setters public: VIRTUAL_IN_DEBUG void setter_append (class GALGAS_location constinArgument0, class GALGAS_sint constinArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_insertAtIndex (class GALGAS_location constinArgument0, class GALGAS_sint constinArgument1, class GALGAS_uint constinArgument2, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popFirst (class GALGAS_location & outArgument0, class GALGAS_sint & outArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popLast (class GALGAS_location & outArgument0, class GALGAS_sint & outArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_removeAtIndex (class GALGAS_location & outArgument0, class GALGAS_sint & outArgument1, class GALGAS_uint constinArgument2, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setLocationAtIndex (class GALGAS_location constinArgument0, class GALGAS_uint constinArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setValueAtIndex (class GALGAS_sint constinArgument0, class GALGAS_uint constinArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Instance Methods public: VIRTUAL_IN_DEBUG void method_first (class GALGAS_location & outArgument0, class GALGAS_sint & outArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void method_last (class GALGAS_location & outArgument0, class GALGAS_sint & outArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Class Methods //--------------------------------- Getters public: VIRTUAL_IN_DEBUG class GALGAS_location getter_locationAtIndex (const class GALGAS_uint & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_sint_33__32_List getter_subListFromIndex (const class GALGAS_uint & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_sint_33__32_List getter_subListToIndex (const class GALGAS_uint & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_sint_33__32_List getter_subListWithRange (const class GALGAS_range & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_sint getter_valueAtIndex (const class GALGAS_uint & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; @@ -4179,9 +4130,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, @@ -4194,15 +4145,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 @@ -4220,9 +4171,6 @@ 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) ; @@ -4242,24 +4190,25 @@ 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 generic part --* +//-- Start of type 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, - C_Compiler * inCompiler + 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) ; +//--------------------------------- 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) ; //--------------------------------- Implementation of getter 'description' - public: VIRTUAL_IN_DEBUG void description (C_String & ioString, - const int32_t inIndentation) const override ; + public: VIRTUAL_IN_DEBUG void description (String & ioString, + const int32_t inIndentation) const override ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_sint_33__32_List_2D_element & inOperand) const ; @@ -4278,15 +4227,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 @@ -4301,26 +4250,26 @@ class GALGAS_sint_36__34_List : public AC_GALGAS_list { const class GALGAS_sint_36__34_ & in_value COMMA_LOCATION_ARGS) ; -//-- Start of generic part --* +//-- Start of type 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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS constructors - public: static class GALGAS_sint_36__34_List constructor_emptyList (LOCATION_ARGS) ; +//--------------------------------- GALGAS class functions + public: static class GALGAS_sint_36__34_List class_func_emptyList (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) ; + 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) ; //--------------------------------- += operator (with expression) public: VIRTUAL_IN_DEBUG void plusAssign_operation (const GALGAS_sint_36__34_List inOperand, - class C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with list of field expressions) @@ -4329,81 +4278,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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Setters public: VIRTUAL_IN_DEBUG void setter_append (class GALGAS_location constinArgument0, class GALGAS_sint_36__34_ constinArgument1, - C_Compiler * inCompiler + 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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popFirst (class GALGAS_location & outArgument0, class GALGAS_sint_36__34_ & outArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popLast (class GALGAS_location & outArgument0, class GALGAS_sint_36__34_ & outArgument1, - C_Compiler * inCompiler + 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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setLocationAtIndex (class GALGAS_location constinArgument0, class GALGAS_uint constinArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setValueAtIndex (class GALGAS_sint_36__34_ constinArgument0, class GALGAS_uint constinArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Instance Methods public: VIRTUAL_IN_DEBUG void method_first (class GALGAS_location & outArgument0, class GALGAS_sint_36__34_ & outArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void method_last (class GALGAS_location & outArgument0, class GALGAS_sint_36__34_ & outArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Class Methods //--------------------------------- Getters public: VIRTUAL_IN_DEBUG class GALGAS_location getter_locationAtIndex (const class GALGAS_uint & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_sint_36__34_List getter_subListFromIndex (const class GALGAS_uint & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_sint_36__34_List getter_subListToIndex (const class GALGAS_uint & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_sint_36__34_List getter_subListWithRange (const class GALGAS_range & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_sint_36__34_ getter_valueAtIndex (const class GALGAS_uint & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; @@ -4417,9 +4366,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, @@ -4432,15 +4381,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 @@ -4458,9 +4407,6 @@ 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) ; @@ -4480,24 +4426,25 @@ 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 generic part --* +//-- Start of type 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, - C_Compiler * inCompiler + 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) ; +//--------------------------------- 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) ; //--------------------------------- Implementation of getter 'description' - public: VIRTUAL_IN_DEBUG void description (C_String & ioString, - const int32_t inIndentation) const override ; + public: VIRTUAL_IN_DEBUG void description (String & ioString, + const int32_t inIndentation) const override ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_sint_36__34_List_2D_element & inOperand) const ; @@ -4516,15 +4463,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 @@ -4539,26 +4486,26 @@ class GALGAS_floatList : public AC_GALGAS_list { const class GALGAS_double & in_value COMMA_LOCATION_ARGS) ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_floatList extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS constructors - public: static class GALGAS_floatList constructor_emptyList (LOCATION_ARGS) ; +//--------------------------------- GALGAS class functions + public: static class GALGAS_floatList class_func_emptyList (LOCATION_ARGS) ; - public: static class GALGAS_floatList constructor_listWithValue (const class GALGAS_location & inOperand0, - const class GALGAS_double & inOperand1 - COMMA_LOCATION_ARGS) ; + public: static class GALGAS_floatList class_func_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 C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with list of field expressions) @@ -4567,81 +4514,81 @@ class GALGAS_floatList : public AC_GALGAS_list { COMMA_LOCATION_ARGS) ; //--------------------------------- + operator public: VIRTUAL_IN_DEBUG GALGAS_floatList add_operation (const GALGAS_floatList & inOperand, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Setters public: VIRTUAL_IN_DEBUG void setter_append (class GALGAS_location constinArgument0, class GALGAS_double constinArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_insertAtIndex (class GALGAS_location constinArgument0, class GALGAS_double constinArgument1, class GALGAS_uint constinArgument2, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popFirst (class GALGAS_location & outArgument0, class GALGAS_double & outArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popLast (class GALGAS_location & outArgument0, class GALGAS_double & outArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_removeAtIndex (class GALGAS_location & outArgument0, class GALGAS_double & outArgument1, class GALGAS_uint constinArgument2, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setLocationAtIndex (class GALGAS_location constinArgument0, class GALGAS_uint constinArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setValueAtIndex (class GALGAS_double constinArgument0, class GALGAS_uint constinArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Instance Methods public: VIRTUAL_IN_DEBUG void method_first (class GALGAS_location & outArgument0, class GALGAS_double & outArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void method_last (class GALGAS_location & outArgument0, class GALGAS_double & outArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Class Methods //--------------------------------- Getters public: VIRTUAL_IN_DEBUG class GALGAS_location getter_locationAtIndex (const class GALGAS_uint & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_floatList getter_subListFromIndex (const class GALGAS_uint & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_floatList getter_subListToIndex (const class GALGAS_uint & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_floatList getter_subListWithRange (const class GALGAS_range & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_double getter_valueAtIndex (const class GALGAS_uint & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; @@ -4655,9 +4602,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, @@ -4670,15 +4617,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 @@ -4696,9 +4643,6 @@ 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) ; @@ -4718,24 +4662,25 @@ 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 generic part --* +//-- Start of type 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, - C_Compiler * inCompiler + 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) ; +//--------------------------------- 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) ; //--------------------------------- Implementation of getter 'description' - public: VIRTUAL_IN_DEBUG void description (C_String & ioString, - const int32_t inIndentation) const override ; + public: VIRTUAL_IN_DEBUG void description (String & ioString, + const int32_t inIndentation) const override ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_floatList_2D_element & inOperand) const ; @@ -4754,15 +4699,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 @@ -4777,26 +4722,26 @@ class GALGAS_numberList : public AC_GALGAS_list { const class GALGAS_object_5F_t & in_value COMMA_LOCATION_ARGS) ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_numberList extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS constructors - public: static class GALGAS_numberList constructor_emptyList (LOCATION_ARGS) ; +//--------------------------------- GALGAS class functions + public: static class GALGAS_numberList class_func_emptyList (LOCATION_ARGS) ; - public: static class GALGAS_numberList constructor_listWithValue (const class GALGAS_location & inOperand0, - const class GALGAS_object_5F_t & inOperand1 - COMMA_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) ; //--------------------------------- += operator (with expression) public: VIRTUAL_IN_DEBUG void plusAssign_operation (const GALGAS_numberList inOperand, - class C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- += operator (with list of field expressions) @@ -4805,81 +4750,81 @@ class GALGAS_numberList : public AC_GALGAS_list { COMMA_LOCATION_ARGS) ; //--------------------------------- + operator public: VIRTUAL_IN_DEBUG GALGAS_numberList add_operation (const GALGAS_numberList & inOperand, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Setters public: VIRTUAL_IN_DEBUG void setter_append (class GALGAS_location constinArgument0, class GALGAS_object_5F_t constinArgument1, - C_Compiler * inCompiler + 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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popFirst (class GALGAS_location & outArgument0, class GALGAS_object_5F_t & outArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_popLast (class GALGAS_location & outArgument0, class GALGAS_object_5F_t & outArgument1, - C_Compiler * inCompiler + 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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setLocationAtIndex (class GALGAS_location constinArgument0, class GALGAS_uint constinArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; public: VIRTUAL_IN_DEBUG void setter_setValueAtIndex (class GALGAS_object_5F_t constinArgument0, class GALGAS_uint constinArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Instance Methods public: VIRTUAL_IN_DEBUG void method_first (class GALGAS_location & outArgument0, class GALGAS_object_5F_t & outArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG void method_last (class GALGAS_location & outArgument0, class GALGAS_object_5F_t & outArgument1, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; //--------------------------------- Class Methods //--------------------------------- Getters public: VIRTUAL_IN_DEBUG class GALGAS_location getter_locationAtIndex (const class GALGAS_uint & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_numberList getter_subListFromIndex (const class GALGAS_uint & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_numberList getter_subListToIndex (const class GALGAS_uint & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_numberList getter_subListWithRange (const class GALGAS_range & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; public: VIRTUAL_IN_DEBUG class GALGAS_object_5F_t getter_valueAtIndex (const class GALGAS_uint & constinOperand0, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) const ; @@ -4893,9 +4838,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, @@ -4908,15 +4853,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 @@ -4935,14 +4880,14 @@ class GALGAS_object_5F_t : public AC_GALGAS_value_class { public: class GALGAS_location readProperty_location (void) const ; -//-- Start of generic part --* +//-- Start of type 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, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison @@ -4969,27 +4914,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, - C_Compiler * COMMA_LOCATION_ARGS) ; + Compiler * COMMA_LOCATION_ARGS) ; //--- Extension method verifyCrossReferences public: virtual void method_verifyCrossReferences (const class GALGAS_objectsMap allObjects, const class GALGAS_impType type, - C_Compiler * COMMA_LOCATION_ARGS) ; + Compiler * COMMA_LOCATION_ARGS) ; //--- Properties @@ -5007,7 +4952,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override = 0 ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override = 0 ; @@ -5016,11 +4961,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 @@ -5057,24 +5002,25 @@ 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 generic part --* +//-- Start of type 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, - C_Compiler * inCompiler + 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) ; +//--------------------------------- 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) ; //--------------------------------- Implementation of getter 'description' - public: VIRTUAL_IN_DEBUG void description (C_String & ioString, - const int32_t inIndentation) const override ; + public: VIRTUAL_IN_DEBUG void description (String & ioString, + const int32_t inIndentation) const override ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_numberList_2D_element & inOperand) const ; @@ -5093,15 +5039,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 @@ -5118,14 +5064,14 @@ class GALGAS_attributeRange : public AC_GALGAS_value_class { //--------------------------------- Property read access public: class GALGAS_location readProperty_location (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_attributeRange extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison @@ -5149,29 +5095,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, - C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; + Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension getter string - public: virtual class GALGAS_string getter_string (C_Compiler * COMMA_LOCATION_ARGS) const = 0 ; + public: virtual class GALGAS_string getter_string (Compiler * COMMA_LOCATION_ARGS) const = 0 ; //--- Extension method enclose public: virtual void method_enclose (class GALGAS_bool & isWithin, const class GALGAS_attributeRange value, - C_Compiler * COMMA_LOCATION_ARGS) = 0 ; + Compiler * COMMA_LOCATION_ARGS) = 0 ; //--- Properties @@ -5185,7 +5131,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override = 0 ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override = 0 ; @@ -5194,31 +5140,28 @@ 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 C_Compiler * inCompiler + class 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 ; @@ -5228,19 +5171,19 @@ class GALGAS_noRange : public GALGAS_attributeRange { public: GALGAS_noRange (const cPtr_noRange * inSourcePtr) ; //--------------------------------- Property read access -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_noRange extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//--------------------------------- GALGAS constructors - public: static class GALGAS_noRange constructor_new (const class GALGAS_location & inOperand0 - COMMA_LOCATION_ARGS) ; +//--------------------------------- GALGAS class functions + public: static class GALGAS_noRange class_func_new (const class GALGAS_location & inOperand0 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_noRange & inOperand) const ; @@ -5260,29 +5203,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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter string - public: virtual class GALGAS_string getter_string (C_Compiler * COMMA_LOCATION_ARGS) const override ; + 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, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -5296,7 +5239,7 @@ class cPtr_noRange : public cPtr_attributeRange { //--- Attribute accessors //--- Description - public: virtual void description (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -5305,19 +5248,16 @@ 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 ; @@ -5329,20 +5269,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 generic part --* +//-- Start of type 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, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_uint_33__32_AttributeSet & inOperand) const ; @@ -5365,29 +5305,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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter string - public: virtual class GALGAS_string getter_string (C_Compiler * COMMA_LOCATION_ARGS) const override ; + 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, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -5405,7 +5345,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -5414,19 +5354,16 @@ 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 ; @@ -5438,20 +5375,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 generic part --* +//-- Start of type 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, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_uint_36__34_AttributeSet & inOperand) const ; @@ -5474,29 +5411,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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter string - public: virtual class GALGAS_string getter_string (C_Compiler * COMMA_LOCATION_ARGS) const override ; + 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, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -5514,7 +5451,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -5523,19 +5460,16 @@ 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 ; @@ -5547,20 +5481,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 generic part --* +//-- Start of type 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, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_sint_33__32_AttributeSet & inOperand) const ; @@ -5583,29 +5517,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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter string - public: virtual class GALGAS_string getter_string (C_Compiler * COMMA_LOCATION_ARGS) const override ; + 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, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -5623,7 +5557,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -5632,19 +5566,16 @@ 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 ; @@ -5656,20 +5587,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 generic part --* +//-- Start of type 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, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_sint_36__34_AttributeSet & inOperand) const ; @@ -5692,29 +5623,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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter string - public: virtual class GALGAS_string getter_string (C_Compiler * COMMA_LOCATION_ARGS) const override ; + 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, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -5732,7 +5663,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -5741,19 +5672,16 @@ 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 ; @@ -5765,20 +5693,20 @@ class GALGAS_floatAttributeSet : public GALGAS_attributeRange { //--------------------------------- Property read access public: class GALGAS_floatList readProperty_valueList (void) const ; -//-- Start of generic part --* +//-- Start of type generic part //--------------------------------- Object cloning protected: virtual AC_GALGAS_root * clonedObject (void) const override ; //--------------------------------- Object extraction public: static GALGAS_floatAttributeSet extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- GALGAS class functions + public: static class GALGAS_floatAttributeSet class_func_new (const class GALGAS_location & inOperand0, + const class GALGAS_floatList & inOperand1 + COMMA_LOCATION_ARGS) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_floatAttributeSet & inOperand) const ; @@ -5801,29 +5729,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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter string - public: virtual class GALGAS_string getter_string (C_Compiler * COMMA_LOCATION_ARGS) const override ; + 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, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -5841,7 +5769,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 (C_String & ioString, + public: virtual void description (String & ioString, const int32_t inIndentation) const override ; public: virtual typeComparisonResult dynamicObjectCompare (const acPtr_class * inOperandPtr) const override ; @@ -5850,19 +5778,16 @@ 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 ; @@ -5876,21 +5801,21 @@ class GALGAS_uint_33__32_AttributeMinMax : public GALGAS_attributeRange { public: class GALGAS_uint readProperty_max (void) const ; -//-- Start of generic part --* +//-- Start of type 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, - C_Compiler * inCompiler + Compiler * inCompiler 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) ; +//--------------------------------- 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) ; //--------------------------------- Comparison public: typeComparisonResult objectCompare (const GALGAS_uint_33__32_AttributeMinMax & inOperand) const ; @@ -5916,29 +5841,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, - C_Compiler * COMMA_LOCATION_ARGS) const override ; + Compiler * COMMA_LOCATION_ARGS) const override ; //--- Extension getter string - public: virtual class GALGAS_string getter_string (C_Compiler * COMMA_LOCATION_ARGS) const override ; + 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, - C_Compiler * COMMA_LOCATION_ARGS) override ; + Compiler * COMMA_LOCATION_ARGS) override ; //--- Properties @@ -5960,7 +5885,355 @@ 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 (C_String & ioString, + 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, 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 125887a06..8aa243991 100644 --- a/goil/build/output/all-declarations-10.cpp +++ b/goil/build/output/all-declarations-10.cpp @@ -1,12159 +1,10787 @@ -#include "galgas2/C_Compiler.h" -#include "galgas2/C_galgas_io.h" -#include "galgas2/C_galgas_CLI_Options.h" -#include "utilities/C_PrologueEpilogue.h" +#include "Compiler.h" +#include "C_galgas_io.h" +#include "C_galgas_CLI_Options.h" +#include "PrologueEpilogue.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #include "all-declarations-10.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Overriding extension method '@gtlForeachStatementInstruction execute' +//Overriding extension method '@gtlTemplateInstruction display' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; - } +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)) ; } - ioArgument_vars = callExtensionGetter_overriddenMap ((const cPtr_gtlData *) var_localMap_20558.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 718)) ; -} -//---------------------------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@gtlForStatementInstruction execute' -// -//---------------------------------------------------------------------------------------------------------------------- - -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) { - 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)) ; + 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 () ; } - ioArgument_vars = callExtensionGetter_overriddenMap ((const cPtr_gtlData *) var_localMap_21717.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 751)) ; + 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 '@gtlLoopStatementInstruction execute' +//Overriding extension method '@gtlEmitInstruction display' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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 '@gtlRepeatStatementInstruction execute' +//Overriding extension method '@gtlIfStatementInstruction display' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) { - 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)) ; - } - } - } - ioArgument_vars = callExtensionGetter_overriddenMap ((const cPtr_gtlData *) var_localMap_24901.ptr (), inCompiler COMMA_SOURCE_FILE ("gtl_instructions.galgas", 855)) ; +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)) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Overriding extension method '@gtlErrorStatementInstruction execute' +//Overriding extension method '@gtlForStatementInstruction display' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) { - 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)) ; - } +void cPtr_gtlForStatementInstruction::method_display (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 '@gtlWarningStatementInstruction execute' +//Overriding extension method '@gtlForeachStatementInstruction display' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void cPtr_gtlWarningStatementInstruction::method_execute (GALGAS_gtlContext & ioArgument_context, - GALGAS_gtlData & ioArgument_vars, - GALGAS_library & ioArgument_lib, - GALGAS_string & /* ioArgument_outputString */, - C_Compiler * inCompiler +void cPtr_gtlForeachStatementInstruction::method_display (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 ; + 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) { - 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)) ; + 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 '@gtlPrintStatementInstruction execute' +//Overriding extension method '@gtlGetColumnInstruction display' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; - } - } +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)) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Overriding extension method '@gtlDisplayStatementInstruction execute' +//Overriding extension method '@gtlLibrariesInstruction display' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +void cPtr_gtlLibrariesInstruction::method_display (Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + inCompiler->printMessage (GALGAS_string ("libraries") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1395)) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Overriding extension method '@gtlAbstractSortInstruction execute' +//Overriding extension method '@gtlRepeatStatementInstruction display' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) { - 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)) ; +void cPtr_gtlRepeatStatementInstruction::method_display (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)) ; + } + } } } - 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)) ; + 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)) ; } } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Overriding extension getter '@gtlSortStatementStructInstruction compare' +//Overriding extension method '@gtlSetterCallInstruction display' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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_result ; +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 () ; + 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' +// +//-------------------------------------------------------------------------------------------------- - -//---------------------------------------------------------------------------------------------------------------------- +void cPtr_gtlVariablesInstruction::method_display (Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + inCompiler->printMessage (GALGAS_string ("variables") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1431)) ; +} +//-------------------------------------------------------------------------------------------------- // -//Overriding extension getter '@gtlSortStatementInstruction compare' +//Overriding extension method '@gtlWriteToInstruction display' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; - } - } - 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)) ; - } +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 () ; } -//--- - return result_result ; + 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 execute' +//Overriding extension method '@gtlTabStatementInstruction display' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void cPtr_gtlTabStatementInstruction::method_execute (GALGAS_gtlContext & ioArgument_context, - GALGAS_gtlData & ioArgument_vars, - GALGAS_library & ioArgument_lib, - GALGAS_string & ioArgument_outputString, - C_Compiler * inCompiler +void cPtr_gtlTabStatementInstruction::method_display (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)) ; - } - } - } - } - } - } - 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)) ; - } + 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 method '@gtlVariablesInstruction execute' +//Overriding extension getter '@gtlDisplayStatementInstruction mayExecuteWithoutError' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; - } +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)) ; +//--- + return result_may ; } -//---------------------------------------------------------------------------------------------------------------------- + + +//-------------------------------------------------------------------------------------------------- // -//Overriding extension method '@gtlLibrariesInstruction execute' +//Overriding extension method '@gtlStepInstruction execute' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 (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) { - var_lineSize_36520 = GALGAS_uint (uint32_t (0U)) ; - inCompiler->printMessage (GALGAS_string ("\n") COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1229)) ; - } - } - 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)) ; - } - 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)) ; +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)) ; } - inCompiler->printMessage (var_delimitor_36074 COMMA_SOURCE_FILE ("gtl_instructions.galgas", 1290)) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Overriding extension method '@gtlSetterCallInstruction execute' +//Overriding extension method '@gtlStepInstruction display' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) { - 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)) ; +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) { { - 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)) ; + 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)) ; } - 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 '@gtlInputStatementInstruction execute' +//Overriding extension method '@gtlDoInstInstruction display' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void cPtr_gtlInputStatementInstruction::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) { - 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 () ; - } +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)) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Function 'trueFalse' +//Overriding extension method '@gtlDoNotInstruction execute' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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") ; +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)) ; } -//--- - return result_result ; } +//-------------------------------------------------------------------------------------------------- +// +//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' +// +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- -// 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) ; +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)) ; + } } +//-------------------------------------------------------------------------------------------------- +// +//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' +// +//-------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_trueFalse ("trueFalse", - functionWithGenericHeader_trueFalse, - & kTypeDescriptor_GALGAS_string, - 1, - functionArgs_trueFalse) ; +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)) ; +} +//-------------------------------------------------------------------------------------------------- // -//Function 'TrueFalse' +//Overriding extension method '@gtlContinueInstruction execute' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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") ; - } +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)) ; } - if (kBoolFalse == test_0) { - result_result = GALGAS_string ("False") ; + { + 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)) ; } -//--- - return result_result ; } +//-------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@gtlContinueInstruction display' +// +//-------------------------------------------------------------------------------------------------- - -//---------------------------------------------------------------------------------------------------------------------- -// 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) ; +void cPtr_gtlContinueInstruction::method_display (Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + inCompiler->printMessage (GALGAS_string ("cont") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1596)) ; } - -//---------------------------------------------------------------------------------------------------------------------- - -C_galgas_function_descriptor functionDescriptor_TrueFalse ("TrueFalse", - functionWithGenericHeader_TrueFalse, - & kTypeDescriptor_GALGAS_string, - 1, - functionArgs_TrueFalse) ; - -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Function 'yesNo' +//Overriding extension method '@gtlBreakpointInstruction execute' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_string function_yesNo (const GALGAS_bool & constinArgument_inBool, - C_Compiler * - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_string result_result ; // Returned variable +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 = constinArgument_inBool.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_result = GALGAS_string ("YES") ; - } - } + 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) { + 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_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)) ; + } + } + } + } if (kBoolFalse == test_0) { - result_result = GALGAS_string ("NO") ; + inCompiler->printMessage (GALGAS_string ("Unable to set a breakpoint in an empty file\n") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1629)) ; } -//--- - return result_result ; } +//-------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@gtlBreakpointInstruction display' +// +//-------------------------------------------------------------------------------------------------- - -//---------------------------------------------------------------------------------------------------------------------- -// Function introspection -//---------------------------------------------------------------------------------------------------------------------- - -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) ; +void cPtr_gtlBreakpointInstruction::method_display (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)) ; } - -//---------------------------------------------------------------------------------------------------------------------- - -C_galgas_function_descriptor functionDescriptor_yesNo ("yesNo", - functionWithGenericHeader_yesNo, - & kTypeDescriptor_GALGAS_string, - 1, - functionArgs_yesNo) ; - -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Function 'TRUEFALSE' +//Overriding extension method '@gtlBreakpointListInstruction execute' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; +void cPtr_gtlBreakpointListInstruction::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' +// +//-------------------------------------------------------------------------------------------------- - -//---------------------------------------------------------------------------------------------------------------------- -// 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) ; +void cPtr_gtlBreakpointListInstruction::method_display (Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + inCompiler->printMessage (GALGAS_string ("break") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1656)) ; } - -//---------------------------------------------------------------------------------------------------------------------- - -C_galgas_function_descriptor functionDescriptor_TRUEFALSE ("TRUEFALSE", - functionWithGenericHeader_TRUEFALSE, - & kTypeDescriptor_GALGAS_string, - 1, - functionArgs_TRUEFALSE) ; - -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Function 'listOfSize' +//Overriding extension method '@gtlBreakpointDeleteInstruction execute' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; - } - } +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)) ; } -//--- - return result_result ; } +//-------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@gtlBreakpointDeleteInstruction display' +// +//-------------------------------------------------------------------------------------------------- - -//---------------------------------------------------------------------------------------------------------------------- -// Function introspection -//---------------------------------------------------------------------------------------------------------------------- - -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) ; +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)) ; } - -//---------------------------------------------------------------------------------------------------------------------- - -C_galgas_function_descriptor functionDescriptor_listOfSize ("listOfSize", - functionWithGenericHeader_listOfSize, - & kTypeDescriptor_GALGAS_list, - 1, - functionArgs_listOfSize) ; - -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Function 'version' +//Overriding extension method '@gtlBreakpointDeleteAllInstruction execute' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; +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)) ; + } } +//-------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@gtlBreakpointDeleteAllInstruction display' +// +//-------------------------------------------------------------------------------------------------- - -//---------------------------------------------------------------------------------------------------------------------- -// 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) ; +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)) ; } - -//---------------------------------------------------------------------------------------------------------------------- - -C_galgas_function_descriptor functionDescriptor_version ("version", - functionWithGenericHeader_version, - & kTypeDescriptor_GALGAS_string, - 0, - functionArgs_version) ; - -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Function 'majorVersion' +//Overriding extension method '@gtlWatchpointInstruction execute' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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)) ; } -//--- - return result_result ; } +//-------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@gtlWatchpointInstruction display' +// +//-------------------------------------------------------------------------------------------------- - -//---------------------------------------------------------------------------------------------------------------------- -// Function introspection -//---------------------------------------------------------------------------------------------------------------------- - -static const C_galgas_type_descriptor * functionArgs_majorVersion [1] = { - nullptr -} ; - -//---------------------------------------------------------------------------------------------------------------------- - -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) ; +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' +// +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- - -C_galgas_function_descriptor functionDescriptor_majorVersion ("majorVersion", - functionWithGenericHeader_majorVersion, - & kTypeDescriptor_GALGAS_bigint, - 0, - functionArgs_majorVersion) ; +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' +// +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- +void cPtr_gtlWatchpointListInstruction::method_display (Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + inCompiler->printMessage (GALGAS_string ("watch") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1742)) ; +} +//-------------------------------------------------------------------------------------------------- // -//Function 'minorVersion' +//Overriding extension method '@gtlWatchpointDeleteInstruction execute' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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)) ; } -//--- - return result_result ; } +//-------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@gtlWatchpointDeleteInstruction display' +// +//-------------------------------------------------------------------------------------------------- - -//---------------------------------------------------------------------------------------------------------------------- -// Function introspection -//---------------------------------------------------------------------------------------------------------------------- - -static const C_galgas_type_descriptor * functionArgs_minorVersion [1] = { - nullptr -} ; - -//---------------------------------------------------------------------------------------------------------------------- - -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) ; +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)) ; } - -//---------------------------------------------------------------------------------------------------------------------- - -C_galgas_function_descriptor functionDescriptor_minorVersion ("minorVersion", - functionWithGenericHeader_minorVersion, - & kTypeDescriptor_GALGAS_bigint, - 0, - functionArgs_minorVersion) ; - -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Function 'revision' +//Overriding extension method '@gtlWatchpointDeleteAllInstruction execute' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_bigint function_revision (C_Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - 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 = 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) { - 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)) ; +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)) ; } -//--- - 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' +// +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- -// Function introspection -//---------------------------------------------------------------------------------------------------------------------- - -static const C_galgas_type_descriptor * functionArgs_revision [1] = { - nullptr -} ; - -//---------------------------------------------------------------------------------------------------------------------- +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' +// +//-------------------------------------------------------------------------------------------------- -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) ; +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)) ; } +//-------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@gtlHistoryInstruction execute' +// +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- +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)) ; +} +//-------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@gtlHistoryInstruction display' +// +//-------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_revision ("revision", - functionWithGenericHeader_revision, - & kTypeDescriptor_GALGAS_bigint, - 0, - functionArgs_revision) ; +void cPtr_gtlHistoryInstruction::method_display (Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + inCompiler->printMessage (GALGAS_string ("hist") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1828)) ; +} +//-------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@gtlLoadInstruction execute' +// +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- +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)) ; +} +//-------------------------------------------------------------------------------------------------- // -//Function 'currentDir' +//Overriding extension method '@gtlLoadInstruction display' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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_result ; +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)) ; } +//-------------------------------------------------------------------------------------------------- +// +//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' +// +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- -// Function introspection -//---------------------------------------------------------------------------------------------------------------------- +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 +// +//-------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_currentDir [1] = { - nullptr -} ; +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_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") ; -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_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_generate_5F_log ("goil_options", + "generate_log", + 108, + "logfile", + "generate a goil.log file containing the a log of the compilation") ; -C_galgas_function_descriptor functionDescriptor_currentDir ("currentDir", - functionWithGenericHeader_currentDir, - & kTypeDescriptor_GALGAS_string, - 0, - functionArgs_currentDir) ; +//-------------------------------------------------------------------------------------------------- +// +// UInt options +// +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Function 'homeDir' +// String options // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; -} +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)", + "") ; -//---------------------------------------------------------------------------------------------------------------------- -// Function introspection -//---------------------------------------------------------------------------------------------------------------------- +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.", + "") ; -static const C_galgas_type_descriptor * functionArgs_homeDir [1] = { - nullptr -} ; +C_StringCommandLineOption gOption_goil_5F_options_template_5F_dir ("goil_options", + "template_dir", + 0, + "templates", + "Specifies template directory (used by goil for code generation)", + "") ; -//---------------------------------------------------------------------------------------------------------------------- +C_StringCommandLineOption gOption_goil_5F_options_config ("goil_options", + "config", + 99, + "config", + "Specifies the OIL config file used by goil", + "config") ; -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_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 +// +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_homeDir ("homeDir", - functionWithGenericHeader_homeDir, - & kTypeDescriptor_GALGAS_string, - 0, - functionArgs_homeDir) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Function 'currentDateTime' +//Function 'checkEnums' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +GALGAS_bool function_checkEnums (const GALGAS_impEnumType & constinArgument_previousEnum, + const GALGAS_impEnumType & constinArgument_newEnum, + 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) { + 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 () ; + } + } + } //--- - return result_result ; + return result_inside ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Function introspection -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_currentDateTime [1] = { +static const C_galgas_type_descriptor * functionArgs_checkEnums [3] = { + & kTypeDescriptor_GALGAS_impEnumType, + & kTypeDescriptor_GALGAS_impEnumType, nullptr } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +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) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_currentDateTime ("currentDateTime", - functionWithGenericHeader_currentDateTime, - & kTypeDescriptor_GALGAS_string, - 0, - functionArgs_currentDateTime) ; +C_galgas_function_descriptor functionDescriptor_checkEnums ("checkEnums", + functionWithGenericHeader_checkEnums, + & kTypeDescriptor_GALGAS_bool, + 2, + functionArgs_checkEnums) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Function 'max8bitsUnsignedInt' +//Function 'checkRanged' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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 () ; + } + } + } //--- - return result_result ; + return result_inside ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Function introspection -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_max_38_bitsUnsignedInt [1] = { +static const C_galgas_type_descriptor * functionArgs_checkRanged [3] = { + & kTypeDescriptor_GALGAS_impRangedType, + & kTypeDescriptor_GALGAS_impRangedType, nullptr } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +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) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_max_38_bitsUnsignedInt ("max8bitsUnsignedInt", - functionWithGenericHeader_max_38_bitsUnsignedInt, - & kTypeDescriptor_GALGAS_bigint, - 0, - functionArgs_max_38_bitsUnsignedInt) ; +C_galgas_function_descriptor functionDescriptor_checkRanged ("checkRanged", + functionWithGenericHeader_checkRanged, + & kTypeDescriptor_GALGAS_bool, + 2, + functionArgs_checkRanged) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Function 'max8bitsSignedInt' +//Function 'checkNewTypeWithinPreviousType' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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) ; + } + } + } //--- return result_result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Function introspection -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_max_38_bitsSignedInt [1] = { +static const C_galgas_type_descriptor * functionArgs_checkNewTypeWithinPreviousType [4] = { + & kTypeDescriptor_GALGAS_lstring, + & kTypeDescriptor_GALGAS_impType, + & kTypeDescriptor_GALGAS_impType, nullptr } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +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) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_max_38_bitsSignedInt ("max8bitsSignedInt", - functionWithGenericHeader_max_38_bitsSignedInt, - & kTypeDescriptor_GALGAS_bigint, - 0, - functionArgs_max_38_bitsSignedInt) ; +C_galgas_function_descriptor functionDescriptor_checkNewTypeWithinPreviousType ("checkNewTypeWithinPreviousType", + functionWithGenericHeader_checkNewTypeWithinPreviousType, + & kTypeDescriptor_GALGAS_bool, + 3, + functionArgs_checkNewTypeWithinPreviousType) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Function 'min8bitsSignedInt' +//Function 'buildRange' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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 + } + } + } + } + } //--- - return result_result ; + return result_range ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Function introspection -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_min_38_bitsSignedInt [1] = { +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_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) ; +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) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_min_38_bitsSignedInt ("min8bitsSignedInt", - functionWithGenericHeader_min_38_bitsSignedInt, - & kTypeDescriptor_GALGAS_bigint, - 0, - functionArgs_min_38_bitsSignedInt) ; +C_galgas_function_descriptor functionDescriptor_buildRange ("buildRange", + functionWithGenericHeader_buildRange, + & kTypeDescriptor_GALGAS_attributeRange, + 3, + functionArgs_buildRange) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Function 'max16bitsUnsignedInt' +//Function 'stringWithUInt32List' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_bigint function_max_31__36_bitsUnsignedInt (C_Compiler * inCompiler +GALGAS_string function_stringWithUInt_33__32_List (const GALGAS_uint_33__32_List & constinArgument_values, + Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_bigint result_result ; // Returned variable - result_result = GALGAS_bigint ("65535", inCompiler COMMA_SOURCE_FILE ("gtl_functions.galgas", 198)) ; + 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 ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Function introspection -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_max_31__36_bitsUnsignedInt [1] = { +static const C_galgas_type_descriptor * functionArgs_stringWithUInt_33__32_List [2] = { + & kTypeDescriptor_GALGAS_uint_33__32_List, nullptr } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static GALGAS_object functionWithGenericHeader_max_31__36_bitsUnsignedInt (C_Compiler * inCompiler, - const cObjectArray & /* inEffectiveParameterArray */, +static GALGAS_object functionWithGenericHeader_stringWithUInt_33__32_List (Compiler * inCompiler, + const cObjectArray & inEffectiveParameterArray, const GALGAS_location & /* inErrorLocation */ COMMA_LOCATION_ARGS) { - return function_max_31__36_bitsUnsignedInt (inCompiler COMMA_THERE).getter_object (THERE) ; + 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_max_31__36_bitsUnsignedInt ("max16bitsUnsignedInt", - functionWithGenericHeader_max_31__36_bitsUnsignedInt, - & kTypeDescriptor_GALGAS_bigint, - 0, - functionArgs_max_31__36_bitsUnsignedInt) ; +C_galgas_function_descriptor functionDescriptor_stringWithUInt_33__32_List ("stringWithUInt32List", + functionWithGenericHeader_stringWithUInt_33__32_List, + & kTypeDescriptor_GALGAS_string, + 1, + functionArgs_stringWithUInt_33__32_List) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Function 'max16bitsSignedInt' +//Function 'stringWithUInt64List' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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 () ; + } //--- return result_result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Function introspection -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_max_31__36_bitsSignedInt [1] = { +static const C_galgas_type_descriptor * functionArgs_stringWithUInt_36__34_List [2] = { + & kTypeDescriptor_GALGAS_uint_36__34_List, nullptr } ; -//---------------------------------------------------------------------------------------------------------------------- - -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_max_31__36_bitsSignedInt ("max16bitsSignedInt", - functionWithGenericHeader_max_31__36_bitsSignedInt, - & kTypeDescriptor_GALGAS_bigint, - 0, - functionArgs_max_31__36_bitsSignedInt) ; +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- -// -//Function 'min16bitsSignedInt' -// -//---------------------------------------------------------------------------------------------------------------------- - -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)) ; +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) ; +} + +//-------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_stringWithUInt_36__34_List ("stringWithUInt64List", + functionWithGenericHeader_stringWithUInt_36__34_List, + & kTypeDescriptor_GALGAS_string, + 1, + functionArgs_stringWithUInt_36__34_List) ; + +//-------------------------------------------------------------------------------------------------- +// +//Function 'stringWithSInt32List' +// +//-------------------------------------------------------------------------------------------------- + +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 () ; + } //--- return result_result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Function introspection -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_min_31__36_bitsSignedInt [1] = { +static const C_galgas_type_descriptor * functionArgs_stringWithSInt_33__32_List [2] = { + & kTypeDescriptor_GALGAS_sint_33__32_List, nullptr } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +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) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_min_31__36_bitsSignedInt ("min16bitsSignedInt", - functionWithGenericHeader_min_31__36_bitsSignedInt, - & kTypeDescriptor_GALGAS_bigint, - 0, - functionArgs_min_31__36_bitsSignedInt) ; +C_galgas_function_descriptor functionDescriptor_stringWithSInt_33__32_List ("stringWithSInt32List", + functionWithGenericHeader_stringWithSInt_33__32_List, + & kTypeDescriptor_GALGAS_string, + 1, + functionArgs_stringWithSInt_33__32_List) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Function 'max32bitsUnsignedInt' +//Function 'stringWithSInt64List' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_bigint function_max_33__32_bitsUnsignedInt (C_Compiler * +GALGAS_string function_stringWithSInt_36__34_List (const GALGAS_sint_36__34_List & constinArgument_values, + Compiler * inCompiler 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)) ; + 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 () ; + } //--- return result_result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Function introspection -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_max_33__32_bitsUnsignedInt [1] = { +static const C_galgas_type_descriptor * functionArgs_stringWithSInt_36__34_List [2] = { + & kTypeDescriptor_GALGAS_sint_36__34_List, nullptr } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static GALGAS_object functionWithGenericHeader_max_33__32_bitsUnsignedInt (C_Compiler * inCompiler, - const cObjectArray & /* inEffectiveParameterArray */, +static GALGAS_object functionWithGenericHeader_stringWithSInt_36__34_List (Compiler * inCompiler, + const cObjectArray & inEffectiveParameterArray, const GALGAS_location & /* inErrorLocation */ COMMA_LOCATION_ARGS) { - return function_max_33__32_bitsUnsignedInt (inCompiler COMMA_THERE).getter_object (THERE) ; + 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_max_33__32_bitsUnsignedInt ("max32bitsUnsignedInt", - functionWithGenericHeader_max_33__32_bitsUnsignedInt, - & kTypeDescriptor_GALGAS_bigint, - 0, - functionArgs_max_33__32_bitsUnsignedInt) ; +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 'max32bitsSignedInt' +//Function 'stringWithFloatList' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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 () ; + } //--- return result_result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Function introspection -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_max_33__32_bitsSignedInt [1] = { +static const C_galgas_type_descriptor * functionArgs_stringWithFloatList [2] = { + & kTypeDescriptor_GALGAS_floatList, nullptr } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +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) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_max_33__32_bitsSignedInt ("max32bitsSignedInt", - functionWithGenericHeader_max_33__32_bitsSignedInt, - & kTypeDescriptor_GALGAS_bigint, - 0, - functionArgs_max_33__32_bitsSignedInt) ; +C_galgas_function_descriptor functionDescriptor_stringWithFloatList ("stringWithFloatList", + functionWithGenericHeader_stringWithFloatList, + & kTypeDescriptor_GALGAS_string, + 1, + functionArgs_stringWithFloatList) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Function 'min32bitsSignedInt' +//Function 'uint32ListWithNumberList' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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 () ; + } //--- return result_result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Function introspection -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_min_33__32_bitsSignedInt [1] = { +static const C_galgas_type_descriptor * functionArgs_uint_33__32_ListWithNumberList [2] = { + & kTypeDescriptor_GALGAS_numberList, nullptr } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +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) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_min_33__32_bitsSignedInt ("min32bitsSignedInt", - functionWithGenericHeader_min_33__32_bitsSignedInt, - & kTypeDescriptor_GALGAS_bigint, - 0, - functionArgs_min_33__32_bitsSignedInt) ; +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 'max64bitsUnsignedInt' +//Function 'sint32ListWithNumberList' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_bigint function_max_36__34_bitsUnsignedInt (C_Compiler * - COMMA_UNUSED_LOCATION_ARGS) { - 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)) ; +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 () ; + } //--- return result_result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Function introspection -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_max_36__34_bitsUnsignedInt [1] = { +static const C_galgas_type_descriptor * functionArgs_sint_33__32_ListWithNumberList [2] = { + & kTypeDescriptor_GALGAS_numberList, nullptr } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +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) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_max_36__34_bitsUnsignedInt ("max64bitsUnsignedInt", - functionWithGenericHeader_max_36__34_bitsUnsignedInt, - & kTypeDescriptor_GALGAS_bigint, - 0, - functionArgs_max_36__34_bitsUnsignedInt) ; +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 'max64bitsSignedInt' +//Function 'uint64ListWithNumberList' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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 () ; + } //--- return result_result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Function introspection -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_max_36__34_bitsSignedInt [1] = { +static const C_galgas_type_descriptor * functionArgs_uint_36__34_ListWithNumberList [2] = { + & kTypeDescriptor_GALGAS_numberList, 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) ; +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) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_max_36__34_bitsSignedInt ("max64bitsSignedInt", - functionWithGenericHeader_max_36__34_bitsSignedInt, - & kTypeDescriptor_GALGAS_bigint, - 0, - functionArgs_max_36__34_bitsSignedInt) ; +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 'min64bitsSignedInt' +//Function 'sint64ListWithNumberList' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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 () ; + } //--- return result_result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Function introspection -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_min_36__34_bitsSignedInt [1] = { +static const C_galgas_type_descriptor * functionArgs_sint_36__34_ListWithNumberList [2] = { + & kTypeDescriptor_GALGAS_numberList, 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) ; +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) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_min_36__34_bitsSignedInt ("min64bitsSignedInt", - functionWithGenericHeader_min_36__34_bitsSignedInt, - & kTypeDescriptor_GALGAS_bigint, - 0, - functionArgs_min_36__34_bitsSignedInt) ; +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 'pi' +//Function 'floatListWithNumberList' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +GALGAS_floatList function_floatListWithNumberList (const GALGAS_numberList & constinArgument_numbers, + Compiler * inCompiler + 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 () ; + } //--- return result_result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Function introspection -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_pi [1] = { +static const C_galgas_type_descriptor * functionArgs_floatListWithNumberList [2] = { + & kTypeDescriptor_GALGAS_numberList, 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) ; +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) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_pi ("pi", - functionWithGenericHeader_pi, - & kTypeDescriptor_GALGAS_double, - 0, - functionArgs_pi) ; +C_galgas_function_descriptor functionDescriptor_floatListWithNumberList ("floatListWithNumberList", + functionWithGenericHeader_floatListWithNumberList, + & kTypeDescriptor_GALGAS_floatList, + 1, + functionArgs_floatListWithNumberList) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -// Bool options +//Overriding extension method '@noRange enclose' // -//---------------------------------------------------------------------------------------------------------------------- - -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") ; - -//---------------------------------------------------------------------------------------------------------------------- -// -// UInt options -// -//---------------------------------------------------------------------------------------------------------------------- - -//---------------------------------------------------------------------------------------------------------------------- +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) ; +} +//-------------------------------------------------------------------------------------------------- // -// String options +//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) ; + } + } +} +//-------------------------------------------------------------------------------------------------- // -// String List options +//Overriding extension method '@uint64AttributeSet enclose' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- - - -//---------------------------------------------------------------------------------------------------------------------- +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) ; + } + } +} +//-------------------------------------------------------------------------------------------------- // -//Function 'signature' +//Overriding extension method '@sint32AttributeSet enclose' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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) ; } } - if (kBoolFalse == test_0) { - result_result = GALGAS_string::makeEmptyString () ; - } -//--- - return result_result ; -} - - -//---------------------------------------------------------------------------------------------------------------------- -// 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) ; - -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Once function 'bold' +//Overriding extension method '@sint64AttributeSet enclose' // -//---------------------------------------------------------------------------------------------------------------------- - -static GALGAS_string onceFunction_bold (C_Compiler * - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_string result_bold ; // Returned variable - result_bold = GALGAS_string ("") ; -//--- - return result_bold ; -} - - - -//---------------------------------------------------------------------------------------------------------------------- -// 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 ; +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) ; + } } - return gOnceFunctionResult_bold ; -} - -//---------------------------------------------------------------------------------------------------------------------- - -static void releaseOnceFunctionResult_bold (void) { - gOnceFunctionResult_bold.drop () ; -} - -//---------------------------------------------------------------------------------------------------------------------- - -C_PrologueEpilogue gEpilogueForOnceFunction_bold (nullptr, - releaseOnceFunctionResult_bold) ; - -//---------------------------------------------------------------------------------------------------------------------- -// Function introspection -//---------------------------------------------------------------------------------------------------------------------- - -static const C_galgas_type_descriptor * functionArgs_bold [1] = { - nullptr -} ; - -//---------------------------------------------------------------------------------------------------------------------- - -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_bold ("bold", - functionWithGenericHeader_bold, - & kTypeDescriptor_GALGAS_string, - 0, - functionArgs_bold) ; - -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Once function 'underline' +//Overriding extension method '@floatAttributeSet enclose' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static GALGAS_string onceFunction_underline (C_Compiler * +void cPtr_floatAttributeSet::method_enclose (GALGAS_bool & outArgument_isWithin, + const GALGAS_attributeRange constinArgument_value, + Compiler * inCompiler COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_string result_underline ; // Returned variable - result_underline = GALGAS_string ("") ; -//--- - return result_underline ; -} - - - -//---------------------------------------------------------------------------------------------------------------------- -// Function implementation -//---------------------------------------------------------------------------------------------------------------------- - -static bool gOnceFunctionResultAvailable_underline = false ; -static GALGAS_string gOnceFunctionResult_underline ; - -//---------------------------------------------------------------------------------------------------------------------- - -GALGAS_string function_underline (class C_Compiler * inCompiler - COMMA_LOCATION_ARGS) { - if (! gOnceFunctionResultAvailable_underline) { - gOnceFunctionResult_underline = onceFunction_underline (inCompiler COMMA_THERE) ; - gOnceFunctionResultAvailable_underline = true ; + 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) ; + } } - return gOnceFunctionResult_underline ; -} - -//---------------------------------------------------------------------------------------------------------------------- - -static void releaseOnceFunctionResult_underline (void) { - gOnceFunctionResult_underline.drop () ; } +//-------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@uint32AttributeMinMax enclose' +// +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- - -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) ; +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)) ; + } + } } - -//---------------------------------------------------------------------------------------------------------------------- - -C_galgas_function_descriptor functionDescriptor_underline ("underline", - functionWithGenericHeader_underline, - & kTypeDescriptor_GALGAS_string, - 0, - functionArgs_underline) ; - -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Once function 'blink' +//Overriding extension method '@uint64AttributeMinMax enclose' // -//---------------------------------------------------------------------------------------------------------------------- - -static GALGAS_string onceFunction_blink (C_Compiler * - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_string result_blink ; // Returned variable - result_blink = GALGAS_string ("") ; -//--- - return result_blink ; -} - - - -//---------------------------------------------------------------------------------------------------------------------- -// 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 ; +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)) ; + } } - 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) ; } - -//---------------------------------------------------------------------------------------------------------------------- - -C_galgas_function_descriptor functionDescriptor_blink ("blink", - functionWithGenericHeader_blink, - & kTypeDescriptor_GALGAS_string, - 0, - functionArgs_blink) ; - -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Once function 'black' +//Overriding extension method '@sint32AttributeMinMax enclose' // -//---------------------------------------------------------------------------------------------------------------------- - -static GALGAS_string onceFunction_black (C_Compiler * - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_string result_black ; // Returned variable - result_black = GALGAS_string ("") ; -//--- - 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 ; +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)) ; + } } - 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) ; - -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Once function 'red' +//Overriding extension method '@sint64AttributeMinMax enclose' // -//---------------------------------------------------------------------------------------------------------------------- - -static GALGAS_string onceFunction_red (C_Compiler * - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_string result_red ; // Returned variable - result_red = GALGAS_string ("") ; -//--- - return result_red ; -} - - - -//---------------------------------------------------------------------------------------------------------------------- -// 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 ; +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)) ; + } } - 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) ; - -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Once function 'green' +//Overriding extension method '@floatAttributeMinMax enclose' // -//---------------------------------------------------------------------------------------------------------------------- - -static GALGAS_string onceFunction_green (C_Compiler * - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_string result_green ; // Returned variable - result_green = GALGAS_string ("") ; -//--- - return result_green ; -} - - - -//---------------------------------------------------------------------------------------------------------------------- -// 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 ; +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)) ; + } } - return gOnceFunctionResult_green ; } +//-------------------------------------------------------------------------------------------------- +// +//Function 'attributeRangeWithNumberList' +// +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- - -static void releaseOnceFunctionResult_green (void) { - gOnceFunctionResult_green.drop () ; +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 ; } -//---------------------------------------------------------------------------------------------------------------------- - -C_PrologueEpilogue gEpilogueForOnceFunction_green (nullptr, - releaseOnceFunctionResult_green) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Function introspection -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_green [1] = { +static const C_galgas_type_descriptor * functionArgs_attributeRangeWithNumberList [3] = { + & kTypeDescriptor_GALGAS_numberList, + & kTypeDescriptor_GALGAS_dataType, nullptr } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +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) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_green ("green", - functionWithGenericHeader_green, - & kTypeDescriptor_GALGAS_string, - 0, - functionArgs_green) ; +C_galgas_function_descriptor functionDescriptor_attributeRangeWithNumberList ("attributeRangeWithNumberList", + functionWithGenericHeader_attributeRangeWithNumberList, + & kTypeDescriptor_GALGAS_attributeRange, + 2, + functionArgs_attributeRangeWithNumberList) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Once function 'yellow' +//Overriding extension getter '@impStructType mergeWithType' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static GALGAS_string onceFunction_yellow (C_Compiler * - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_string result_yellow ; // Returned variable - result_yellow = GALGAS_string ("") ; +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)) ; //--- - return result_yellow ; + return result_mergedType ; } +//-------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@impVoid mergeWithType' +// +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- -// Function implementation -//---------------------------------------------------------------------------------------------------------------------- +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 ; +} -static bool gOnceFunctionResultAvailable_yellow = false ; -static GALGAS_string gOnceFunctionResult_yellow ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@impAutoDefaultType getDefaultValue' +// +//-------------------------------------------------------------------------------------------------- -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 ; +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 ; } -//---------------------------------------------------------------------------------------------------------------------- -static void releaseOnceFunctionResult_yellow (void) { - gOnceFunctionResult_yellow.drop () ; -} +//-------------------------------------------------------------------------------------------------- +// +//Overriding extension setter '@impAutoDefaultType setDefValue' +// +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- +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 ; +} +//-------------------------------------------------------------------------------------------------- -C_PrologueEpilogue gEpilogueForOnceFunction_yellow (nullptr, - releaseOnceFunctionResult_yellow) ; +static void defineExtensionSetter_impAutoDefaultType_setDefValue (void) { + enterExtensionSetter_setDefValue (kTypeDescriptor_GALGAS_impAutoDefaultType.mSlotID, + extensionSetter_impAutoDefaultType_setDefValue) ; +} -//---------------------------------------------------------------------------------------------------------------------- -// Function introspection -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_yellow [1] = { - nullptr -} ; +PrologueEpilogue gSetter_impAutoDefaultType_setDefValue (defineExtensionSetter_impAutoDefaultType_setDefValue, nullptr) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@impAutoDefaultType mergeWithType' +// +//-------------------------------------------------------------------------------------------------- -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) ; +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 ; +//--- + return result_mergedType ; } -//---------------------------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_yellow ("yellow", - functionWithGenericHeader_yellow, - & kTypeDescriptor_GALGAS_string, - 0, - functionArgs_yellow) ; - -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Once function 'blue' +//Overriding extension getter '@impAutoDefaultType autoAllowed' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static GALGAS_string onceFunction_blue (C_Compiler * - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_string result_blue ; // Returned variable - result_blue = GALGAS_string ("") ; +GALGAS_bool cPtr_impAutoDefaultType::getter_autoAllowed (Compiler */* inCompiler */ + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_bool result_result ; // Returned variable + result_result = this->mProperty_withAuto ; //--- - return result_blue ; + return result_result ; } +//-------------------------------------------------------------------------------------------------- +// +//Routine 'multiError??' +// +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- -// Function implementation -//---------------------------------------------------------------------------------------------------------------------- +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 () ; + } +} -static bool gOnceFunctionResultAvailable_blue = false ; -static GALGAS_string gOnceFunctionResult_blue ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@refType mergeWithType' +// +//-------------------------------------------------------------------------------------------------- -GALGAS_string function_blue (class C_Compiler * inCompiler - COMMA_LOCATION_ARGS) { - if (! gOnceFunctionResultAvailable_blue) { - gOnceFunctionResult_blue = onceFunction_blue (inCompiler COMMA_THERE) ; - gOnceFunctionResultAvailable_blue = true ; +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)) ; + } + } } - return gOnceFunctionResult_blue ; + 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)) ; +//--- + return result_mergedType ; } -//---------------------------------------------------------------------------------------------------------------------- -static void releaseOnceFunctionResult_blue (void) { - gOnceFunctionResult_blue.drop () ; -} +//-------------------------------------------------------------------------------------------------- +// +//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 () ; + } +//--- + return result_result ; +} -C_PrologueEpilogue gEpilogueForOnceFunction_blue (nullptr, - releaseOnceFunctionResult_blue) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Function introspection -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_blue [1] = { +static const C_galgas_type_descriptor * functionArgs_valueList [2] = { + & kTypeDescriptor_GALGAS_enumValues, 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) ; +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) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_blue ("blue", - functionWithGenericHeader_blue, - & kTypeDescriptor_GALGAS_string, - 0, - functionArgs_blue) ; +C_galgas_function_descriptor functionDescriptor_valueList ("valueList", + functionWithGenericHeader_valueList, + & kTypeDescriptor_GALGAS_string, + 1, + functionArgs_valueList) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Once function 'magenta' +//Overriding extension getter '@impRangedType mergeWithType' // -//---------------------------------------------------------------------------------------------------------------------- - -static GALGAS_string onceFunction_magenta (C_Compiler * - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_string result_magenta ; // Returned variable - result_magenta = GALGAS_string ("") ; -//--- - return result_magenta ; -} +//-------------------------------------------------------------------------------------------------- - - -//---------------------------------------------------------------------------------------------------------------------- -// 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 ; +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)) ; + } } - 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) ; + 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 ; } -//---------------------------------------------------------------------------------------------------------------------- - -C_galgas_function_descriptor functionDescriptor_magenta ("magenta", - functionWithGenericHeader_magenta, - & kTypeDescriptor_GALGAS_string, - 0, - functionArgs_magenta) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Once function 'cyan' +//Overriding extension getter '@impBoolType mergeWithType' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static GALGAS_string onceFunction_cyan (C_Compiler * - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_string result_cyan ; // Returned variable - result_cyan = GALGAS_string ("") ; +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)) ; //--- - return result_cyan ; + return result_mergedType ; } +//-------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@impBoolType setDefault' +// +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- -// 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 ; +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)) ; + } + } + } } - return gOnceFunctionResult_cyan ; -} - -//---------------------------------------------------------------------------------------------------------------------- - -static void releaseOnceFunctionResult_cyan (void) { - gOnceFunctionResult_cyan.drop () ; } +//-------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@impEnumType mergeWithType' +// +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- - -C_PrologueEpilogue gEpilogueForOnceFunction_cyan (nullptr, - releaseOnceFunctionResult_cyan) ; - -//---------------------------------------------------------------------------------------------------------------------- -// Function introspection -//---------------------------------------------------------------------------------------------------------------------- - -static const C_galgas_type_descriptor * functionArgs_cyan [1] = { - nullptr -} ; - -//---------------------------------------------------------------------------------------------------------------------- - -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) ; +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)) ; +//--- + return result_mergedType ; } -//---------------------------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_cyan ("cyan", - functionWithGenericHeader_cyan, - & kTypeDescriptor_GALGAS_string, - 0, - functionArgs_cyan) ; - -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Once function 'darkred' +//Routine 'verifyEnum?' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static GALGAS_string onceFunction_darkred (C_Compiler * - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_string result_red ; // Returned variable - result_red = GALGAS_string ("") ; -//--- - return result_red ; +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 'checkAndGetIntegerNumber' +// +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- -// 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 ; +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)) ; + } + } + } } - return gOnceFunctionResult_darkred ; -} - -//---------------------------------------------------------------------------------------------------------------------- - -static void releaseOnceFunctionResult_darkred (void) { - gOnceFunctionResult_darkred.drop () ; + 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)) ; + } + } + } + } + } +//--- + return result_value ; } -//---------------------------------------------------------------------------------------------------------------------- - -C_PrologueEpilogue gEpilogueForOnceFunction_darkred (nullptr, - releaseOnceFunctionResult_darkred) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Function introspection -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_darkred [1] = { +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_darkred (C_Compiler * inCompiler, - const cObjectArray & /* inEffectiveParameterArray */, - const GALGAS_location & /* inErrorLocation */ - COMMA_LOCATION_ARGS) { - return function_darkred (inCompiler COMMA_THERE).getter_object (THERE) ; +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) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_darkred ("darkred", - functionWithGenericHeader_darkred, - & kTypeDescriptor_GALGAS_string, - 0, - functionArgs_darkred) ; +C_galgas_function_descriptor functionDescriptor_checkAndGetIntegerNumber ("checkAndGetIntegerNumber", + functionWithGenericHeader_checkAndGetIntegerNumber, + & kTypeDescriptor_GALGAS_object_5F_t, + 4, + functionArgs_checkAndGetIntegerNumber) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Once function 'darkgreen' +//Function 'checkAndGetFloatNumber' // -//---------------------------------------------------------------------------------------------------------------------- - -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 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 ; +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)) ; + } + } } - return gOnceFunctionResult_darkgreen ; -} - -//---------------------------------------------------------------------------------------------------------------------- - -static void releaseOnceFunctionResult_darkgreen (void) { - gOnceFunctionResult_darkgreen.drop () ; + 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)) ; + } + } +//--- + return result_value ; } -//---------------------------------------------------------------------------------------------------------------------- - -C_PrologueEpilogue gEpilogueForOnceFunction_darkgreen (nullptr, - releaseOnceFunctionResult_darkgreen) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Function introspection -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_darkgreen [1] = { +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_darkgreen (C_Compiler * inCompiler, - const cObjectArray & /* inEffectiveParameterArray */, - const GALGAS_location & /* inErrorLocation */ - COMMA_LOCATION_ARGS) { - return function_darkgreen (inCompiler COMMA_THERE).getter_object (THERE) ; +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) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_darkgreen ("darkgreen", - functionWithGenericHeader_darkgreen, - & kTypeDescriptor_GALGAS_string, - 0, - functionArgs_darkgreen) ; +C_galgas_function_descriptor functionDescriptor_checkAndGetFloatNumber ("checkAndGetFloatNumber", + functionWithGenericHeader_checkAndGetFloatNumber, + & kTypeDescriptor_GALGAS_object_5F_t, + 4, + functionArgs_checkAndGetFloatNumber) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Once function 'darkyellow' +//Routine 'checkTypeForAttribute???' // -//---------------------------------------------------------------------------------------------------------------------- - -static GALGAS_string onceFunction_darkyellow (C_Compiler * - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_string result_yellow ; // Returned variable - result_yellow = GALGAS_string ("") ; -//--- - 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 ; +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 () ; + } + } + } + } } - return gOnceFunctionResult_darkyellow ; -} - -//---------------------------------------------------------------------------------------------------------------------- - -static void releaseOnceFunctionResult_darkyellow (void) { - gOnceFunctionResult_darkyellow.drop () ; } -//---------------------------------------------------------------------------------------------------------------------- -C_PrologueEpilogue gEpilogueForOnceFunction_darkyellow (nullptr, - releaseOnceFunctionResult_darkyellow) ; - -//---------------------------------------------------------------------------------------------------------------------- -// Function introspection -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// +//Function 'boolSubAttributes' +// +//-------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_darkyellow [1] = { - nullptr -} ; - -//---------------------------------------------------------------------------------------------------------------------- - -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) ; +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 () ; + } + } + } + } + } +//--- + return result_subImplementation ; } -//---------------------------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_darkyellow ("darkyellow", - functionWithGenericHeader_darkyellow, - & kTypeDescriptor_GALGAS_string, - 0, - functionArgs_darkyellow) ; - -//---------------------------------------------------------------------------------------------------------------------- -// -//Once function 'darkblue' -// -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// Function introspection +//-------------------------------------------------------------------------------------------------- -static GALGAS_string onceFunction_darkblue (C_Compiler * - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_string result_blue ; // Returned variable - result_blue = GALGAS_string ("") ; -//--- - return result_blue ; -} +static const C_galgas_type_descriptor * functionArgs_boolSubAttributes [4] = { + & kTypeDescriptor_GALGAS_implementationObject, + & kTypeDescriptor_GALGAS_string, + & kTypeDescriptor_GALGAS_bool, + 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) ; +} -//---------------------------------------------------------------------------------------------------------------------- -// Function implementation -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static bool gOnceFunctionResultAvailable_darkblue = false ; -static GALGAS_string gOnceFunctionResult_darkblue ; +C_galgas_function_descriptor functionDescriptor_boolSubAttributes ("boolSubAttributes", + functionWithGenericHeader_boolSubAttributes, + & kTypeDescriptor_GALGAS_implementationObjectMap, + 3, + functionArgs_boolSubAttributes) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// +//Function 'enumSubAttributes' +// +//-------------------------------------------------------------------------------------------------- -GALGAS_string function_darkblue (class C_Compiler * inCompiler - COMMA_LOCATION_ARGS) { - if (! gOnceFunctionResultAvailable_darkblue) { - gOnceFunctionResult_darkblue = onceFunction_darkblue (inCompiler COMMA_THERE) ; - gOnceFunctionResultAvailable_darkblue = true ; +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)) ; + } + } + } + } + } } - return gOnceFunctionResult_darkblue ; -} - -//---------------------------------------------------------------------------------------------------------------------- - -static void releaseOnceFunctionResult_darkblue (void) { - gOnceFunctionResult_darkblue.drop () ; +//--- + return result_subImplementation ; } -//---------------------------------------------------------------------------------------------------------------------- -C_PrologueEpilogue gEpilogueForOnceFunction_darkblue (nullptr, - releaseOnceFunctionResult_darkblue) ; - -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Function introspection -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_darkblue [1] = { +static const C_galgas_type_descriptor * functionArgs_enumSubAttributes [4] = { + & kTypeDescriptor_GALGAS_implementationObject, + & kTypeDescriptor_GALGAS_string, + & kTypeDescriptor_GALGAS_string, 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) ; +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) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_darkblue ("darkblue", - functionWithGenericHeader_darkblue, - & kTypeDescriptor_GALGAS_string, - 0, - functionArgs_darkblue) ; +C_galgas_function_descriptor functionDescriptor_enumSubAttributes ("enumSubAttributes", + functionWithGenericHeader_enumSubAttributes, + & kTypeDescriptor_GALGAS_implementationObjectMap, + 3, + functionArgs_enumSubAttributes) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Once function 'darkmagenta' +//Routine 'checkFilters?' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static GALGAS_string onceFunction_darkmagenta (C_Compiler * - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_string result_magenta ; // Returned variable - result_magenta = GALGAS_string ("") ; -//--- - return result_magenta ; +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)) ; + } } +//-------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@refType checkAttributeReferences' +// +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- -// 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 ; +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)) ; + } } - return gOnceFunctionResult_darkmagenta ; } +//-------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@impBoolType checkAttributeReferences' +// +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- - -static void releaseOnceFunctionResult_darkmagenta (void) { - gOnceFunctionResult_darkmagenta.drop () ; +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' +// +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- - -C_PrologueEpilogue gEpilogueForOnceFunction_darkmagenta (nullptr, - releaseOnceFunctionResult_darkmagenta) ; +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 () ; + } +} +//-------------------------------------------------------------------------------------------------- +// +//Routine 'setDefaultsForType?&' +// +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- -// Function introspection -//---------------------------------------------------------------------------------------------------------------------- +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 const C_galgas_type_descriptor * functionArgs_darkmagenta [1] = { - nullptr -} ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@noRange contains' +// +//-------------------------------------------------------------------------------------------------- -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) ; +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 ; } -//---------------------------------------------------------------------------------------------------------------------- - -C_galgas_function_descriptor functionDescriptor_darkmagenta ("darkmagenta", - functionWithGenericHeader_darkmagenta, - & kTypeDescriptor_GALGAS_string, - 0, - functionArgs_darkmagenta) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Once function 'darkcyan' +//Overriding extension getter '@noRange string' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static GALGAS_string onceFunction_darkcyan (C_Compiler * - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_string result_cyan ; // Returned variable - result_cyan = GALGAS_string ("") ; +GALGAS_string cPtr_noRange::getter_string (Compiler */* inCompiler */ + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_string result_desc ; // Returned variable + result_desc = GALGAS_string ("\?") ; //--- - return result_cyan ; + return result_desc ; } - -//---------------------------------------------------------------------------------------------------------------------- -// 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 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) ; - -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Once function 'white' +//Overriding extension getter '@uint32AttributeSet contains' // -//---------------------------------------------------------------------------------------------------------------------- - -static GALGAS_string onceFunction_white (C_Compiler * - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_string result_white ; // Returned variable - result_white = GALGAS_string ("") ; -//--- - return result_white ; -} - - +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- -// 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 ; +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)) ; + } } - 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) ; +//--- + return result_isInside ; } -//---------------------------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_white ("white", - functionWithGenericHeader_white, - & kTypeDescriptor_GALGAS_string, - 0, - functionArgs_white) ; - -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Once function 'endc' +//Overriding extension getter '@uint32AttributeSet string' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static GALGAS_string onceFunction_endc (C_Compiler * - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_string result_endc ; // Returned variable - result_endc = GALGAS_string ("") ; +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 () ; + } //--- - return result_endc ; + return result_desc ; } +//-------------------------------------------------------------------------------------------------- +// +//Overriding extension getter '@uint32AttributeMinMax contains' +// +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- -// 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 ; +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)) ; + } } - 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) ; +//--- + return result_isInside ; } -//---------------------------------------------------------------------------------------------------------------------- - -C_galgas_function_descriptor functionDescriptor_endc ("endc", - functionWithGenericHeader_endc, - & kTypeDescriptor_GALGAS_string, - 0, - functionArgs_endc) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Function 'defaultDebugSettings' +//Overriding extension getter '@uint32AttributeMinMax string' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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)) ; //--- - 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) ; + return result_desc ; } -//---------------------------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_defaultDebugSettings ("defaultDebugSettings", - functionWithGenericHeader_defaultDebugSettings, - & kTypeDescriptor_GALGAS_debuggerContext, - 0, - functionArgs_defaultDebugSettings) ; - -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Overriding extension getter '@gtlVarItemField stringRepresentation' +//Overriding extension getter '@sint32AttributeSet contains' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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)) ; + } + } //--- - return result_result ; + return result_isInside ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Overriding extension getter '@gtlVarItemSubCollection stringRepresentation' +//Overriding extension getter '@sint32AttributeSet string' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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 () ; + } //--- - return result_result ; + return result_desc ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Overriding extension getter '@gtlVarItemCollection stringRepresentation' +//Overriding extension getter '@sint32AttributeMinMax contains' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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)) ; + } + } //--- - return result_result ; + return result_isInside ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Overriding extension getter '@gtlAddExpression stringRepresentation' +//Overriding extension getter '@sint32AttributeMinMax string' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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)) ; //--- - return result_result ; + return result_desc ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Overriding extension getter '@gtlAndExpression stringRepresentation' +//Overriding extension getter '@uint64AttributeSet contains' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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)) ; + } + } //--- - return result_result ; + return result_isInside ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Overriding extension getter '@gtlDivideExpression stringRepresentation' +//Overriding extension getter '@uint64AttributeSet string' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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 () ; + } //--- - return result_result ; + return result_desc ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Overriding extension getter '@gtlEqualExpression stringRepresentation' +//Overriding extension getter '@uint64AttributeMinMax contains' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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)) ; + } + } //--- - return result_result ; + return result_isInside ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Overriding extension getter '@gtlGreaterOrEqualExpression stringRepresentation' +//Overriding extension getter '@uint64AttributeMinMax string' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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)) ; //--- - return result_result ; + return result_desc ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Overriding extension getter '@gtlGreaterThanExpression stringRepresentation' +//Overriding extension getter '@sint64AttributeSet contains' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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)) ; + } + } //--- - return result_result ; + return result_isInside ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Overriding extension getter '@gtlLowerOrEqualExpression stringRepresentation' +//Overriding extension getter '@sint64AttributeSet string' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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 () ; + } //--- - return result_result ; + return result_desc ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Overriding extension getter '@gtlLowerThanExpression stringRepresentation' +//Overriding extension getter '@sint64AttributeMinMax contains' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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)) ; + } + } //--- - return result_result ; + return result_isInside ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Overriding extension getter '@gtlModulusExpression stringRepresentation' +//Overriding extension getter '@sint64AttributeMinMax string' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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)) ; //--- - return result_result ; + return result_desc ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Overriding extension getter '@gtlMultiplyExpression stringRepresentation' +//Overriding extension getter '@floatAttributeSet contains' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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)) ; + } + } //--- - return result_result ; + return result_isInside ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Overriding extension getter '@gtlNotEqualExpression stringRepresentation' +//Overriding extension getter '@floatAttributeSet string' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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 () ; + } //--- - return result_result ; + return result_desc ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Overriding extension getter '@gtlOrExpression stringRepresentation' +//Overriding extension getter '@floatAttributeMinMax contains' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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)) ; + } + } //--- - return result_result ; + return result_isInside ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Overriding extension getter '@gtlShiftLeftExpression stringRepresentation' +//Overriding extension getter '@floatAttributeMinMax string' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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)) ; //--- - return result_result ; + return result_desc ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Overriding extension getter '@gtlShiftRightExpression stringRepresentation' +//Once function 'emptyLString' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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)) ; //--- - return result_result ; + return result_ls ; } -//---------------------------------------------------------------------------------------------------------------------- -// -//Overriding extension getter '@gtlSubstractExpression stringRepresentation' -// -//---------------------------------------------------------------------------------------------------------------------- -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 ; -} +//-------------------------------------------------------------------------------------------------- +// Function implementation +//-------------------------------------------------------------------------------------------------- +static bool gOnceFunctionResultAvailable_emptyLString = false ; +static GALGAS_lstring gOnceFunctionResult_emptyLString ; -//---------------------------------------------------------------------------------------------------------------------- -// -//Overriding extension getter '@gtlXorExpression stringRepresentation' -// -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; +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 ; } +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- -// -//Overriding extension getter '@gtlExistsExpression stringRepresentation' -// -//---------------------------------------------------------------------------------------------------------------------- - -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 void releaseOnceFunctionResult_emptyLString (void) { + gOnceFunctionResult_emptyLString.drop () ; } +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- -// -//Overriding extension getter '@gtlExistsDefaultExpression stringRepresentation' -// -//---------------------------------------------------------------------------------------------------------------------- +PrologueEpilogue gEpilogueForOnceFunction_emptyLString (nullptr, + releaseOnceFunctionResult_emptyLString) ; -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 ; -} +//-------------------------------------------------------------------------------------------------- +// Function introspection +//-------------------------------------------------------------------------------------------------- +static const C_galgas_type_descriptor * functionArgs_emptyLString [1] = { + nullptr +} ; -//---------------------------------------------------------------------------------------------------------------------- -// -//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 ; +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) ; } +//-------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_emptyLString ("emptyLString", + functionWithGenericHeader_emptyLString, + & kTypeDescriptor_GALGAS_lstring, + 0, + functionArgs_emptyLString) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Overriding extension getter '@gtlGetterCallExpression stringRepresentation' +//Function 'emptyObject' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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)) ; //--- return result_result ; } -//---------------------------------------------------------------------------------------------------------------------- -// -//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 ; -} +//-------------------------------------------------------------------------------------------------- +// Function introspection +//-------------------------------------------------------------------------------------------------- +static const C_galgas_type_descriptor * functionArgs_emptyObject [1] = { + 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 ; +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) ; } +//-------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_emptyObject ("emptyObject", + functionWithGenericHeader_emptyObject, + & kTypeDescriptor_GALGAS_objectAttributes, + 0, + functionArgs_emptyObject) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Overriding extension getter '@gtlLiteralMapExpression stringRepresentation' +//Overriding extension setter '@multipleAttribute mergeSubAttributes' // -//---------------------------------------------------------------------------------------------------------------------- - -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_result ; -} +//-------------------------------------------------------------------------------------------------- - -//---------------------------------------------------------------------------------------------------------------------- -// -//Overriding extension getter '@gtlLiteralSetExpression stringRepresentation' -// -//---------------------------------------------------------------------------------------------------------------------- - -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 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)) ; + } + } } +//-------------------------------------------------------------------------------------------------- - -//---------------------------------------------------------------------------------------------------------------------- -// -//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 ; +static void defineExtensionSetter_multipleAttribute_mergeSubAttributes (void) { + enterExtensionSetter_mergeSubAttributes (kTypeDescriptor_GALGAS_multipleAttribute.mSlotID, + extensionSetter_multipleAttribute_mergeSubAttributes) ; } +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- -// -//Overriding extension getter '@gtlMapOfStructExpression stringRepresentation' -// -//---------------------------------------------------------------------------------------------------------------------- - -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 ; -} - +PrologueEpilogue gSetter_multipleAttribute_mergeSubAttributes (defineExtensionSetter_multipleAttribute_mergeSubAttributes, nullptr) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Overriding extension getter '@gtlTerminal stringRepresentation' +//Function 'multipleAttributeOrError' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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)) ; + } + } //--- - return result_result ; + return result_v ; } -//---------------------------------------------------------------------------------------------------------------------- -// -//Overriding extension getter '@gtlTypeOfExpression stringRepresentation' -// -//---------------------------------------------------------------------------------------------------------------------- - -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_result ; -} +//-------------------------------------------------------------------------------------------------- +// Function introspection +//-------------------------------------------------------------------------------------------------- +static const C_galgas_type_descriptor * functionArgs_multipleAttributeOrError [3] = { + & kTypeDescriptor_GALGAS_object_5F_t, + & kTypeDescriptor_GALGAS_string, + nullptr +} ; -//---------------------------------------------------------------------------------------------------------------------- -// -//Overriding extension getter '@gtlMinusExpression stringRepresentation' -// -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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_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) ; } +//-------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_multipleAttributeOrError ("multipleAttributeOrError", + functionWithGenericHeader_multipleAttributeOrError, + & kTypeDescriptor_GALGAS_identifierList, + 2, + functionArgs_multipleAttributeOrError) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Overriding extension getter '@gtlNotExpression stringRepresentation' +//Overriding extension setter '@boolAttribute mergeSubAttributes' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; +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)) ; + } + } + } + } + } } +//-------------------------------------------------------------------------------------------------- - -//---------------------------------------------------------------------------------------------------------------------- -// -//Overriding extension getter '@gtlParenthesizedExpression stringRepresentation' -// -//---------------------------------------------------------------------------------------------------------------------- - -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_boolAttribute_mergeSubAttributes (void) { + enterExtensionSetter_mergeSubAttributes (kTypeDescriptor_GALGAS_boolAttribute.mSlotID, + extensionSetter_boolAttribute_mergeSubAttributes) ; } +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- +PrologueEpilogue gSetter_boolAttribute_mergeSubAttributes (defineExtensionSetter_boolAttribute_mergeSubAttributes, nullptr) ; + +//-------------------------------------------------------------------------------------------------- // -//Overriding extension getter '@gtlPlusExpression stringRepresentation' +//Function 'boolAttributeOrError' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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)) ; + } + } //--- - return result_result ; + return result_v ; } -//---------------------------------------------------------------------------------------------------------------------- -// -//Overriding extension getter '@gtlVarRef stringRepresentation' -// -//---------------------------------------------------------------------------------------------------------------------- - -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_result ; -} +//-------------------------------------------------------------------------------------------------- +// Function introspection +//-------------------------------------------------------------------------------------------------- +static const C_galgas_type_descriptor * functionArgs_boolAttributeOrError [3] = { + & kTypeDescriptor_GALGAS_object_5F_t, + & kTypeDescriptor_GALGAS_string, + nullptr +} ; -//---------------------------------------------------------------------------------------------------------------------- -// -//Overriding extension getter '@gtlAllVarsRef stringRepresentation' -// -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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_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) ; } +//-------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_boolAttributeOrError ("boolAttributeOrError", + functionWithGenericHeader_boolAttributeOrError, + & kTypeDescriptor_GALGAS_bool, + 2, + functionArgs_boolAttributeOrError) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Overriding extension getter '@gtlBool stringRepresentation' +//Overriding extension setter '@enumAttribute mergeSubAttributes' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; +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)) ; + } + } + } + } + } } +//-------------------------------------------------------------------------------------------------- - -//---------------------------------------------------------------------------------------------------------------------- -// -//Overriding extension getter '@gtlChar stringRepresentation' -// -//---------------------------------------------------------------------------------------------------------------------- - -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_result ; +static void defineExtensionSetter_enumAttribute_mergeSubAttributes (void) { + enterExtensionSetter_mergeSubAttributes (kTypeDescriptor_GALGAS_enumAttribute.mSlotID, + extensionSetter_enumAttribute_mergeSubAttributes) ; } +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- +PrologueEpilogue gSetter_enumAttribute_mergeSubAttributes (defineExtensionSetter_enumAttribute_mergeSubAttributes, nullptr) ; + +//-------------------------------------------------------------------------------------------------- // -//Overriding extension getter '@gtlEnum stringRepresentation' +//Function 'uint32_or_error' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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)) ; + } + } //--- - return result_result ; + return result_v ; } -//---------------------------------------------------------------------------------------------------------------------- -// -//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 ; -} +//-------------------------------------------------------------------------------------------------- +// 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 +} ; -//---------------------------------------------------------------------------------------------------------------------- -// -//Overriding extension getter '@gtlInt stringRepresentation' -// -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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_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) ; } +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- +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) ; + +//-------------------------------------------------------------------------------------------------- // -//Overriding extension getter '@gtlString stringRepresentation' +//Function 'uint32OrError' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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)) ; + } + } //--- - return result_result ; + return result_v ; } -//---------------------------------------------------------------------------------------------------------------------- -// -//Overriding extension getter '@gtlUnconstructed stringRepresentation' -// -//---------------------------------------------------------------------------------------------------------------------- - -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_result ; -} +//-------------------------------------------------------------------------------------------------- +// Function introspection +//-------------------------------------------------------------------------------------------------- +static const C_galgas_type_descriptor * functionArgs_uint_33__32_OrError [3] = { + & kTypeDescriptor_GALGAS_object_5F_t, + & kTypeDescriptor_GALGAS_string, + nullptr +} ; -//---------------------------------------------------------------------------------------------------------------------- -// -//Overriding extension getter '@gtlType stringRepresentation' -// -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; +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) ; } +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- +C_galgas_function_descriptor functionDescriptor_uint_33__32_OrError ("uint32OrError", + functionWithGenericHeader_uint_33__32_OrError, + & kTypeDescriptor_GALGAS_uint, + 2, + functionArgs_uint_33__32_OrError) ; + +//-------------------------------------------------------------------------------------------------- // -//Overriding extension getter '@gtlList stringRepresentation' +//Function 'sint32OrError' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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)) ; } - enumerator_31342.gotoNextObject () ; } - result_result = result_result.add_operation (GALGAS_string (" )"), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1016)) ; //--- - return result_result ; + return result_v ; } -//---------------------------------------------------------------------------------------------------------------------- -// -//Overriding extension getter '@gtlMap stringRepresentation' -// -//---------------------------------------------------------------------------------------------------------------------- - -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 ; -} +//-------------------------------------------------------------------------------------------------- +// 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 '@gtlStruct stringRepresentation' -// -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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_result ; +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) ; } +//-------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_sint_33__32_OrError ("sint32OrError", + functionWithGenericHeader_sint_33__32_OrError, + & kTypeDescriptor_GALGAS_sint, + 2, + functionArgs_sint_33__32_OrError) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Overriding extension getter '@gtlSet stringRepresentation' +//Function 'uint64OrError' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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)) ; } - enumerator_32319.gotoNextObject () ; } - result_result = result_result.add_operation (GALGAS_string (" !"), inCompiler COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1055)) ; //--- - return result_result ; + return result_v ; } -//---------------------------------------------------------------------------------------------------------------------- -// -//Overriding extension getter '@gtlExpr stringRepresentation' -// -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// Function introspection +//-------------------------------------------------------------------------------------------------- -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_result ; +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 (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) ; } +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@gtlLetUnconstructedInstruction display' -// -//---------------------------------------------------------------------------------------------------------------------- +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) ; -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' +//Function 'luint64OrError' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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)) ; + } + } +//--- + return result_v ; } -//---------------------------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@gtlLetAddInstruction display' -// -//---------------------------------------------------------------------------------------------------------------------- -void cPtr_gtlLetAddInstruction::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", 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' -// -//---------------------------------------------------------------------------------------------------------------------- -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)) ; -} -//---------------------------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@gtlLetMultiplyInstruction display' -// -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// Function introspection +//-------------------------------------------------------------------------------------------------- -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 const C_galgas_type_descriptor * functionArgs_luint_36__34_OrError [3] = { + & kTypeDescriptor_GALGAS_object_5F_t, + & kTypeDescriptor_GALGAS_string, + nullptr +} ; -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)) ; -} -//---------------------------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@gtlLetModuloInstruction display' -// -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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) ; } -//---------------------------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@gtlLetShiftLeftInstruction display' -// -//---------------------------------------------------------------------------------------------------------------------- -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_luint_36__34_OrError ("luint64OrError", + functionWithGenericHeader_luint_36__34_OrError, + & kTypeDescriptor_GALGAS_luint_36__34_, + 2, + functionArgs_luint_36__34_OrError) ; + +//-------------------------------------------------------------------------------------------------- // -//Overriding extension method '@gtlLetShiftRightInstruction display' +//Function 'sint64OrError' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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)) ; + } + } +//--- + return result_v ; } -//---------------------------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@gtlLetAndInstruction display' -// -//---------------------------------------------------------------------------------------------------------------------- -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)) ; -} -//---------------------------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@gtlLetOrInstruction display' -// -//---------------------------------------------------------------------------------------------------------------------- -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 +//-------------------------------------------------------------------------------------------------- -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)) ; +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 (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) ; + +//-------------------------------------------------------------------------------------------------- // -//Overriding extension method '@gtlLoopStatementInstruction display' +//Function 'floatOrError' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 () ; +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)) ; + } } - 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)) ; +//--- + return result_v ; } -//---------------------------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@gtlWarningStatementInstruction display' -// -//---------------------------------------------------------------------------------------------------------------------- -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)) ; + +//-------------------------------------------------------------------------------------------------- +// 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 (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 '@gtlErrorStatementInstruction display' +//Function 'stringAttributeOrError' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +GALGAS_lstring function_stringAttributeOrError (const GALGAS_object_5F_t & constinArgument_attribute, + const GALGAS_string & constinArgument_attributeName, + 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)) ; + } } - 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)) ; +//--- + return result_result ; } -//---------------------------------------------------------------------------------------------------------------------- -// -//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)) ; + +//-------------------------------------------------------------------------------------------------- +// 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) ; } -//---------------------------------------------------------------------------------------------------------------------- + +//-------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_stringAttributeOrError ("stringAttributeOrError", + functionWithGenericHeader_stringAttributeOrError, + & kTypeDescriptor_GALGAS_lstring, + 2, + functionArgs_stringAttributeOrError) ; + +//-------------------------------------------------------------------------------------------------- // -//Overriding extension method '@gtlPrintStatementInstruction display' +//Overriding extension setter '@structAttribute mergeSubAttributes' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 (" ") ; +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)) ; + } + } + } + } } - 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)) ; } -//---------------------------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@gtlTemplateStringInstruction display' -// -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +static void defineExtensionSetter_structAttribute_mergeSubAttributes (void) { + enterExtensionSetter_mergeSubAttributes (kTypeDescriptor_GALGAS_structAttribute.mSlotID, + extensionSetter_structAttribute_mergeSubAttributes) ; } -//---------------------------------------------------------------------------------------------------------------------- + +//-------------------------------------------------------------------------------------------------- + +PrologueEpilogue gSetter_structAttribute_mergeSubAttributes (defineExtensionSetter_structAttribute_mergeSubAttributes, nullptr) ; + +//-------------------------------------------------------------------------------------------------- // -//Overriding extension method '@gtlInputStatementInstruction display' +//Function 'empty_lstring' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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 ; } -//---------------------------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@gtlSortStatementInstruction display' -// -//---------------------------------------------------------------------------------------------------------------------- -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)) ; + +//-------------------------------------------------------------------------------------------------- +// 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) ; } -//---------------------------------------------------------------------------------------------------------------------- + +//-------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_empty_5F_lstring ("empty_lstring", + functionWithGenericHeader_empty_5F_lstring, + & kTypeDescriptor_GALGAS_lstring, + 0, + functionArgs_empty_5F_lstring) ; + +//-------------------------------------------------------------------------------------------------- // -//Overriding extension method '@gtlSortStatementStructInstruction display' +//Function 'void_obj' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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 ; } -//---------------------------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@gtlTemplateInstruction display' -// -//---------------------------------------------------------------------------------------------------------------------- -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)) ; - } - 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 () ; - } - 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 +//-------------------------------------------------------------------------------------------------- -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)) ; +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) ; } -//---------------------------------------------------------------------------------------------------------------------- + +//-------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_void_5F_obj ("void_obj", + functionWithGenericHeader_void_5F_obj, + & kTypeDescriptor_GALGAS_object_5F_t, + 0, + functionArgs_void_5F_obj) ; + +//-------------------------------------------------------------------------------------------------- // -//Overriding extension method '@gtlForStatementInstruction display' +//Function 'luint64_value' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void cPtr_gtlForStatementInstruction::method_display (C_Compiler * inCompiler +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) { - 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)) ; + 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 ; } -//---------------------------------------------------------------------------------------------------------------------- -// -//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' -// -//---------------------------------------------------------------------------------------------------------------------- -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' -// -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// Function introspection +//-------------------------------------------------------------------------------------------------- -void cPtr_gtlLibrariesInstruction::method_display (C_Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - inCompiler->printMessage (GALGAS_string ("libraries") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1395)) ; +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) ; } -//---------------------------------------------------------------------------------------------------------------------- + +//-------------------------------------------------------------------------------------------------- + +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) ; + +//-------------------------------------------------------------------------------------------------- // -//Overriding extension method '@gtlRepeatStatementInstruction display' +//Function 'projectName' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; - } - } - } - } - }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)) ; +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 ()) ; } } +//--- + return result_directory ; } -//---------------------------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@gtlSetterCallInstruction display' -// -//---------------------------------------------------------------------------------------------------------------------- -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' -// -//---------------------------------------------------------------------------------------------------------------------- -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 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) ; } -//---------------------------------------------------------------------------------------------------------------------- + +//-------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_projectName ("projectName", + functionWithGenericHeader_projectName, + & kTypeDescriptor_GALGAS_string, + 0, + functionArgs_projectName) ; + +//-------------------------------------------------------------------------------------------------- // -//Overriding extension method '@gtlWriteToInstruction display' +//Function 'oil_dir' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 () ; - } - 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)) ; +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 ; } -//---------------------------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@gtlTabStatementInstruction display' -// -//---------------------------------------------------------------------------------------------------------------------- -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)) ; + +//-------------------------------------------------------------------------------------------------- +// 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) ; } -//---------------------------------------------------------------------------------------------------------------------- + +//-------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_oil_5F_dir ("oil_dir", + functionWithGenericHeader_oil_5F_dir, + & kTypeDescriptor_GALGAS_string, + 0, + functionArgs_oil_5F_dir) ; + +//-------------------------------------------------------------------------------------------------- // -//Overriding extension getter '@gtlDisplayStatementInstruction mayExecuteWithoutError' +//Function 'arch' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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_may ; + return result_arch_5F_name ; } -//---------------------------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@gtlStepInstruction execute' -// -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// Function introspection +//-------------------------------------------------------------------------------------------------- -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)) ; - } +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) ; } -//---------------------------------------------------------------------------------------------------------------------- + +//-------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_arch ("arch", + functionWithGenericHeader_arch, + & kTypeDescriptor_GALGAS_string, + 0, + functionArgs_arch) ; + +//-------------------------------------------------------------------------------------------------- // -//Overriding extension method '@gtlStepInstruction display' +//Function 'chip' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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)) ; + } } -} -//---------------------------------------------------------------------------------------------------------------------- -// -//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' -// -//---------------------------------------------------------------------------------------------------------------------- - -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)) ; + if (kBoolFalse == test_0) { + result_chip_5F_name = GALGAS_string::makeEmptyString () ; } +//--- + return result_chip_5F_name ; } -//---------------------------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@gtlDoNotInstruction display' -// -//---------------------------------------------------------------------------------------------------------------------- -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' -// -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// Function introspection +//-------------------------------------------------------------------------------------------------- -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 const C_galgas_type_descriptor * functionArgs_chip [1] = { + nullptr +} ; -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)) ; +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) ; } -//---------------------------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@gtlContinueInstruction execute' -// -//---------------------------------------------------------------------------------------------------------------------- -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)) ; -} -//---------------------------------------------------------------------------------------------------------------------- +C_galgas_function_descriptor functionDescriptor_chip ("chip", + functionWithGenericHeader_chip, + & kTypeDescriptor_GALGAS_string, + 0, + functionArgs_chip) ; + +//-------------------------------------------------------------------------------------------------- // -//Overriding extension method '@gtlBreakpointInstruction execute' +//Function 'board' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 () ; +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_instructionList_47650.getter_count (SOURCE_FILE ("gtl_debugger.galgas", 1616)).objectCompare (GALGAS_uint (uint32_t (0U)))).boolEnum () ; + 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) { - 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) { - 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)) ; - } - } + { + GALGAS_string joker_2098 ; // Joker input parameter + var_components_1945.setter_popFirst (joker_2098, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 70)) ; } - 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)) ; - } + { + 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::class_func_componentsJoinedByString (var_components_1945, GALGAS_string ("/") COMMA_SOURCE_FILE ("goil_routines.galgas", 72)) ; } } 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)) ; + result_board_5F_name = GALGAS_string::makeEmptyString () ; } +//--- + return result_board_5F_name ; } -//---------------------------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@gtlBreakpointInstruction display' -// -//---------------------------------------------------------------------------------------------------------------------- -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' -// -//---------------------------------------------------------------------------------------------------------------------- -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' -// -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// Function introspection +//-------------------------------------------------------------------------------------------------- -void cPtr_gtlBreakpointListInstruction::method_display (C_Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - inCompiler->printMessage (GALGAS_string ("break") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1656)) ; -} -//---------------------------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@gtlBreakpointDeleteInstruction execute' -// -//---------------------------------------------------------------------------------------------------------------------- +static const C_galgas_type_descriptor * functionArgs_board [1] = { + nullptr +} ; -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)) ; - } -} -//---------------------------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@gtlBreakpointDeleteInstruction display' -// -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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) ; } -//---------------------------------------------------------------------------------------------------------------------- + +//-------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_board ("board", + functionWithGenericHeader_board, + & kTypeDescriptor_GALGAS_string, + 0, + functionArgs_board) ; + +//-------------------------------------------------------------------------------------------------- // -//Overriding extension method '@gtlBreakpointDeleteAllInstruction execute' +//Function 'targetPathList' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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 () ; } +//--- + return result_pathList ; } -//---------------------------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@gtlBreakpointDeleteAllInstruction display' -// -//---------------------------------------------------------------------------------------------------------------------- -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)) ; -} -//---------------------------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@gtlWatchpointInstruction execute' -// -//---------------------------------------------------------------------------------------------------------------------- -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)) ; - } -} -//---------------------------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@gtlWatchpointInstruction display' -// -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// Function introspection +//-------------------------------------------------------------------------------------------------- -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' -// -//---------------------------------------------------------------------------------------------------------------------- +static const C_galgas_type_descriptor * functionArgs_targetPathList [1] = { + nullptr +} ; -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' -// -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void cPtr_gtlWatchpointListInstruction::method_display (C_Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - inCompiler->printMessage (GALGAS_string ("watch") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1742)) ; +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) ; } -//---------------------------------------------------------------------------------------------------------------------- + +//-------------------------------------------------------------------------------------------------- + +C_galgas_function_descriptor functionDescriptor_targetPathList ("targetPathList", + functionWithGenericHeader_targetPathList, + & kTypeDescriptor_GALGAS_list, + 0, + functionArgs_targetPathList) ; + +//-------------------------------------------------------------------------------------------------- // -//Overriding extension method '@gtlWatchpointDeleteInstruction execute' +//Function 'add_path_component' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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)) ; + } + } + if (kBoolFalse == test_0) { + result_new_5F_path = inArgument_path.add_operation (inArgument_component, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 100)) ; } +//--- + return result_new_5F_path ; } -//---------------------------------------------------------------------------------------------------------------------- -// -//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 introspection +//-------------------------------------------------------------------------------------------------- + +static const C_galgas_type_descriptor * functionArgs_add_5F_path_5F_component [3] = { + & kTypeDescriptor_GALGAS_string, + & kTypeDescriptor_GALGAS_string, + nullptr +} ; + +//-------------------------------------------------------------------------------------------------- + +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) ; } -//---------------------------------------------------------------------------------------------------------------------- + +//-------------------------------------------------------------------------------------------------- + +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) ; + +//-------------------------------------------------------------------------------------------------- // -//Overriding extension method '@gtlWatchpointDeleteAllInstruction execute' +//Function 'rootTemplatesDirectory' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +GALGAS_string function_rootTemplatesDirectory (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::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 () ; + 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)) ; + } + } + 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)) ; + } + result_templateDirectory = result_templateDirectory.getter_stringByStandardizingPath (SOURCE_FILE ("goil_routines.galgas", 130)) ; + } } +//--- + return result_templateDirectory ; } -//---------------------------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@gtlWatchpointDeleteAllInstruction display' -// -//---------------------------------------------------------------------------------------------------------------------- -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)) ; -} -//---------------------------------------------------------------------------------------------------------------------- -// -//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 */, - 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)) ; -} -//---------------------------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@gtlListInstruction display' -// -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// Function introspection +//-------------------------------------------------------------------------------------------------- -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)) ; -} -//---------------------------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@gtlHistoryInstruction execute' -// -//---------------------------------------------------------------------------------------------------------------------- +static const C_galgas_type_descriptor * functionArgs_rootTemplatesDirectory [1] = { + nullptr +} ; -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)) ; -} -//---------------------------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@gtlHistoryInstruction display' -// -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void cPtr_gtlHistoryInstruction::method_display (C_Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - inCompiler->printMessage (GALGAS_string ("hist") COMMA_SOURCE_FILE ("gtl_debugger.galgas", 1828)) ; +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) ; } -//---------------------------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@gtlLoadInstruction execute' -// -//---------------------------------------------------------------------------------------------------------------------- -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)) ; -} -//---------------------------------------------------------------------------------------------------------------------- +C_galgas_function_descriptor functionDescriptor_rootTemplatesDirectory ("rootTemplatesDirectory", + functionWithGenericHeader_rootTemplatesDirectory, + & kTypeDescriptor_GALGAS_string, + 0, + functionArgs_rootTemplatesDirectory) ; + +//-------------------------------------------------------------------------------------------------- // -//Overriding extension method '@gtlHelpInstruction execute' +//Function 'templates_directory' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; -} -//---------------------------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@gtlHelpInstruction display' -// -//---------------------------------------------------------------------------------------------------------------------- - -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") ; - -//---------------------------------------------------------------------------------------------------------------------- -// -// UInt options -// -//---------------------------------------------------------------------------------------------------------------------- - -//---------------------------------------------------------------------------------------------------------------------- -// -// 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)", - "") ; - -//---------------------------------------------------------------------------------------------------------------------- -// -// String List options -// -//---------------------------------------------------------------------------------------------------------------------- - -//---------------------------------------------------------------------------------------------------------------------- - - -//---------------------------------------------------------------------------------------------------------------------- -// -//Function 'checkEnums' -// -//---------------------------------------------------------------------------------------------------------------------- - -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)) ; +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 = result_inside.operator_not (SOURCE_FILE ("implementation_parser.galgas", 617)).boolEnum () ; + test_0 = GALGAS_bool (kIsNotEqual, result_temp_5F_dir.objectCompare (GALGAS_string::makeEmptyString ())).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 () ; + 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)) ; + } } - 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 () ; + 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)) ; + } } } } //--- - return result_inside ; + return result_temp_5F_dir ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Function introspection -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_checkEnums [3] = { - & kTypeDescriptor_GALGAS_impEnumType, - & kTypeDescriptor_GALGAS_impEnumType, +static const C_galgas_type_descriptor * functionArgs_templates_5F_directory [2] = { + & kTypeDescriptor_GALGAS_string, nullptr } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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_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_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) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_checkEnums ("checkEnums", - functionWithGenericHeader_checkEnums, - & kTypeDescriptor_GALGAS_bool, - 2, - functionArgs_checkEnums) ; +C_galgas_function_descriptor functionDescriptor_templates_5F_directory ("templates_directory", + functionWithGenericHeader_templates_5F_directory, + & kTypeDescriptor_GALGAS_string, + 1, + functionArgs_templates_5F_directory) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Function 'checkRanged' +//Function 'templateFilePath' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 = 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 () ; +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 () ; } - 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 () ; + 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) ; + } } } } //--- - return result_inside ; + return result_path ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Function introspection -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_checkRanged [3] = { - & kTypeDescriptor_GALGAS_impRangedType, - & kTypeDescriptor_GALGAS_impRangedType, +static const C_galgas_type_descriptor * functionArgs_templateFilePath [3] = { + & kTypeDescriptor_GALGAS_string, + & kTypeDescriptor_GALGAS_string, nullptr } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static GALGAS_object functionWithGenericHeader_checkRanged (C_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_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) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_checkRanged ("checkRanged", - functionWithGenericHeader_checkRanged, - & kTypeDescriptor_GALGAS_bool, - 2, - functionArgs_checkRanged) ; +C_galgas_function_descriptor functionDescriptor_templateFilePath ("templateFilePath", + functionWithGenericHeader_templateFilePath, + & kTypeDescriptor_GALGAS_string, + 2, + functionArgs_templateFilePath) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Function 'checkNewTypeWithinPreviousType' +//Function 'allTemplatePaths' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 (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_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 () ; } //--- - return result_result ; + return result_paths ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // 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_allTemplatePaths [2] = { + & kTypeDescriptor_GALGAS_string, nullptr } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +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) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_checkNewTypeWithinPreviousType ("checkNewTypeWithinPreviousType", - functionWithGenericHeader_checkNewTypeWithinPreviousType, - & kTypeDescriptor_GALGAS_bool, - 3, - functionArgs_checkNewTypeWithinPreviousType) ; +C_galgas_function_descriptor functionDescriptor_allTemplatePaths ("allTemplatePaths", + functionWithGenericHeader_allTemplatePaths, + & kTypeDescriptor_GALGAS_stringlist, + 1, + functionArgs_allTemplatePaths) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Function 'buildRange' +//Routine 'checkTemplatesPath' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 +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 = GALGAS_bool (kIsEqual, constinArgument_type.objectCompare (GALGAS_dataType::constructor_uint_33__32_Number (SOURCE_FILE ("implementation_parser.galgas", 683)))).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) { - 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)) ; + 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) { - 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) { + 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) { - test_2 = GALGAS_bool (kIsEqual, constinArgument_type.objectCompare (GALGAS_dataType::constructor_uint_36__34_Number (SOURCE_FILE ("implementation_parser.galgas", 687)))).boolEnum () ; + 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) { - 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)) ; + 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) ; } } - 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)) ; + enumerator_6542.gotoNextObject () ; + } + } +} + + +//-------------------------------------------------------------------------------------------------- +// +//Function 'allTemplateFilePaths' +// +//-------------------------------------------------------------------------------------------------- + +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)) ; } } - 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)) ; - } + 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)) ; } - 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 + } + 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_range ; + return result_paths ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // 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_allTemplateFilePaths [3] = { + & kTypeDescriptor_GALGAS_string, + & kTypeDescriptor_GALGAS_string, nullptr } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +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) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_buildRange ("buildRange", - functionWithGenericHeader_buildRange, - & kTypeDescriptor_GALGAS_attributeRange, - 3, - functionArgs_buildRange) ; +C_galgas_function_descriptor functionDescriptor_allTemplateFilePaths ("allTemplateFilePaths", + functionWithGenericHeader_allTemplateFilePaths, + & kTypeDescriptor_GALGAS_stringlist, + 2, + functionArgs_allTemplateFilePaths) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Function 'stringWithUInt32List' +//Routine 'prefix??!' // -//---------------------------------------------------------------------------------------------------------------------- - -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 ; -} - - -//---------------------------------------------------------------------------------------------------------------------- -// 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) ; +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)) ; } -//---------------------------------------------------------------------------------------------------------------------- - -C_galgas_function_descriptor functionDescriptor_stringWithUInt_33__32_List ("stringWithUInt32List", - functionWithGenericHeader_stringWithUInt_33__32_List, - & kTypeDescriptor_GALGAS_string, - 1, - functionArgs_stringWithUInt_33__32_List) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Function 'stringWithUInt64List' +//Routine 'performReplace???&' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; +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)) ; } -//---------------------------------------------------------------------------------------------------------------------- -// Function introspection -//---------------------------------------------------------------------------------------------------------------------- - -static const C_galgas_type_descriptor * functionArgs_stringWithUInt_36__34_List [2] = { - & kTypeDescriptor_GALGAS_uint_36__34_List, - nullptr -} ; - -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// +//Routine 'doReplace&??' +// +//-------------------------------------------------------------------------------------------------- -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) ; +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)) ; } -//---------------------------------------------------------------------------------------------------------------------- - -C_galgas_function_descriptor functionDescriptor_stringWithUInt_36__34_List ("stringWithUInt64List", - functionWithGenericHeader_stringWithUInt_36__34_List, - & kTypeDescriptor_GALGAS_string, - 1, - functionArgs_stringWithUInt_36__34_List) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Function 'stringWithSInt32List' +//Routine 'do_replace_default&???' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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)) ; } - enumerator_2895.gotoNextObject () ; } -//--- - return result_result ; + if (kBoolFalse == test_0) { + ioArgument_s = ioArgument_s.getter_stringByReplacingStringByString (inArgument_o, inArgument_d, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 263)) ; + } } -//---------------------------------------------------------------------------------------------------------------------- -// Function introspection -//---------------------------------------------------------------------------------------------------------------------- - -static const C_galgas_type_descriptor * functionArgs_stringWithSInt_33__32_List [2] = { - & kTypeDescriptor_GALGAS_sint_33__32_List, - nullptr -} ; - -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// +//Routine 'replace_no_prefix???&' +// +//-------------------------------------------------------------------------------------------------- -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) ; +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)) ; } -//---------------------------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_stringWithSInt_33__32_List ("stringWithSInt32List", - functionWithGenericHeader_stringWithSInt_33__32_List, - & kTypeDescriptor_GALGAS_string, - 1, - functionArgs_stringWithSInt_33__32_List) ; - -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Function 'stringWithSInt64List' +//Routine 'table_core????&&' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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)) ; + } } - enumerator_3057.gotoNextObject () ; + if (kBoolFalse == test_0) { + ioArgument_implementation = ioArgument_implementation.add_operation (GALGAS_string ("\n"), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 304)) ; + } + enumerator_9073.gotoNextObject () ; } -//--- - return result_result ; -} - - -//---------------------------------------------------------------------------------------------------------------------- -// Function introspection -//---------------------------------------------------------------------------------------------------------------------- - -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' +//Routine 'add_to_stringset&?' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_string function_stringWithFloatList (const GALGAS_floatList & constinArgument_values, - C_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)) ; +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)) ; } - enumerator_3217.gotoNextObject () ; } -//--- - return result_result ; + if (kBoolFalse == test_0) { + ioArgument_ss.addAssign_operation (inArgument_new COMMA_SOURCE_FILE ("goil_routines.galgas", 412)) ; + } } -//---------------------------------------------------------------------------------------------------------------------- -// Function introspection -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// +//Routine 'file_in_path&' +// +//-------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_stringWithFloatList [2] = { - & kTypeDescriptor_GALGAS_floatList, - nullptr -} ; +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 () ; + } +} -//---------------------------------------------------------------------------------------------------------------------- -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) ; -} +//-------------------------------------------------------------------------------------------------- +// +//Routine 'is_in_lstringlist??!!' +// +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- +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 () ; + } +} -C_galgas_function_descriptor functionDescriptor_stringWithFloatList ("stringWithFloatList", - functionWithGenericHeader_stringWithFloatList, - & kTypeDescriptor_GALGAS_string, - 1, - functionArgs_stringWithFloatList) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Function 'uint32ListWithNumberList' +//Function 'isInLstringlist' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 () ; +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 ; + 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_result ; + return result_p ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Function introspection -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_uint_33__32_ListWithNumberList [2] = { - & kTypeDescriptor_GALGAS_numberList, +static const C_galgas_type_descriptor * functionArgs_isInLstringlist [3] = { + & kTypeDescriptor_GALGAS_lstringlist, + & kTypeDescriptor_GALGAS_lstring, 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) ; +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), + 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_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_isInLstringlist ("isInLstringlist", + functionWithGenericHeader_isInLstringlist, + & kTypeDescriptor_GALGAS_bool, + 2, + functionArgs_isInLstringlist) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Function 'sint32ListWithNumberList' +//Routine 'add_lstring_unique&??' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 () ; +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)) ; } -//--- - return result_result ; } -//---------------------------------------------------------------------------------------------------------------------- -// Function introspection -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// +//Routine 'set_lstring_if_empty&??' +// +//-------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_sint_33__32_ListWithNumberList [2] = { - & kTypeDescriptor_GALGAS_numberList, - nullptr -} ; +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)) ; + } +} -//---------------------------------------------------------------------------------------------------------------------- -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) ; -} +//-------------------------------------------------------------------------------------------------- +// +//Routine 'add_makefile_flag_if_not_empty&??' +// +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- +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) { + 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)) ; + } + } +} -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' +//Function 'lstringWith' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 () ; - } +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_result ; + return result_r ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Function introspection -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_uint_36__34_ListWithNumberList [2] = { - & kTypeDescriptor_GALGAS_numberList, +static const C_galgas_type_descriptor * functionArgs_lstringWith [2] = { + & kTypeDescriptor_GALGAS_string, 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) ; +static GALGAS_object functionWithGenericHeader_lstringWith (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_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_lstringWith ("lstringWith", + functionWithGenericHeader_lstringWith, + & kTypeDescriptor_GALGAS_lstring, + 1, + functionArgs_lstringWith) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Function 'sint64ListWithNumberList' +//Function 'stripString' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 () ; +GALGAS_string function_stripString (GALGAS_string inArgument_s, + 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) { + 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) ; + } + } + } + } + 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) ; + } + } + } + } + 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_5) { + result_r = GALGAS_string::makeEmptyString () ; + } + } + } + if (kBoolFalse == test_0) { + result_r = GALGAS_string::makeEmptyString () ; } //--- - return result_result ; + return result_r ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Function introspection -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_sint_36__34_ListWithNumberList [2] = { - & kTypeDescriptor_GALGAS_numberList, +static const C_galgas_type_descriptor * functionArgs_stripString [2] = { + & kTypeDescriptor_GALGAS_string, 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) ; +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_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_stripString ("stripString", + functionWithGenericHeader_stripString, + & kTypeDescriptor_GALGAS_string, + 1, + functionArgs_stripString) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Function 'floatListWithNumberList' +//Routine 'errorNoFileFound???' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 () ; +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)) ; +} + + +//-------------------------------------------------------------------------------------------------- +// +//Function 'stringLBool' +// +//-------------------------------------------------------------------------------------------------- + +GALGAS_string function_stringLBool (const GALGAS_lbool & constinArgument_boolValue, + Compiler * + COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_string result_result ; // Returned variable + enumGalgasBool test_0 = kBoolTrue ; + if (kBoolTrue == test_0) { + test_0 = constinArgument_boolValue.readProperty_bool ().boolEnum () ; + if (kBoolTrue == test_0) { + result_result = GALGAS_string ("TRUE") ; + } + } + if (kBoolFalse == test_0) { + result_result = GALGAS_string ("FALSE") ; } //--- return result_result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Function introspection -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_floatListWithNumberList [2] = { - & kTypeDescriptor_GALGAS_numberList, +static const C_galgas_type_descriptor * functionArgs_stringLBool [2] = { + & kTypeDescriptor_GALGAS_lbool, 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) ; +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) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_floatListWithNumberList ("floatListWithNumberList", - functionWithGenericHeader_floatListWithNumberList, - & kTypeDescriptor_GALGAS_floatList, - 1, - functionArgs_floatListWithNumberList) ; +C_galgas_function_descriptor functionDescriptor_stringLBool ("stringLBool", + functionWithGenericHeader_stringLBool, + & kTypeDescriptor_GALGAS_string, + 1, + functionArgs_stringLBool) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Overriding extension method '@noRange enclose' +//Overriding extension method '@structAttribute set' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +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)) ; + } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Overriding extension method '@uint32AttributeSet enclose' +//Overriding extension method '@boolAttribute set' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 () ; +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)) ; } - }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 () ; + 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)) ; } - }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' +//Overriding extension method '@enumAttribute set' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 () ; +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)) ; } - }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' +//Overriding extension method '@stringAttribute set' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; - } +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 '@floatAttributeSet enclose' +//Overriding extension method '@string_class set' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; - } +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 '@uint32AttributeMinMax enclose' +//Overriding extension method '@objectRefAttribute set' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; - } +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)) ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Overriding extension method '@uint64AttributeMinMax enclose' +//Overriding extension method '@multipleAttribute set' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +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)) ; } - } - }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) ; + 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 () ; + } } } - enumerator_8831.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)) ; } - }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)) ; } + { + 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)) ; + } + { + 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)) ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Overriding extension method '@sint32AttributeMinMax enclose' +//Overriding extension method '@uint32_class set' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +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' +// +//-------------------------------------------------------------------------------------------------- + +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' +// +//-------------------------------------------------------------------------------------------------- + +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)) ; + } +} +//-------------------------------------------------------------------------------------------------- +// +//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)) ; + } +} +//-------------------------------------------------------------------------------------------------- +// +//Routine 'setDefaults?&' +// +//-------------------------------------------------------------------------------------------------- + +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_9486.gotoNextObject () ; + enumerator_1117.gotoNextObject () ; + } + { + objectArray_989->mProperty_objectsOfKind.setter_setObjects (var_objOfKind_1061 COMMA_SOURCE_FILE ("defaults.galgas", 44)) ; } - }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)) ; } + enumerator_948.gotoNextObject () ; + } + { + ioArgument_application.setter_setObjects (var_objects_870 COMMA_SOURCE_FILE ("defaults.galgas", 48)) ; } } -//---------------------------------------------------------------------------------------------------------------------- + + +//-------------------------------------------------------------------------------------------------- // -//Overriding extension method '@sint64AttributeMinMax enclose' +//Overriding extension method '@impStructType verifyType' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 () ; +void cPtr_impStructType::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_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) { - 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) ; + 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_10143.gotoNextObject () ; + enumerator_2395.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)) ; + TC_Array fixItArray1 ; + inCompiler->emitSemanticError (constinArgument_attr.readProperty_location (), GALGAS_string ("STRUCT expected"), fixItArray1 COMMA_SOURCE_FILE ("semantic_verification.galgas", 95)) ; } } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Overriding extension method '@floatAttributeMinMax enclose' +//Overriding extension method '@refType verifyType' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ()) ; +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) { + }else{ + TC_Array fixItArray0 ; + inCompiler->emitSemanticError (constinArgument_attr.readProperty_location (), GALGAS_string ("object reference expected"), fixItArray0 COMMA_SOURCE_FILE ("semantic_verification.galgas", 105)) ; + } + } +} +//-------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@impBoolType verifyType' +// +//-------------------------------------------------------------------------------------------------- + +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 ()) ; 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 () ; + test_0 = cast_3144_b.readProperty_value ().boolEnum () ; if (kBoolTrue == test_0) { - outArgument_isWithin = GALGAS_bool (true) ; + 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 () ; + } } } - }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) ; + 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 () ; } - 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)) ; + inCompiler->emitSemanticError (constinArgument_attr.readProperty_location (), GALGAS_string ("BOOLEAN expected"), fixItArray3 COMMA_SOURCE_FILE ("semantic_verification.galgas", 132)) ; } } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Function 'attributeRangeWithNumberList' +//Overriding extension method '@impEnumType verifyType' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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)) ; } } - 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)) ; +} +//-------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@impAutoDefaultType verifyType' +// +//-------------------------------------------------------------------------------------------------- + +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)) ; } - if (kBoolFalse == test_1) { + } +} +//-------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@impRangedType verifyType' +// +//-------------------------------------------------------------------------------------------------- + +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 (kIsEqual, constinArgument_type.objectCompare (GALGAS_dataType::constructor_uint_36__34_Number (SOURCE_FILE ("implementation_types.galgas", 416)))).boolEnum () ; + 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) { - 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)) ; + 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_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)) ; - } + }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)) ; } - 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 - } + } + }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)) ; } } -//--- - 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' +//Function 'attributeAllowsAuto' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) { - { - 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)) ; - } - } - } - } - } -} -//---------------------------------------------------------------------------------------------------------------------- - -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 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) ; - -//---------------------------------------------------------------------------------------------------------------------- -// -//Function 'stringAttributeOrError' -// -//---------------------------------------------------------------------------------------------------------------------- - -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_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 setter '@structAttribute mergeSubAttributes' -// -//---------------------------------------------------------------------------------------------------------------------- - -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 = 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)) ; - } - } - } - } - } -} -//---------------------------------------------------------------------------------------------------------------------- - -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) ; - -//---------------------------------------------------------------------------------------------------------------------- -// -//Function 'oil_dir' -// -//---------------------------------------------------------------------------------------------------------------------- - -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) ; - -//---------------------------------------------------------------------------------------------------------------------- -// -//Function 'arch' -// -//---------------------------------------------------------------------------------------------------------------------- - -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) ; - -//---------------------------------------------------------------------------------------------------------------------- -// -//Function 'chip' -// -//---------------------------------------------------------------------------------------------------------------------- - -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 'board' -// -//---------------------------------------------------------------------------------------------------------------------- - -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)) ; - } - { - GALGAS_string joker_2129 ; // Joker input parameter - var_components_1945.setter_popFirst (joker_2129, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 71)) ; +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) ; + } } - result_board_5F_name = GALGAS_string::constructor_componentsJoinedByString (var_components_1945, GALGAS_string ("/") COMMA_SOURCE_FILE ("goil_routines.galgas", 72)) ; + }else{ + result_allowsAuto = GALGAS_bool (false) ; } } - if (kBoolFalse == test_0) { - result_board_5F_name = GALGAS_string::makeEmptyString () ; - } //--- - return result_board_5F_name ; + return result_allowsAuto ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Function introspection -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_board [1] = { +static const C_galgas_type_descriptor * functionArgs_attributeAllowsAuto [2] = { + & kTypeDescriptor_GALGAS_impType, nullptr } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +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) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_board ("board", - functionWithGenericHeader_board, - & kTypeDescriptor_GALGAS_string, - 0, - functionArgs_board) ; +C_galgas_function_descriptor functionDescriptor_attributeAllowsAuto ("attributeAllowsAuto", + functionWithGenericHeader_attributeAllowsAuto, + & kTypeDescriptor_GALGAS_bool, + 1, + functionArgs_attributeAllowsAuto) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Function 'targetPathList' +//Routine 'verifyAllAttributes??' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 () ; +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 () ; } -//--- - return result_pathList ; } -//---------------------------------------------------------------------------------------------------------------------- -// Function introspection -//---------------------------------------------------------------------------------------------------------------------- - -static const C_galgas_type_descriptor * functionArgs_targetPathList [1] = { - nullptr -} ; - -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@multipleAttribute verifyCrossReferences' +// +//-------------------------------------------------------------------------------------------------- -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) ; +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' +// +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- +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' +// +//-------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_targetPathList ("targetPathList", - functionWithGenericHeader_targetPathList, - & kTypeDescriptor_GALGAS_list, - 0, - functionArgs_targetPathList) ; +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)) ; +} +//-------------------------------------------------------------------------------------------------- +// +//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)) ; +} +//-------------------------------------------------------------------------------------------------- // -//Function 'add_path_component' +//Overriding extension method '@objectRefAttribute verifyCrossReferences' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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)) ; } } - if (kBoolFalse == test_0) { - result_new_5F_path = inArgument_path.add_operation (inArgument_component, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 100)) ; + 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)) ; + } + } +} +//-------------------------------------------------------------------------------------------------- +// +//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)) ; } + 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_new_5F_path ; + return result_result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Function introspection -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_add_5F_path_5F_component [3] = { - & kTypeDescriptor_GALGAS_string, - & kTypeDescriptor_GALGAS_string, +static const C_galgas_type_descriptor * functionArgs_emptyApplicationDefinition [1] = { nullptr } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +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) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +C_galgas_function_descriptor functionDescriptor_emptyApplicationDefinition ("emptyApplicationDefinition", + functionWithGenericHeader_emptyApplicationDefinition, + & kTypeDescriptor_GALGAS_applicationDefinition, + 0, + functionArgs_emptyApplicationDefinition) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Function 'rootTemplatesDirectory' +//Function 'osObject' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; - } - } +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)) ; //--- - return result_templateDirectory ; + return result_os ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Function introspection -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_rootTemplatesDirectory [1] = { +static const C_galgas_type_descriptor * functionArgs_osObject [2] = { + & kTypeDescriptor_GALGAS_objectsMap, nullptr } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +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) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_rootTemplatesDirectory ("rootTemplatesDirectory", - functionWithGenericHeader_rootTemplatesDirectory, - & kTypeDescriptor_GALGAS_string, - 0, - functionArgs_rootTemplatesDirectory) ; +C_galgas_function_descriptor functionDescriptor_osObject ("osObject", + functionWithGenericHeader_osObject, + & kTypeDescriptor_GALGAS_objectAttributes, + 1, + functionArgs_osObject) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Function 'templates_directory' +//Function 'objectForKindAndName' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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 enumGalgasBool test_0 = kBoolTrue ; if (kBoolTrue == test_0) { - test_0 = GALGAS_bool (kIsNotEqual, result_temp_5F_dir.objectCompare (GALGAS_string::makeEmptyString ())).boolEnum () ; + test_0 = constinArgument_objects.getter_hasKey (constinArgument_kind COMMA_SOURCE_FILE ("goil_types_root.galgas", 79)).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)) ; + 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 = 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 () ; + 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_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)) ; + 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_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_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)) ; } } } + 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_temp_5F_dir ; + return result_object ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Function introspection -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_templates_5F_directory [2] = { +static const C_galgas_type_descriptor * functionArgs_objectForKindAndName [4] = { + & kTypeDescriptor_GALGAS_objectsMap, + & kTypeDescriptor_GALGAS_string, & kTypeDescriptor_GALGAS_string, nullptr } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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), +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) ; - return function_templates_5F_directory (operand0, - inCompiler - COMMA_THERE).getter_object (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_templates_5F_directory ("templates_directory", - functionWithGenericHeader_templates_5F_directory, - & kTypeDescriptor_GALGAS_string, - 1, - functionArgs_templates_5F_directory) ; +C_galgas_function_descriptor functionDescriptor_objectForKindAndName ("objectForKindAndName", + functionWithGenericHeader_objectForKindAndName, + & kTypeDescriptor_GALGAS_objectAttributes, + 3, + functionArgs_objectForKindAndName) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Function 'templateFilePath' +//Routine 'setObjectForKindAndName&???' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 () ; - } - if (loop_5244 && (0 == variant_5244)) { - loop_5244 = false ; - inCompiler->loopRunTimeVariantError (SOURCE_FILE ("goil_routines.galgas", 164)) ; +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)) ; } - 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) ; - } + } + } + 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)) ; } } } + { + 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_path ; + return result_result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Function introspection -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_templateFilePath [3] = { - & kTypeDescriptor_GALGAS_string, +static const C_galgas_type_descriptor * functionArgs_objectsForKind [3] = { + & kTypeDescriptor_GALGAS_objectsMap, & kTypeDescriptor_GALGAS_string, nullptr } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +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) ; 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) ; + return function_objectsForKind (operand0, + operand1, + inCompiler + COMMA_THERE).getter_object (THERE) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_templateFilePath ("templateFilePath", - functionWithGenericHeader_templateFilePath, - & kTypeDescriptor_GALGAS_string, - 2, - functionArgs_templateFilePath) ; +C_galgas_function_descriptor functionDescriptor_objectsForKind ("objectsForKind", + functionWithGenericHeader_objectsForKind, + & kTypeDescriptor_GALGAS_objectKind, + 2, + functionArgs_objectsForKind) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Function 'allTemplatePaths' +//Function 'listInOS' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 () ; - } +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)) ; //--- - return result_paths ; + return result_items ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Function introspection -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_allTemplatePaths [2] = { +static const C_galgas_type_descriptor * functionArgs_listInOS [3] = { + & kTypeDescriptor_GALGAS_objectsMap, & kTypeDescriptor_GALGAS_string, nullptr } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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), +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), inCompiler COMMA_THERE) ; - return function_allTemplatePaths (operand0, - inCompiler - COMMA_THERE).getter_object (THERE) ; + return function_listInOS (operand0, + operand1, + inCompiler + COMMA_THERE).getter_object (THERE) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_allTemplatePaths ("allTemplatePaths", - functionWithGenericHeader_allTemplatePaths, - & kTypeDescriptor_GALGAS_stringlist, - 1, - functionArgs_allTemplatePaths) ; +C_galgas_function_descriptor functionDescriptor_listInOS ("listInOS", + functionWithGenericHeader_listInOS, + & kTypeDescriptor_GALGAS_identifierList, + 2, + functionArgs_listInOS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Routine 'checkTemplatesPath' +//Function 'customGtlStringGetter' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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 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 () ; + test_0 = GALGAS_bool (kIsEqual, GALGAS_string ("parseOIL").objectCompare (constinArgument_methodName.readProperty_string ())).boolEnum () ; if (kBoolTrue == test_0) { - 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) { - 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) ; - } + { + 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)) ; } - enumerator_6542.gotoNextObject () ; + 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 ; } } -} - - -//---------------------------------------------------------------------------------------------------------------------- -// -//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) ; - } - } - } + 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_paths ; + return result_result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Function introspection -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_allTemplateFilePaths [3] = { - & kTypeDescriptor_GALGAS_string, +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 } ; -//---------------------------------------------------------------------------------------------------------------------- - -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 'do_replace_default' +//Routine 'generate_signed_type??!' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) { +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)) ; enumGalgasBool test_0 = kBoolTrue ; if (kBoolTrue == test_0) { - test_0 = GALGAS_bool (kIsNotEqual, inArgument_n.objectCompare (GALGAS_string::makeEmptyString ())).boolEnum () ; + test_0 = GALGAS_bool (kIsStrictInf, inArgument_count.objectCompare (var_max_5F_s_38__1048)).boolEnum () ; if (kBoolTrue == test_0) { - ioArgument_s = ioArgument_s.getter_stringByReplacingStringByString (inArgument_o, inArgument_n, inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 261)) ; + outArgument_type = GALGAS_string ("s8") ; } } if (kBoolFalse == test_0) { - 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)) ; + 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_0) { - ioArgument_implementation = ioArgument_implementation.add_operation (GALGAS_string ("\n"), inCompiler COMMA_SOURCE_FILE ("goil_routines.galgas", 304)) ; + 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)) ; + } } - enumerator_9073.gotoNextObject () ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Routine 'add_to_stringset' +//Routine 'generate_unsigned_type??!' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void routine_add_5F_to_5F_stringset (GALGAS_stringset & ioArgument_ss, - GALGAS_string inArgument_new, - C_Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { +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)) ; enumGalgasBool test_0 = kBoolTrue ; if (kBoolTrue == test_0) { - test_0 = ioArgument_ss.getter_hasKey (inArgument_new COMMA_SOURCE_FILE ("goil_routines.galgas", 409)).boolEnum () ; + test_0 = GALGAS_bool (kIsStrictInf, inArgument_count.objectCompare (var_max_5F_u_38__1504)).boolEnum () ; if (kBoolTrue == test_0) { - 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)) ; + outArgument_type = GALGAS_string ("u8") ; } } if (kBoolFalse == test_0) { - ioArgument_ss.addAssign_operation (inArgument_new COMMA_SOURCE_FILE ("goil_routines.galgas", 412)) ; + 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)) ; + } + } } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Routine 'file_in_path' +//Routine 'generate_mask_type??!' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; +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)) ; enumGalgasBool test_0 = kBoolTrue ; if (kBoolTrue == test_0) { - test_0 = GALGAS_bool (kIsNotEqual, var_include_5F_path_12900.objectCompare (GALGAS_string::makeEmptyString ())).boolEnum () ; + test_0 = GALGAS_bool (kIsInfOrEqual, inArgument_count.objectCompare (var_max_5F_u_38__1954)).boolEnum () ; if (kBoolTrue == test_0) { - var_includePathList_13182 = var_include_5F_path_12900.getter_componentsSeparatedByString (GALGAS_string (":") COMMA_SOURCE_FILE ("goil_routines.galgas", 425)) ; + outArgument_type = GALGAS_string ("u8") ; } } 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 (kIsNotEqual, var_full_5F_file_5F_path_13512.objectCompare (GALGAS_string::makeEmptyString ())).boolEnum () ; + test_1 = GALGAS_bool (kIsInfOrEqual, inArgument_count.objectCompare (var_max_5F_u_31__36__1980)).boolEnum () ; if (kBoolTrue == test_1) { - enumGalgasBool test_2 = kBoolTrue ; + 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) { - 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)) ; - } + outArgument_type = GALGAS_string ("u32") ; } } - } - 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) ; + 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)) ; } } - enumerator_13473.gotoNextObject () ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Routine 'is_in_lstringlist' +//Overriding extension getter '@goilContext fullPrefix' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; +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 () ; 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) ; + 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)) ; } - enumerator_14127.gotoNextObject () ; } -} - - -//---------------------------------------------------------------------------------------------------------------------- -// -//Function 'isInLstringlist' -// -//---------------------------------------------------------------------------------------------------------------------- - -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) ; + 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 () ; + } + } } } - enumerator_14325.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_p ; + return result_full ; +} + + +//-------------------------------------------------------------------------------------------------- +// +//Function 'emptyGoilContext' +// +//-------------------------------------------------------------------------------------------------- + +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)) ; +//--- + return result_context ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Function introspection -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_isInLstringlist [3] = { - & kTypeDescriptor_GALGAS_lstringlist, - & kTypeDescriptor_GALGAS_lstring, +static const C_galgas_type_descriptor * functionArgs_emptyGoilContext [1] = { nullptr } ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +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) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_isInLstringlist ("isInLstringlist", - functionWithGenericHeader_isInLstringlist, - & kTypeDescriptor_GALGAS_bool, - 2, - functionArgs_isInLstringlist) ; +C_galgas_function_descriptor functionDescriptor_emptyGoilContext ("emptyGoilContext", + functionWithGenericHeader_emptyGoilContext, + & kTypeDescriptor_GALGAS_goilContext, + 0, + functionArgs_emptyGoilContext) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Routine 'add_lstring_unique' +//Routine 'generate_all?' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; - } +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)) ; enumGalgasBool test_0 = kBoolTrue ; if (kBoolTrue == test_0) { - test_0 = var_found_14492.boolEnum () ; + test_0 = GALGAS_bool (kIsNotEqual, var_temp_5F_dir_23447.objectCompare (GALGAS_string::makeEmptyString ())).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)) ; + 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)) ; + } } } if (kBoolFalse == test_0) { - ioArgument_l.addAssign_operation (inArgument_e COMMA_SOURCE_FILE ("goil_routines.galgas", 485)) ; + inCompiler->printMessage (GALGAS_string ("No template directory defined, compiling aborted\n") COMMA_SOURCE_FILE ("goil_code_generation.galgas", 778)) ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Routine 'set_lstring_if_empty' +//Routine 'getAutosarVersion?!!' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void routine_set_5F_lstring_5F_if_5F_empty (GALGAS_lstring & ioArgument_s, - GALGAS_lstring inArgument_ns, - GALGAS_string inArgument_att, - C_Compiler * inCompiler +void routine_getAutosarVersion_3F__21__21_ (GALGAS_arxmlNode inArgument_rootNode, + GALGAS_lstring & outArgument_iAutosarVersion, + GALGAS_lstring & outArgument_iAutosarDescription, + 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, ioArgument_s.readProperty_string ().objectCompare (GALGAS_string::makeEmptyString ())).boolEnum () ; + 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) { - ioArgument_s = inArgument_ns ; + 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)) ; } } - 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)) ; + 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)) ; + } + } + 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 () ; + } + } } + outArgument_iAutosarVersion = var_autosarVersion_7851 ; + outArgument_iAutosarDescription = var_autosarDescription_7896 ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Routine 'add_makefile_flag_if_not_empty' +//Routine 'includeConfigs&&&?' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; - } +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 () ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Function 'lstringWith' +//Routine 'nodeToClass?&!' // -//---------------------------------------------------------------------------------------------------------------------- - -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) ; +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)) ; + } } -//---------------------------------------------------------------------------------------------------------------------- - -C_galgas_function_descriptor functionDescriptor_lstringWith ("lstringWith", - functionWithGenericHeader_lstringWith, - & kTypeDescriptor_GALGAS_lstring, - 1, - functionArgs_lstringWith) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Function 'stripString' +//Routine 'nodeToClassRes??!' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 () ; +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 ; 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) ; - } + 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 () ; } - 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 () ; + } + } + 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)) ; } - if (loop_15654 && (0 == variant_15654)) { - loop_15654 = false ; - inCompiler->loopRunTimeVariantError (SOURCE_FILE ("goil_routines.galgas", 529)) ; + 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) { - 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) ; - } + } + 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)) ; } } } - 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)) ; + } + 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)) ; } } - if (kBoolFalse == test_5) { - result_r = GALGAS_string::makeEmptyString () ; + 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)) ; } + 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 ; } -//---------------------------------------------------------------------------------------------------------------------- -// Function introspection -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// +//Routine 'convertToOil&&?' +// +//-------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_stripString [2] = { - & kTypeDescriptor_GALGAS_string, - nullptr -} ; +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 () ; + } +} -//---------------------------------------------------------------------------------------------------------------------- -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) ; -} +//-------------------------------------------------------------------------------------------------- +// +//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 () ; + } +} -C_galgas_function_descriptor functionDescriptor_stripString ("stripString", - functionWithGenericHeader_stripString, - & kTypeDescriptor_GALGAS_string, - 1, - functionArgs_stripString) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Routine 'errorNoFileFound' +//Routine 'arxmlImplementationRoot&??' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 () ; +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)) ; } - TC_Array fixItArray0 ; - inCompiler->emitSemanticError (constinArgument_file.readProperty_location (), var_m_16123, fixItArray0 COMMA_SOURCE_FILE ("goil_routines.galgas", 555)) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Function 'stringLBool' +//Routine 'arxmlImplementationObject&??' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_string function_stringLBool (const GALGAS_lbool & constinArgument_boolValue, - C_Compiler * - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_string result_result ; // Returned variable +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 ; enumGalgasBool test_0 = kBoolTrue ; if (kBoolTrue == test_0) { - test_0 = constinArgument_boolValue.readProperty_bool ().boolEnum () ; + 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) { - result_result = GALGAS_string ("TRUE") ; + { + 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) { - result_result = GALGAS_string ("FALSE") ; + 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)) ; } -//--- - return result_result ; } -//---------------------------------------------------------------------------------------------------------------------- -// Function introspection -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// +//Routine 'arxmlImplementationContainer&??' +// +//-------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_stringLBool [2] = { - & kTypeDescriptor_GALGAS_lbool, - nullptr -} ; +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 () ; + } +} -//---------------------------------------------------------------------------------------------------------------------- -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) ; +//-------------------------------------------------------------------------------------------------- +// +//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)) ; +} + + +//-------------------------------------------------------------------------------------------------- +// +//Routine 'arxmlImplementationContainerString!!???' +// +//-------------------------------------------------------------------------------------------------- + +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 ; + { + routine_arxmlGetWithAuto_3F__21_ (inArgument_parameter, var_withAuto_32940, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 949)) ; + } + 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)) ; + } + } + { + 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)) ; + } + 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)) ; } -//---------------------------------------------------------------------------------------------------------------------- - -C_galgas_function_descriptor functionDescriptor_stringLBool ("stringLBool", - functionWithGenericHeader_stringLBool, - & kTypeDescriptor_GALGAS_string, - 1, - functionArgs_stringLBool) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Overriding extension method '@structAttribute set' +//Routine 'arxmlImplementationContainerBoolean!!???' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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 { - 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)) ; + 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)) ; } { - var_subAttrs_928.setter_setMeta (this->mProperty_oil_5F_desc COMMA_SOURCE_FILE ("systemConfig.galgas", 38)) ; + routine_arxmlGetName_3F__21_ (inArgument_parameter, outArgument_objectName, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 994)) ; } { - 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)) ; + 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)) ; } -} -//---------------------------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@boolAttribute set' -// -//---------------------------------------------------------------------------------------------------------------------- - -void cPtr_boolAttribute::method_set (const GALGAS_lstring constinArgument_name, - GALGAS_gtlData & ioArgument_result, - C_Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_bool var_withAuto_34510 ; { - 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)) ; + routine_arxmlGetWithAuto_3F__21_ (inArgument_parameter, var_withAuto_34510, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 998)) ; } - GALGAS_gtlData var_subAttrs_1655 = callExtensionGetter_fieldMap ((const cPtr_objectAttributes *) this->mProperty_subAttributes.ptr (), inCompiler COMMA_SOURCE_FILE ("systemConfig.galgas", 53)) ; + 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 ; + { + routine_arxmlGetDescription_3F__21_ (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) { - 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 = 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)) ; } - 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)) ; + } + 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)) ; + } + } + 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) { { - var_subAttrs_1655.setter_setMeta (this->mProperty_oil_5F_desc COMMA_SOURCE_FILE ("systemConfig.galgas", 56)) ; + routine_displayOil_3F_ (GALGAS_string ("\n {\n"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1042)) ; } { - 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)) ; + routine_arxmlImplementationContainer_26__3F__3F_ (var_structAttributes_36004, inArgument_parameter, inArgument_parentPath, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1043)) ; } + { + 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)) ; + } + } + } + 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)) ; } -//---------------------------------------------------------------------------------------------------------------------- + + +//-------------------------------------------------------------------------------------------------- // -//Overriding extension method '@enumAttribute set' +//Routine 'arxmlImplementationContainerEnumeration!!???' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void cPtr_enumAttribute::method_set (const GALGAS_lstring constinArgument_name, - GALGAS_gtlData & ioArgument_result, - C_Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { +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 { - 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)) ; + 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)) ; } - 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)) ; + { + 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)) ; } } - test_0 = GALGAS_bool (kIsStrictSup, temp_1.readProperty_value ().getter_count (SOURCE_FILE ("systemConfig.galgas", 68)).objectCompare (GALGAS_uint (uint32_t (0U)))).boolEnum () ; + enumerator_37770.gotoNextObject () ; + } + { + routine_displayOil_3F_ (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_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)) ; + 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)) ; { - var_subAttrs_2277.setter_setMeta (this->mProperty_oil_5F_desc COMMA_SOURCE_FILE ("systemConfig.galgas", 70)) ; + 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)) ; } - { - 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)) ; + 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)) ; } } + 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)) ; + } } -} -//---------------------------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@stringAttribute set' -// -//---------------------------------------------------------------------------------------------------------------------- - -void cPtr_stringAttribute::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_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)) ; + 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)) ; } -//---------------------------------------------------------------------------------------------------------------------- + + +//-------------------------------------------------------------------------------------------------- // -//Overriding extension method '@string_class set' +//Routine 'arxmlImplementationContainerStructure!!???' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void cPtr_string_5F_class::method_set (const GALGAS_lstring constinArgument_name, - GALGAS_gtlData & ioArgument_result, - C_Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { +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 { - 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)) ; + 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)) ; } -} -//---------------------------------------------------------------------------------------------------------------------- -// -//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) { { - 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)) ; + 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)) ; + } + { + 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)) ; } + 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)) ; } -//---------------------------------------------------------------------------------------------------------------------- + + +//-------------------------------------------------------------------------------------------------- // -//Overriding extension method '@multipleAttribute set' +//Routine 'arxmlImplementationContainerIdentifier!!???' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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 ; + { + routine_arxmlGetWithAuto_3F__21_ (inArgument_parameter, var_withAuto_40881, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1193)) ; + } + GALGAS_lstring var_oil_5F_desc_40970 ; + { + 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)) ; + } + } + 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)) ; } } - { - 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)) ; + 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)) ; } - 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)) ; + 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)) ; } + 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)) ; } -//---------------------------------------------------------------------------------------------------------------------- + + +//-------------------------------------------------------------------------------------------------- // -//Overriding extension method '@uint32_class set' +//Routine 'arxmlImplementationContainerReference!!???' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) { +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)) ; { - 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)) ; + 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)) ; } -} -//---------------------------------------------------------------------------------------------------------------------- -// -//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) { { - 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)) ; + routine_arxmlGetName_3F__21_ (inArgument_parameter, outArgument_objectName, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1241)) ; } -} -//---------------------------------------------------------------------------------------------------------------------- -// -//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) { { - 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)) ; + 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)) ; } -} -//---------------------------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@sint64_class set' -// -//---------------------------------------------------------------------------------------------------------------------- - -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) { + GALGAS_lbool var_multiple_42708 ; { - 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_arxmlGetMultiplicity_3F__3F__21_ (inArgument_parameter, outArgument_objectName, var_multiple_42708, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1245)) ; } -} -//---------------------------------------------------------------------------------------------------------------------- -// -//Overriding extension method '@float_class set' -// -//---------------------------------------------------------------------------------------------------------------------- - -void cPtr_float_5F_class::method_set (const GALGAS_lstring constinArgument_name, - GALGAS_gtlData & ioArgument_result, - C_Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { + GALGAS_lstring var_oil_5F_desc_42797 ; { - 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)) ; + routine_arxmlGetDescription_3F__21_ (inArgument_parameter, var_oil_5F_desc_42797, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1248)) ; + } + { + 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)) ; } + 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)) ; } -//---------------------------------------------------------------------------------------------------------------------- + + +//-------------------------------------------------------------------------------------------------- // -//Overriding extension method '@auto set' +//Routine 'arxmlDefinitionPackage&&??' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void cPtr_auto::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_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)) ; +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 () ; } } -//---------------------------------------------------------------------------------------------------------------------- + + +//-------------------------------------------------------------------------------------------------- // -//Routine 'setDefaults' +//Routine 'arxmlDefinitionRoot&&??' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; - } +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 ; + { + routine_arxmlGetDescription_3F__21_ (inArgument_packageElement, var_oil_5F_desc_45042, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1317)) ; + } + 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)) ; + { + 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)) ; + } + 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)) ; } - enumerator_948.gotoNextObject () ; + enumerator_45352.gotoNextObject () ; } { - ioArgument_application.setter_setObjects (var_objects_870 COMMA_SOURCE_FILE ("defaults.galgas", 48)) ; + 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_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)) ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Overriding extension method '@impStructType verifyType' +//Routine 'arxmlDefinitionObject&&??' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 () ; +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)) ; } - }else{ - TC_Array fixItArray1 ; - inCompiler->emitSemanticError (constinArgument_attr.readProperty_location (), GALGAS_string ("STRUCT expected"), fixItArray1 COMMA_SOURCE_FILE ("semantic_verification.galgas", 95)) ; } } -} -//---------------------------------------------------------------------------------------------------------------------- -// -//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)) ; + 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 '@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 () ; - } + 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)) ; } - }else{ - TC_Array fixItArray3 ; - inCompiler->emitSemanticError (constinArgument_attr.readProperty_location (), GALGAS_string ("BOOLEAN expected"), fixItArray3 COMMA_SOURCE_FILE ("semantic_verification.galgas", 132)) ; } } -} -//---------------------------------------------------------------------------------------------------------------------- -// -//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 () ; - } - } - } - 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)) ; + 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)) ; + } + { + var_object_46411.setter_setObjectParams (var_attributes_47413 COMMA_SOURCE_FILE ("arxml_parser.galgas", 1395)) ; } - }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)) ; + } } -//---------------------------------------------------------------------------------------------------------------------- + + +//-------------------------------------------------------------------------------------------------- // -//Overriding extension method '@impAutoDefaultType verifyType' +//Routine 'arxmlDefinitionContainer?&??' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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)) ; } + enumerator_49644.gotoNextObject () ; } } -//---------------------------------------------------------------------------------------------------------------------- + + +//-------------------------------------------------------------------------------------------------- // -//Overriding extension method '@impRangedType verifyType' +//Routine 'arxmlDefinitionParameter?&??' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; +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 () ; if (kBoolTrue == test_2) { - 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)) ; + 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)) ; + } } - } - }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_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_sint_36__34__5F_class) { + } + if (kBoolFalse == test_2) { enumGalgasBool test_6 = kBoolTrue ; if (kBoolTrue == test_6) { - test_6 = GALGAS_bool (kIsNotEqual, this->mProperty_type.objectCompare (GALGAS_dataType::constructor_sint_36__34_Number (SOURCE_FILE ("semantic_verification.galgas", 200)))).boolEnum () ; + 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) { - 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)) ; + var_parameterValue_50817 = callExtensionGetter_getTextFromElement ((const cPtr_arxmlElementValue *) inArgument_parameter.ptr (), GALGAS_string ("SHORT-NAME"), inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1506)) ; } } - }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 (kBoolFalse == test_6) { + enumGalgasBool test_8 = kBoolTrue ; 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)) ; + 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) ; + } + } + } } - } - }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) { + if (kBoolFalse == test_8) { 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)) ; + 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 } } - }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)) ; } } -} -//---------------------------------------------------------------------------------------------------------------------- -// -//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) ; + 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)) ; } } - }else{ - 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 + } } } -//--- - 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)) ; + 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) ; } } } } } } - 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)) ; + } + } + } + { + 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 (enumerator_7085.current_type (HERE).isValid ()) { - if (enumerator_7085.current_type (HERE).dynamicTypeDescriptor () == & kTypeDescriptor_GALGAS_impAutoDefaultType) { + } + 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)) ; } } - enumerator_7085.gotoNextObject () ; } - enumerator_7036.gotoNextObject () ; } - enumerator_6885.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)) ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Overriding extension method '@multipleAttribute verifyCrossReferences' +//Routine 'testTypeError??' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 () ; +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)) ; + } } } -//---------------------------------------------------------------------------------------------------------------------- + + +//-------------------------------------------------------------------------------------------------- // -//Overriding extension method '@boolAttribute verifyCrossReferences' +//Routine 'oilEquivalentName??!' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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)) ; } } - GALGAS_impBoolType var_boolType_19259 = temp_0 ; + 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)) ; enumGalgasBool test_1 = kBoolTrue ; if (kBoolTrue == test_1) { - test_1 = this->mProperty_value.boolEnum () ; + test_1 = GALGAS_bool (kIsEqual, var_lastParent_62744.objectCompare (GALGAS_string ("OSOS"))).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)) ; + var_lastParent_62744 = GALGAS_string ("OS") ; } } - 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_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 ; } } - 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)) ; - } + 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 } - 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)) ; } -//---------------------------------------------------------------------------------------------------------------------- + + +//-------------------------------------------------------------------------------------------------- // -//Overriding extension method '@objectRefAttribute verifyCrossReferences' +//Routine 'arxmlGetDescription?!' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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)) ; } } - 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 () ; + 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) { - 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_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 'verifyAll' +//Routine 'displayOil?' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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)) ; + } } - 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' +//Routine 'arxmlGetMultiplicity??!' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; +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)) ; + } } -//---------------------------------------------------------------------------------------------------------------------- -// Function introspection -//---------------------------------------------------------------------------------------------------------------------- - -static const C_galgas_type_descriptor * functionArgs_emptyApplicationDefinition [1] = { - nullptr -} ; - -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// +//Routine 'arxmlPopSign&!' +// +//-------------------------------------------------------------------------------------------------- -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) ; +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) ; + } + } } -//---------------------------------------------------------------------------------------------------------------------- - -C_galgas_function_descriptor functionDescriptor_emptyApplicationDefinition ("emptyApplicationDefinition", - functionWithGenericHeader_emptyApplicationDefinition, - & kTypeDescriptor_GALGAS_applicationDefinition, - 0, - functionArgs_emptyApplicationDefinition) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Function 'osObject' +//Routine 'arxmlGetWithAuto?!' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; +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)) ; + } + } + } + } + } } -//---------------------------------------------------------------------------------------------------------------------- -// Function introspection -//---------------------------------------------------------------------------------------------------------------------- - -static const C_galgas_type_descriptor * functionArgs_osObject [2] = { - & kTypeDescriptor_GALGAS_objectsMap, - nullptr -} ; - -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// +//Routine 'arxmlGetName?!' +// +//-------------------------------------------------------------------------------------------------- -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) ; +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)) ; } -//---------------------------------------------------------------------------------------------------------------------- - -C_galgas_function_descriptor functionDescriptor_osObject ("osObject", - functionWithGenericHeader_osObject, - & kTypeDescriptor_GALGAS_objectAttributes, - 1, - functionArgs_osObject) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Function 'objectForKindAndName' +//Routine 'arxmlInsertObjectAttribute&??' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 +void routine_arxmlInsertObjectAttribute_26__3F__3F_ (GALGAS_implementationObjectMap & ioArgument_objectAttributes, + GALGAS_lstring inArgument_attributeName, + GALGAS_impType inArgument_type, + Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { 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 = ioArgument_objectAttributes.getter_hasKey (inArgument_attributeName.readProperty_string () COMMA_SOURCE_FILE ("arxml_parser.galgas", 1901)).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)) ; + 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_kindObj_1966.readProperty_objects ().getter_hasKey (constinArgument_name COMMA_SOURCE_FILE ("goil_types_root.galgas", 82)).boolEnum () ; + test_1 = var_previousType_66643.readProperty_multiple ().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_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)) ; + } + } + } } } - 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)) ; + 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) { - 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)) ; + { + ioArgument_objectAttributes.setter_put (inArgument_attributeName, inArgument_type, inCompiler COMMA_SOURCE_FILE ("arxml_parser.galgas", 1963)) ; + } } -//--- - return result_object ; } -//---------------------------------------------------------------------------------------------------------------------- -// Function introspection -//---------------------------------------------------------------------------------------------------------------------- - -static const C_galgas_type_descriptor * functionArgs_objectForKindAndName [4] = { - & kTypeDescriptor_GALGAS_objectsMap, - & kTypeDescriptor_GALGAS_string, - & kTypeDescriptor_GALGAS_string, - nullptr -} ; - -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@arxmlElementNode print' +// +//-------------------------------------------------------------------------------------------------- -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) ; +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)) ; } - -//---------------------------------------------------------------------------------------------------------------------- - -C_galgas_function_descriptor functionDescriptor_objectForKindAndName ("objectForKindAndName", - functionWithGenericHeader_objectForKindAndName, - & kTypeDescriptor_GALGAS_objectAttributes, - 3, - functionArgs_objectForKindAndName) ; - -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Routine 'setObjectForKindAndName' +//Overriding extension method '@arxmlElementNode getElementsFromName' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +void cPtr_arxmlElementNode::method_getElementsFromName (const GALGAS_string constinArgument_nodeName, + GALGAS_arxmlElementList & ioArgument_nodeList, + Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { 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 () ; + test_0 = GALGAS_bool (kIsEqual, constinArgument_nodeName.objectCompare (this->mProperty_name.readProperty_string ())).boolEnum () ; if (kBoolTrue == test_0) { - { - ioArgument_objects.setter_del (var_lkind_2431, var_kindObj_2514, inCompiler COMMA_SOURCE_FILE ("goil_types_root.galgas", 101)) ; - } + const GALGAS_arxmlElementNode temp_1 = this ; + ioArgument_nodeList.addAssign_operation (temp_1 COMMA_SOURCE_FILE ("arxml_types.galgas", 185)) ; } } - 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)) ; + 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)) ; + } + } } } - } - { - 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)) ; + enumerator_4178.gotoNextObject () ; } } - - -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Function 'objectsForKind' +//Overriding extension method '@arxmlElementNode getProperty' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 +void cPtr_arxmlElementNode::method_getProperty (const GALGAS_string constinArgument_nodeName, + GALGAS_lstring & ioArgument_value, + GALGAS_bool & ioArgument_found, + Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { 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 () ; + test_0 = GALGAS_bool (kIsEqual, constinArgument_nodeName.objectCompare (this->mProperty_name.readProperty_string ())).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)) ; + 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)) ; } } - 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)) ; + 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 () ; + } + } + } + } } -//--- - return result_result ; } +//-------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@arxmlCommentNode print' +// +//-------------------------------------------------------------------------------------------------- - -//---------------------------------------------------------------------------------------------------------------------- -// Function introspection -//---------------------------------------------------------------------------------------------------------------------- - -static const C_galgas_type_descriptor * functionArgs_objectsForKind [3] = { - & kTypeDescriptor_GALGAS_objectsMap, - & kTypeDescriptor_GALGAS_string, - nullptr -} ; - -//---------------------------------------------------------------------------------------------------------------------- - -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) ; +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' +// +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- - -C_galgas_function_descriptor functionDescriptor_objectsForKind ("objectsForKind", - functionWithGenericHeader_objectsForKind, - & kTypeDescriptor_GALGAS_objectKind, - 2, - functionArgs_objectsForKind) ; - -//---------------------------------------------------------------------------------------------------------------------- +void cPtr_arxmlCommentNode::method_getElementsFromName (const GALGAS_string /* constinArgument_nodeName */, + GALGAS_arxmlElementList & /* ioArgument_nodeList */, + Compiler * /* inCompiler */ + COMMA_UNUSED_LOCATION_ARGS) { +} +//-------------------------------------------------------------------------------------------------- // -//Function 'listInOS' +//Overriding extension method '@arxmlCommentNode getSubElementsFromName' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; +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' +// +//-------------------------------------------------------------------------------------------------- +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' +// +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- -// Function introspection -//---------------------------------------------------------------------------------------------------------------------- +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)) ; +} +//-------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@arxmlTextNode getElementsFromName' +// +//-------------------------------------------------------------------------------------------------- -static const C_galgas_type_descriptor * functionArgs_listInOS [3] = { - & kTypeDescriptor_GALGAS_objectsMap, - & kTypeDescriptor_GALGAS_string, - nullptr -} ; +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) { +} +//-------------------------------------------------------------------------------------------------- +// +//Overriding extension method '@arxmlTextNode getProperty' +// +//-------------------------------------------------------------------------------------------------- -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) ; +void cPtr_arxmlTextNode::method_getProperty (const GALGAS_string /* constinArgument_nodeName */, + GALGAS_lstring & /* ioArgument_value */, + GALGAS_bool & /* ioArgument_found */, + Compiler * /* inCompiler */ + COMMA_UNUSED_LOCATION_ARGS) { } +//-------------------------------------------------------------------------------------------------- +// +//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)) ; +} -C_galgas_function_descriptor functionDescriptor_listInOS ("listInOS", - functionWithGenericHeader_listInOS, - & kTypeDescriptor_GALGAS_identifierList, - 2, - functionArgs_listInOS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Function 'customGtlStringGetter' +//Routine 'fillLegacy&&' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; +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)) ; + } + 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 ; } -//---------------------------------------------------------------------------------------------------------------------- -// Function introspection -//---------------------------------------------------------------------------------------------------------------------- +#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" -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, +//-------------------------------------------------------------------------------------------------- +// +// 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 -} ; +} ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; -} +static const char * kSourceFileHelpMessages [] = { + "an '.oil' source file", + "an '.OIL' source file", + "a Goil template file", + "an AUTOSAR arxml configuration file", + nullptr +} ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_galgas_function_descriptor functionDescriptor_customGtlStringGetter ("customGtlStringGetter", - functionWithGenericHeader_customGtlStringGetter, - & kTypeDescriptor_GALGAS_gtlData, - 6, - functionArgs_customGtlStringGetter) ; +const char * projectVersionString (void) { + return "3.1.16" ; +} -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Routine 'generate_signed_type' +//Routine 'before' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) { - 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)) ; - } - } +static void routine_before (Compiler * /* inCompiler */ + COMMA_UNUSED_LOCATION_ARGS) { + { } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Routine 'generate_unsigned_type' +//Routine 'after' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; - } - } +static void routine_after (Compiler * /* inCompiler */ + COMMA_UNUSED_LOCATION_ARGS) { + { } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Routine 'generate_mask_type' +//Routine 'programRule_0' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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") ; - } +static void routine_programRule_5F__30_ (const GALGAS_lstring constinArgument_inSourceFile, + Compiler * inCompiler + COMMA_UNUSED_LOCATION_ARGS) { + { + routine_checkTemplatesPath (inCompiler COMMA_SOURCE_FILE ("goil_program.galgas", 33)) ; } - 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)) ; - } - } + 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, + 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)) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Overriding extension getter '@goilContext fullPrefix' +//Routine 'programRule_2' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 () ; +static void routine_programRule_5F__32_ (const GALGAS_lstring /* constinArgument_inSourceFile */, + Compiler * /* inCompiler */ + COMMA_UNUSED_LOCATION_ARGS) { +} + + +//-------------------------------------------------------------------------------------------------- +// +//Routine 'programRule_3' +// +//-------------------------------------------------------------------------------------------------- + +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 ; + } }else{ - inCompiler->castError ("gtlString", var_compiler_22438.ptr ()->classDescriptor () COMMA_SOURCE_FILE ("goil_code_generation.galgas", 692)) ; + printf ("*** Error: unhandled extension for file '%s' ***\n", sourceFilesArray (i COMMA_HERE).cString ()) ; + r = 1 ; } - } - 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)) ; - } + if (r != 0) { + returnCode = r ; } - 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)) ; - } + //--- 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_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 () ; - } + //--- 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") ; + } + message.appendCString (", ") ; + if (totalErrorCount () == 0) { + message.appendCString ("no error") ; + }else if (totalErrorCount () == 1) { + message.appendCString ("1 error") ; + }else{ + message.appendSigned (totalErrorCount ()) ; + message.appendCString (" errors") ; } + 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) ; } - 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 ; + return returnCode ; } - diff --git a/goil/build/output/all-declarations-10.h b/goil/build/output/all-declarations-10.h index 9fa1f93af..1214ceda7 100644 --- a/goil/build/output/all-declarations-10.h +++ b/goil/build/output/all-declarations-10.h @@ -1,1035 +1,993 @@ #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 C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Function 'checkRanged' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_bool function_checkRanged (const class GALGAS_impRangedType & constinArgument0, const class GALGAS_impRangedType & constinArgument1, - class C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Function 'floatOrError' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_double function_floatOrError (class GALGAS_object_5F_t inArgument0, class GALGAS_string inArgument1, - class C_Compiler * inCompiler + class 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 C_Compiler * inCompiler + class 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 C_Compiler * inCompiler + class 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 C_Compiler * inCompiler + class 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 C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Function 'stringWithUInt32List' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_string function_stringWithUInt_33__32_List (const class GALGAS_uint_33__32_List & constinArgument0, - class C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Function 'stringWithUInt64List' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_string function_stringWithUInt_36__34_List (const class GALGAS_uint_36__34_List & constinArgument0, - class C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Function 'stringWithSInt32List' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_string function_stringWithSInt_33__32_List (const class GALGAS_sint_33__32_List & constinArgument0, - class C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Function 'stringWithSInt64List' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_string function_stringWithSInt_36__34_List (const class GALGAS_sint_36__34_List & constinArgument0, - class C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Function 'stringWithFloatList' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_string function_stringWithFloatList (const class GALGAS_floatList & constinArgument0, - class C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Function 'uint32ListWithNumberList' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_uint_33__32_List function_uint_33__32_ListWithNumberList (const class GALGAS_numberList & constinArgument0, - class C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Function 'sint32ListWithNumberList' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_sint_33__32_List function_sint_33__32_ListWithNumberList (const class GALGAS_numberList & constinArgument0, - class C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Function 'uint64ListWithNumberList' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_uint_36__34_List function_uint_36__34_ListWithNumberList (const class GALGAS_numberList & constinArgument0, - class C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Function 'sint64ListWithNumberList' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_sint_36__34_List function_sint_36__34_ListWithNumberList (const class GALGAS_numberList & constinArgument0, - class C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Function 'floatListWithNumberList' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_floatList function_floatListWithNumberList (const class GALGAS_numberList & constinArgument0, - class C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Routine 'multiError' +//Routine 'multiError??' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void routine_multiError (class GALGAS_locationList inArgument0, - class GALGAS_string inArgument1, - class C_Compiler * inCompiler - COMMA_LOCATION_ARGS) ; +void routine_multiError_3F__3F_ (class GALGAS_locationList inArgument0, + class GALGAS_string inArgument1, + class Compiler * inCompiler + COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Routine 'setDefaultsForType' +//Routine 'setDefaultsForType?&' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void routine_setDefaultsForType (const class GALGAS_implementationObjectMap constinArgument0, - class GALGAS_objectAttributes & ioArgument1, - class C_Compiler * inCompiler - COMMA_LOCATION_ARGS) ; +void routine_setDefaultsForType_3F__26_ (const class GALGAS_implementationObjectMap constinArgument0, + class GALGAS_objectAttributes & ioArgument1, + class 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 C_Compiler * inCompiler + class 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 C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Routine 'checkFilters' +//Routine 'checkFilters?' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void routine_checkFilters (const class GALGAS_implementationObject constinArgument0, - class C_Compiler * inCompiler - COMMA_LOCATION_ARGS) ; +void routine_checkFilters_3F_ (const class GALGAS_implementationObject constinArgument0, + class 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 C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Function 'boolAttributeOrError' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_bool function_boolAttributeOrError (class GALGAS_object_5F_t inArgument0, class GALGAS_string inArgument1, - class C_Compiler * inCompiler + class 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 C_Compiler * inCompiler + class 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 C_Compiler * inCompiler + class 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 C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Function 'empty_lstring' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -class GALGAS_lstring function_empty_5F_lstring (class C_Compiler * inCompiler +class GALGAS_lstring function_empty_5F_lstring (class Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Function 'void_obj' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -class GALGAS_object_5F_t function_void_5F_obj (class C_Compiler * inCompiler +class GALGAS_object_5F_t function_void_5F_obj (class 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 C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Function 'oil_dir' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -class GALGAS_string function_oil_5F_dir (class C_Compiler * inCompiler +class GALGAS_string function_oil_5F_dir (class 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 C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Function 'rootTemplatesDirectory' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -class GALGAS_string function_rootTemplatesDirectory (class C_Compiler * inCompiler +class GALGAS_string function_rootTemplatesDirectory (class Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Function 'templateFilePath' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_string function_templateFilePath (const class GALGAS_string & constinArgument0, const class GALGAS_string & constinArgument1, - class C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Function 'allTemplatePaths' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_stringlist function_allTemplatePaths (const class GALGAS_string & constinArgument0, - class C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Routine 'checkTemplatesPath' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void routine_checkTemplatesPath (class C_Compiler * inCompiler +void routine_checkTemplatesPath (class Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Routine 'prefix' +//Routine 'prefix??!' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void routine_prefix (class GALGAS_prefix_5F_map inArgument0, - class GALGAS_string inArgument1, - class GALGAS_string & outArgument2, - class C_Compiler * inCompiler - COMMA_LOCATION_ARGS) ; +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) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Routine 'performReplace' +//Routine 'performReplace???&' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +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) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Routine 'doReplace' +//Routine 'doReplace&??' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void routine_doReplace (class GALGAS_string & ioArgument0, - class GALGAS_string inArgument1, - class GALGAS_string inArgument2, - class C_Compiler * inCompiler - COMMA_LOCATION_ARGS) ; +void routine_doReplace_26__3F__3F_ (class GALGAS_string & ioArgument0, + class GALGAS_string inArgument1, + class GALGAS_string inArgument2, + class Compiler * inCompiler + COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Routine 'do_replace_default' +//Routine 'do_replace_default&???' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +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) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Routine 'replace_no_prefix' +//Routine 'replace_no_prefix???&' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +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) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Routine 'table_core' +//Routine 'table_core????&&' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +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) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Routine 'add_to_stringset' +//Routine 'add_to_stringset&?' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void routine_add_5F_to_5F_stringset (class GALGAS_stringset & ioArgument0, - class GALGAS_string inArgument1, - class C_Compiler * inCompiler - COMMA_LOCATION_ARGS) ; +void routine_add_5F_to_5F_stringset_26__3F_ (class GALGAS_stringset & ioArgument0, + class GALGAS_string inArgument1, + class Compiler * inCompiler + COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Routine 'is_in_lstringlist' +//Routine 'is_in_lstringlist??!!' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +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) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Function 'isInLstringlist' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_bool function_isInLstringlist (class GALGAS_lstringlist inArgument0, class GALGAS_lstring inArgument1, - class C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Routine 'add_lstring_unique' +//Routine 'add_lstring_unique&??' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +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) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Routine 'set_lstring_if_empty' +//Routine 'set_lstring_if_empty&??' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +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) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//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 (class GALGAS_string & ioArgument0, - class GALGAS_string inArgument1, - class GALGAS_string inArgument2, - class C_Compiler * inCompiler - COMMA_LOCATION_ARGS) ; +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) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Function 'stripString' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_string function_stripString (class GALGAS_string inArgument0, - class C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Routine 'errorNoFileFound' +//Routine 'errorNoFileFound???' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +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) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Function 'attributeAllowsAuto' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_bool function_attributeAllowsAuto (const class GALGAS_impType & constinArgument0, - class C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Routine 'verifyAllAttributes' +//Routine 'verifyAllAttributes??' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void routine_verifyAllAttributes (const class GALGAS_implementation constinArgument0, - const class GALGAS_objectsMap constinArgument1, - class C_Compiler * inCompiler - COMMA_LOCATION_ARGS) ; +void routine_verifyAllAttributes_3F__3F_ (const class GALGAS_implementation constinArgument0, + const class GALGAS_objectsMap constinArgument1, + class Compiler * inCompiler + COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Function 'osObject' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_objectAttributes function_osObject (const class GALGAS_objectsMap & constinArgument0, - class C_Compiler * inCompiler + class 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 C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Routine 'setObjectForKindAndName' +//Routine 'setObjectForKindAndName&???' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +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) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Function 'objectsForKind' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_objectKind function_objectsForKind (const class GALGAS_objectsMap & constinArgument0, const class GALGAS_string & constinArgument1, - class C_Compiler * inCompiler + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // //Function 'listInOS' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- class GALGAS_identifierList function_listInOS (const class GALGAS_objectsMap & constinArgument0, const class GALGAS_string & constinArgument1, - class C_Compiler * inCompiler + class 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 'generate_signed_type' +//Routine 'nodeToClassRes??!' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 +void routine_nodeToClassRes_3F__3F__21_ (class GALGAS_arxmlElementNode inArgument0, + class GALGAS_arxmlMetaClassMap inArgument1, + class GALGAS_arxmlElementValue & outArgument2, + class Compiler * inCompiler COMMA_LOCATION_ARGS) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Routine 'generate_unsigned_type' +//Routine 'arxmlDefinitionPackage&&??' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +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&??' +// +//-------------------------------------------------------------------------------------------------- + +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 'generate_mask_type' +//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) ; -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 +//-------------------------------------------------------------------------------------------------- +// +//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) ; + +//-------------------------------------------------------------------------------------------------- +// +//Routine 'arxmlGetWithAuto?!' +// +//-------------------------------------------------------------------------------------------------- + +void routine_arxmlGetWithAuto_3F__21_ (class GALGAS_arxmlElementValue inArgument0, + class GALGAS_bool & outArgument1, + class 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 deleted file mode 100644 index 2eeec2099..000000000 --- a/goil/build/output/all-declarations-11.cpp +++ /dev/null @@ -1,2959 +0,0 @@ -#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 deleted file mode 100644 index c33911a78..000000000 --- a/goil/build/output/all-declarations-11.h +++ /dev/null @@ -1,343 +0,0 @@ -#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 3a0dc5e72..a1c067717 100644 --- a/goil/build/output/all-declarations-2.cpp +++ b/goil/build/output/all-declarations-2.cpp @@ -1,20 +1,20 @@ -#include "galgas2/C_Compiler.h" -#include "galgas2/C_galgas_io.h" -#include "galgas2/C_galgas_CLI_Options.h" -#include "utilities/C_PrologueEpilogue.h" +#include "Compiler.h" +#include "C_galgas_io.h" +#include "C_galgas_CLI_Options.h" +#include "PrologueEpilogue.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- #include "all-declarations-2.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // Object comparison -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -typeComparisonResult cPtr_uint_36__34_AttributeMinMax::dynamicObjectCompare (const acPtr_class * inOperandPtr) const { +typeComparisonResult cPtr_floatAttributeMinMax::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) ; + const cPtr_floatAttributeMinMax * p = (const cPtr_floatAttributeMinMax *) inOperandPtr ; + macroValidSharedObject (p, cPtr_floatAttributeMinMax) ; if (kOperandEqual == result) { result = mProperty_location.objectCompare (p->mProperty_location) ; } @@ -27,10 +27,10 @@ typeComparisonResult cPtr_uint_36__34_AttributeMinMax::dynamicObjectCompare (con return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -typeComparisonResult GALGAS_uint_36__34_AttributeMinMax::objectCompare (const GALGAS_uint_36__34_AttributeMinMax & inOperand) const { +typeComparisonResult GALGAS_floatAttributeMinMax::objectCompare (const GALGAS_floatAttributeMinMax & inOperand) const { typeComparisonResult result = kOperandNotValid ; if (isValid () && inOperand.isValid ()) { const int32_t mySlot = mObjectPtr->classDescriptor ()->mSlotID ; @@ -46,1418 +46,1375 @@ typeComparisonResult GALGAS_uint_36__34_AttributeMinMax::objectCompare (const GA return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_uint_36__34_AttributeMinMax::GALGAS_uint_36__34_AttributeMinMax (void) : +GALGAS_floatAttributeMinMax::GALGAS_floatAttributeMinMax (void) : GALGAS_attributeRange () { } -//---------------------------------------------------------------------------------------------------------------------- - -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_floatAttributeMinMax::GALGAS_floatAttributeMinMax (const cPtr_floatAttributeMinMax * inSourcePtr) : GALGAS_attributeRange (inSourcePtr) { - macroNullOrValidSharedObject (inSourcePtr, cPtr_uint_36__34_AttributeMinMax) ; + macroNullOrValidSharedObject (inSourcePtr, cPtr_floatAttributeMinMax) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; +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 ; 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)) ; + macroMyNew (result.mObjectPtr, cPtr_floatAttributeMinMax (inAttribute_location, inAttribute_min, inAttribute_max COMMA_THERE)) ; } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_uint_36__34_ GALGAS_uint_36__34_AttributeMinMax::readProperty_min (void) const { +GALGAS_double GALGAS_floatAttributeMinMax::readProperty_min (void) const { if (nullptr == mObjectPtr) { - return GALGAS_uint_36__34_ () ; + return GALGAS_double () ; }else{ - const cPtr_uint_36__34_AttributeMinMax * p = (const cPtr_uint_36__34_AttributeMinMax *) mObjectPtr ; - macroValidSharedObject (p, cPtr_uint_36__34_AttributeMinMax) ; + const cPtr_floatAttributeMinMax * p = (const cPtr_floatAttributeMinMax *) mObjectPtr ; + macroValidSharedObject (p, cPtr_floatAttributeMinMax) ; return p->mProperty_min ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_uint_36__34_ cPtr_uint_36__34_AttributeMinMax::getter_min (UNUSED_LOCATION_ARGS) const { +GALGAS_double cPtr_floatAttributeMinMax::getter_min (UNUSED_LOCATION_ARGS) const { return mProperty_min ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_uint_36__34_ GALGAS_uint_36__34_AttributeMinMax::readProperty_max (void) const { +GALGAS_double GALGAS_floatAttributeMinMax::readProperty_max (void) const { if (nullptr == mObjectPtr) { - return GALGAS_uint_36__34_ () ; + return GALGAS_double () ; }else{ - const cPtr_uint_36__34_AttributeMinMax * p = (const cPtr_uint_36__34_AttributeMinMax *) mObjectPtr ; - macroValidSharedObject (p, cPtr_uint_36__34_AttributeMinMax) ; + const cPtr_floatAttributeMinMax * p = (const cPtr_floatAttributeMinMax *) mObjectPtr ; + macroValidSharedObject (p, cPtr_floatAttributeMinMax) ; return p->mProperty_max ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_uint_36__34_ cPtr_uint_36__34_AttributeMinMax::getter_max (UNUSED_LOCATION_ARGS) const { +GALGAS_double cPtr_floatAttributeMinMax::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) { +void GALGAS_floatAttributeMinMax::setter_setMin (GALGAS_double 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) ; + cPtr_floatAttributeMinMax * p = (cPtr_floatAttributeMinMax *) mObjectPtr ; + macroValidSharedObject (p, cPtr_floatAttributeMinMax) ; p->mProperty_min = inValue ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void cPtr_uint_36__34_AttributeMinMax::setter_setMin (GALGAS_uint_36__34_ inValue - COMMA_UNUSED_LOCATION_ARGS) { +void cPtr_floatAttributeMinMax::setter_setMin (GALGAS_double inValue + COMMA_UNUSED_LOCATION_ARGS) { mProperty_min = inValue ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void GALGAS_uint_36__34_AttributeMinMax::setter_setMax (GALGAS_uint_36__34_ inValue - COMMA_LOCATION_ARGS) { +void GALGAS_floatAttributeMinMax::setter_setMax (GALGAS_double 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) ; + cPtr_floatAttributeMinMax * p = (cPtr_floatAttributeMinMax *) mObjectPtr ; + macroValidSharedObject (p, cPtr_floatAttributeMinMax) ; p->mProperty_max = inValue ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void cPtr_uint_36__34_AttributeMinMax::setter_setMax (GALGAS_uint_36__34_ inValue - COMMA_UNUSED_LOCATION_ARGS) { +void cPtr_floatAttributeMinMax::setter_setMax (GALGAS_double inValue + COMMA_UNUSED_LOCATION_ARGS) { mProperty_max = inValue ; } -//---------------------------------------------------------------------------------------------------------------------- -//Pointer class for @uint64AttributeMinMax class -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +//Pointer class for @floatAttributeMinMax 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_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) { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor * cPtr_uint_36__34_AttributeMinMax::classDescriptor (void) const { - return & kTypeDescriptor_GALGAS_uint_36__34_AttributeMinMax ; +const C_galgas_type_descriptor * cPtr_floatAttributeMinMax::classDescriptor (void) const { + return & kTypeDescriptor_GALGAS_floatAttributeMinMax ; } -void cPtr_uint_36__34_AttributeMinMax::description (C_String & ioString, - const int32_t inIndentation) const { - ioString << "[@uint64AttributeMinMax:" ; +void cPtr_floatAttributeMinMax::description (String & ioString, + const int32_t inIndentation) const { + ioString.appendCString ("[@floatAttributeMinMax:") ; mProperty_location.description (ioString, inIndentation+1) ; - ioString << ", " ; + ioString.appendCString (", ") ; mProperty_min.description (ioString, inIndentation+1) ; - ioString << ", " ; + ioString.appendCString (", ") ; mProperty_max.description (ioString, inIndentation+1) ; - ioString << "]" ; + ioString.appendCString ("]") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -acPtr_class * cPtr_uint_36__34_AttributeMinMax::duplicate (LOCATION_ARGS) const { +acPtr_class * cPtr_floatAttributeMinMax::duplicate (LOCATION_ARGS) const { acPtr_class * ptr = nullptr ; - macroMyNew (ptr, cPtr_uint_36__34_AttributeMinMax (mProperty_location, mProperty_min, mProperty_max COMMA_THERE)) ; + macroMyNew (ptr, cPtr_floatAttributeMinMax (mProperty_location, mProperty_min, mProperty_max COMMA_THERE)) ; return ptr ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -// @uint64AttributeMinMax generic code implementation +// @floatAttributeMinMax generic code implementation // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor -kTypeDescriptor_GALGAS_uint_36__34_AttributeMinMax ("uint64AttributeMinMax", - & kTypeDescriptor_GALGAS_attributeRange) ; +const C_galgas_type_descriptor kTypeDescriptor_GALGAS_floatAttributeMinMax ("floatAttributeMinMax", + & kTypeDescriptor_GALGAS_attributeRange) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor * GALGAS_uint_36__34_AttributeMinMax::staticTypeDescriptor (void) const { - return & kTypeDescriptor_GALGAS_uint_36__34_AttributeMinMax ; +const C_galgas_type_descriptor * GALGAS_floatAttributeMinMax::staticTypeDescriptor (void) const { + return & kTypeDescriptor_GALGAS_floatAttributeMinMax ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -AC_GALGAS_root * GALGAS_uint_36__34_AttributeMinMax::clonedObject (void) const { +AC_GALGAS_root * GALGAS_floatAttributeMinMax::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; if (isValid ()) { - macroMyNew (result, GALGAS_uint_36__34_AttributeMinMax (*this)) ; + macroMyNew (result, GALGAS_floatAttributeMinMax (*this)) ; } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 () ; +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 () ; if (nullptr != p) { - if (nullptr != dynamic_cast (p)) { + if (nullptr != dynamic_cast (p)) { result = *p ; }else{ - inCompiler->castError ("uint64AttributeMinMax", p->dynamicTypeDescriptor () COMMA_THERE) ; + inCompiler->castError ("floatAttributeMinMax", 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 ; -} - -//---------------------------------------------------------------------------------------------------------------------- - +//-------------------------------------------------------------------------------------------------- +// +//Class for element of '@locationList' list +// +//-------------------------------------------------------------------------------------------------- -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 ; -} +class cCollectionElement_locationList : public cCollectionElement { + public: GALGAS_locationList_2D_element mObject ; -//---------------------------------------------------------------------------------------------------------------------- +//--- 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) ; -GALGAS_sint_33__32_AttributeMinMax::GALGAS_sint_33__32_AttributeMinMax (void) : -GALGAS_attributeRange () { -} +//--- 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_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) ; -} +//--- 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 (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::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_locationList::cCollectionElement_locationList (const GALGAS_location & in_location + COMMA_LOCATION_ARGS) : +cCollectionElement (THERE), +mObject (in_location) { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; - } +cCollectionElement_locationList::cCollectionElement_locationList (const GALGAS_locationList_2D_element & inElement COMMA_LOCATION_ARGS) : +cCollectionElement (THERE), +mObject (inElement.mProperty_location) { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_sint cPtr_sint_33__32_AttributeMinMax::getter_min (UNUSED_LOCATION_ARGS) const { - return mProperty_min ; +bool cCollectionElement_locationList::isValid (void) const { + return true ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; - } +cCollectionElement * cCollectionElement_locationList::copy (void) { + cCollectionElement * result = nullptr ; + macroMyNew (result, cCollectionElement_locationList (mObject.mProperty_location COMMA_HERE)) ; + return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_sint cPtr_sint_33__32_AttributeMinMax::getter_max (UNUSED_LOCATION_ARGS) const { - return mProperty_max ; +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) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; - } +typeComparisonResult cCollectionElement_locationList::compare (const cCollectionElement * inOperand) const { + cCollectionElement_locationList * operand = (cCollectionElement_locationList *) inOperand ; + macroValidSharedObject (operand, cCollectionElement_locationList) ; + return mObject.objectCompare (operand->mObject) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void cPtr_sint_33__32_AttributeMinMax::setter_setMin (GALGAS_sint inValue - COMMA_UNUSED_LOCATION_ARGS) { - mProperty_min = inValue ; +GALGAS_locationList::GALGAS_locationList (void) : +AC_GALGAS_list () { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; - } +GALGAS_locationList::GALGAS_locationList (const capCollectionElementArray & inSharedArray) : +AC_GALGAS_list (inSharedArray) { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void cPtr_sint_33__32_AttributeMinMax::setter_setMax (GALGAS_sint inValue - COMMA_UNUSED_LOCATION_ARGS) { - mProperty_max = inValue ; +GALGAS_locationList GALGAS_locationList::class_func_emptyList (UNUSED_LOCATION_ARGS) { + return GALGAS_locationList (capCollectionElementArray ()) ; } -//---------------------------------------------------------------------------------------------------------------------- -//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) { +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) ; + } + return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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::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) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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::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) ; + } } +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- -// -// @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_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) ; + } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -AC_GALGAS_root * GALGAS_sint_33__32_AttributeMinMax::clonedObject (void) const { - AC_GALGAS_root * result = nullptr ; +void GALGAS_locationList::setter_insertAtIndex (const GALGAS_location inOperand0, + const GALGAS_uint inInsertionIndex, + Compiler * inCompiler + COMMA_LOCATION_ARGS) { if (isValid ()) { - macroMyNew (result, GALGAS_sint_33__32_AttributeMinMax (*this)) ; + 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 ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; +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{ - inCompiler->castError ("sint32AttributeMinMax", p->dynamicTypeDescriptor () COMMA_THERE) ; - } + outOperand0.drop () ; + drop () ; + } + }else{ + outOperand0.drop () ; } - 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) ; +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 ; } - 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) ; - } +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 ; } - return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_sint_36__34_AttributeMinMax::GALGAS_sint_36__34_AttributeMinMax (void) : -GALGAS_attributeRange () { +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 ; + } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +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 ; + } } -//---------------------------------------------------------------------------------------------------------------------- - -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)) ; +GALGAS_locationList GALGAS_locationList::add_operation (const GALGAS_locationList & inOperand, + Compiler * /* inCompiler */ + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_locationList result ; + if (isValid () && inOperand.isValid ()) { + result = *this ; + result.appendList (inOperand) ; } 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_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_ cPtr_sint_36__34_AttributeMinMax::getter_min (UNUSED_LOCATION_ARGS) const { - return mProperty_min ; +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_ 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_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) ; + return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_sint_36__34_ cPtr_sint_36__34_AttributeMinMax::getter_max (UNUSED_LOCATION_ARGS) const { - return mProperty_max ; +void GALGAS_locationList::plusAssign_operation (const GALGAS_locationList inOperand, + Compiler * /* inCompiler */ + COMMA_UNUSED_LOCATION_ARGS) { + appendList (inOperand) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 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 ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void cPtr_sint_36__34_AttributeMinMax::setter_setMin (GALGAS_sint_36__34_ inValue - COMMA_UNUSED_LOCATION_ARGS) { - mProperty_min = inValue ; +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 ; + } + return result ; } -//---------------------------------------------------------------------------------------------------------------------- -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 ; +cEnumerator_locationList::cEnumerator_locationList (const GALGAS_locationList & inEnumeratedObject, + const typeEnumerationOrder inOrder) : +cGenericAbstractEnumerator (inOrder) { + inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; } -//---------------------------------------------------------------------------------------------------------------------- -//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_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 ; } -//---------------------------------------------------------------------------------------------------------------------- -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 << "]" ; +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 ; } -//---------------------------------------------------------------------------------------------------------------------- -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 +// @locationList generic code implementation // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor -kTypeDescriptor_GALGAS_sint_36__34_AttributeMinMax ("sint64AttributeMinMax", - & kTypeDescriptor_GALGAS_attributeRange) ; +const C_galgas_type_descriptor kTypeDescriptor_GALGAS_locationList ("locationList", + nullptr) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor * GALGAS_sint_36__34_AttributeMinMax::staticTypeDescriptor (void) const { - return & kTypeDescriptor_GALGAS_sint_36__34_AttributeMinMax ; +const C_galgas_type_descriptor * GALGAS_locationList::staticTypeDescriptor (void) const { + return & kTypeDescriptor_GALGAS_locationList ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -AC_GALGAS_root * GALGAS_sint_36__34_AttributeMinMax::clonedObject (void) const { +AC_GALGAS_root * GALGAS_locationList::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; if (isValid ()) { - macroMyNew (result, GALGAS_sint_36__34_AttributeMinMax (*this)) ; + macroMyNew (result, GALGAS_locationList (*this)) ; } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 () ; +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 () ; if (nullptr != p) { - if (nullptr != dynamic_cast (p)) { + if (nullptr != dynamic_cast (p)) { result = *p ; }else{ - inCompiler->castError ("sint64AttributeMinMax", p->dynamicTypeDescriptor () COMMA_THERE) ; + inCompiler->castError ("locationList", p->dynamicTypeDescriptor () COMMA_THERE) ; } } return result ; } -//---------------------------------------------------------------------------------------------------------------------- -// Object comparison -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; +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 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 ; +bool cMapElement_implementationObjectMap::isValid (void) const { + return mProperty_lkey.isValid () ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_floatAttributeMinMax::GALGAS_floatAttributeMinMax (void) : -GALGAS_attributeRange () { +cMapElement * cMapElement_implementationObjectMap::copy (void) { + cMapElement * result = nullptr ; + macroMyNew (result, cMapElement_implementationObjectMap (mProperty_lkey, mProperty_type COMMA_HERE)) ; + return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +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 (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)) ; +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) ; } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 (void) : +AC_GALGAS_map () { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_double cPtr_floatAttributeMinMax::getter_min (UNUSED_LOCATION_ARGS) const { - return mProperty_min ; +GALGAS_implementationObjectMap::GALGAS_implementationObjectMap (const GALGAS_implementationObjectMap & inSource) : +AC_GALGAS_map (inSource) { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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::operator = (const GALGAS_implementationObjectMap & inSource) { + * ((AC_GALGAS_map *) this) = inSource ; + return * this ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_double cPtr_floatAttributeMinMax::getter_max (UNUSED_LOCATION_ARGS) const { - return mProperty_max ; +GALGAS_implementationObjectMap GALGAS_implementationObjectMap::class_func_emptyMap (LOCATION_ARGS) { + GALGAS_implementationObjectMap result ; + result.makeNewEmptyMap (THERE) ; + return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void GALGAS_floatAttributeMinMax::setter_setMin (GALGAS_double inValue - COMMA_LOCATION_ARGS) { - if (nullptr != mObjectPtr) { - insulate (THERE) ; - cPtr_floatAttributeMinMax * p = (cPtr_floatAttributeMinMax *) mObjectPtr ; - macroValidSharedObject (p, cPtr_floatAttributeMinMax) ; - p->mProperty_min = inValue ; +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 cPtr_floatAttributeMinMax::setter_setMin (GALGAS_double inValue - COMMA_UNUSED_LOCATION_ARGS) { - mProperty_min = inValue ; +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) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void GALGAS_floatAttributeMinMax::setter_setMax (GALGAS_double inValue +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 COMMA_LOCATION_ARGS) { - if (nullptr != mObjectPtr) { - insulate (THERE) ; - cPtr_floatAttributeMinMax * p = (cPtr_floatAttributeMinMax *) mObjectPtr ; - macroValidSharedObject (p, cPtr_floatAttributeMinMax) ; - p->mProperty_max = inValue ; + 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 ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void cPtr_floatAttributeMinMax::setter_setMax (GALGAS_double inValue - COMMA_UNUSED_LOCATION_ARGS) { - mProperty_max = 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 ; } -//---------------------------------------------------------------------------------------------------------------------- -//Pointer class for @floatAttributeMinMax class -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) { +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 ; + } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor * cPtr_floatAttributeMinMax::classDescriptor (void) const { - return & kTypeDescriptor_GALGAS_floatAttributeMinMax ; +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::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 << "]" ; +//-------------------------------------------------------------------------------------------------- + +cEnumerator_implementationObjectMap::cEnumerator_implementationObjectMap (const GALGAS_implementationObjectMap & inEnumeratedObject, + const typeEnumerationOrder inOrder) : +cGenericAbstractEnumerator (inOrder) { + inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; +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_implementationObjectMap::current_lkey (LOCATION_ARGS) const { + const cMapElement * p = (const cMapElement *) currentObjectPtr (THERE) ; + macroValidSharedObject (p, cMapElement) ; + return p->mProperty_lkey ; +} + +//-------------------------------------------------------------------------------------------------- + +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_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 ; +} -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -// @floatAttributeMinMax generic code implementation +// @implementationObjectMap generic code implementation // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor -kTypeDescriptor_GALGAS_floatAttributeMinMax ("floatAttributeMinMax", - & kTypeDescriptor_GALGAS_attributeRange) ; +const C_galgas_type_descriptor kTypeDescriptor_GALGAS_implementationObjectMap ("implementationObjectMap", + nullptr) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor * GALGAS_floatAttributeMinMax::staticTypeDescriptor (void) const { - return & kTypeDescriptor_GALGAS_floatAttributeMinMax ; +const C_galgas_type_descriptor * GALGAS_implementationObjectMap::staticTypeDescriptor (void) const { + return & kTypeDescriptor_GALGAS_implementationObjectMap ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -AC_GALGAS_root * GALGAS_floatAttributeMinMax::clonedObject (void) const { +AC_GALGAS_root * GALGAS_implementationObjectMap::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; if (isValid ()) { - macroMyNew (result, GALGAS_floatAttributeMinMax (*this)) ; + macroMyNew (result, GALGAS_implementationObjectMap (*this)) ; } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 () ; +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 () ; 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 ("implementationObjectMap", p->dynamicTypeDescriptor () COMMA_THERE) ; } } return result ; } -//---------------------------------------------------------------------------------------------------------------------- -// -//Class for element of '@locationList' list -// -//---------------------------------------------------------------------------------------------------------------------- - -class cCollectionElement_locationList : public cCollectionElement { - public: GALGAS_locationList_2D_element mObject ; - -//--- 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 ; - -//--- 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 (C_String & ioString, const int32_t inIndentation) const ; -} ; +cMapElement_enumValues::cMapElement_enumValues (const GALGAS_lstring & inKey, + const GALGAS_implementationObjectMap & in_subAttributes + COMMA_LOCATION_ARGS) : +cMapElement (inKey COMMA_THERE), +mProperty_subAttributes (in_subAttributes) { +} -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -cCollectionElement_locationList::cCollectionElement_locationList (const GALGAS_location & in_location - COMMA_LOCATION_ARGS) : -cCollectionElement (THERE), -mObject (in_location) { +bool cMapElement_enumValues::isValid (void) const { + return mProperty_lkey.isValid () ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -cCollectionElement_locationList::cCollectionElement_locationList (const GALGAS_locationList_2D_element & inElement COMMA_LOCATION_ARGS) : -cCollectionElement (THERE), -mObject (inElement.mProperty_location) { +cMapElement * cMapElement_enumValues::copy (void) { + cMapElement * result = nullptr ; + macroMyNew (result, cMapElement_enumValues (mProperty_lkey, mProperty_subAttributes COMMA_HERE)) ; + return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -bool cCollectionElement_locationList::isValid (void) const { - return true ; +void cMapElement_enumValues::description (String & ioString, const int32_t inIndentation) const { + ioString.appendNewLine () ; + ioString.appendStringMultiple ("| ", inIndentation) ; + ioString.appendCString ("subAttributes" ":") ; + mProperty_subAttributes.description (ioString, inIndentation) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -cCollectionElement * cCollectionElement_locationList::copy (void) { - cCollectionElement * result = nullptr ; - macroMyNew (result, cCollectionElement_locationList (mObject.mProperty_location COMMA_HERE)) ; +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 ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 (void) : +AC_GALGAS_map () { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 (const GALGAS_enumValues & inSource) : +AC_GALGAS_map (inSource) { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_locationList::GALGAS_locationList (void) : -AC_GALGAS_list () { +GALGAS_enumValues & GALGAS_enumValues::operator = (const GALGAS_enumValues & inSource) { + * ((AC_GALGAS_map *) this) = inSource ; + return * this ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_locationList::GALGAS_locationList (const capCollectionElementArray & inSharedArray) : -AC_GALGAS_list (inSharedArray) { -} - -//---------------------------------------------------------------------------------------------------------------------- - -GALGAS_locationList GALGAS_locationList::constructor_emptyList (UNUSED_LOCATION_ARGS) { - return GALGAS_locationList (capCollectionElementArray ()) ; +GALGAS_enumValues GALGAS_enumValues::class_func_emptyMap (LOCATION_ARGS) { + GALGAS_enumValues result ; + result.makeNewEmptyMap (THERE) ; + return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; - } +GALGAS_enumValues GALGAS_enumValues::class_func_mapWithMapToOverride (const GALGAS_enumValues & inMapToOverride + COMMA_LOCATION_ARGS) { + GALGAS_enumValues result ; + result.makeNewEmptyMapWithMapToOverride (inMapToOverride COMMA_THERE) ; 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) ; +GALGAS_enumValues GALGAS_enumValues::getter_overriddenMap (Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + GALGAS_enumValues result ; + getOverridenMap (result, inCompiler COMMA_THERE) ; + return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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::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) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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_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 () ; } + return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 () ; - } - } +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) ; + macroDetachSharedObject (p) ; + const char * kInsertErrorMessage = "%K is duplicated in %L" ; + const char * kShadowErrorMessage = "" ; + performInsert (attributes, inCompiler, kInsertErrorMessage, kShadowErrorMessage COMMA_THERE) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 () ; - } -} +const char * kSearchErrorMessage_enumValues_get = "%K does not exists" ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 () ; +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) { - outOperand0.drop () ; + outArgument0.drop () ; }else{ - macroValidSharedObject (p, cCollectionElement_locationList) ; - outOperand0 = p->mObject.mProperty_location ; + macroValidSharedObject (p, cMapElement_enumValues) ; + outArgument0 = p->mProperty_subAttributes ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void GALGAS_locationList::setter_popLast (GALGAS_location & outOperand0, - C_Compiler * inCompiler - COMMA_LOCATION_ARGS) { +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 ; - removeLastObject (attributes, inCompiler COMMA_THERE) ; - cCollectionElement_locationList * p = (cCollectionElement_locationList *) attributes.ptr () ; + performRemove (inKey, attributes, inCompiler, kRemoveErrorMessage COMMA_THERE) ; + cMapElement_enumValues * p = (cMapElement_enumValues *) attributes.ptr () ; if (nullptr == p) { - outOperand0.drop () ; + outArgument0.drop () ; }else{ - macroValidSharedObject (p, cCollectionElement_locationList) ; - outOperand0 = p->mObject.mProperty_location ; + macroValidSharedObject (p, cMapElement_enumValues) ; + outArgument0 = 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_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 ; } + return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; +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 ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; - } +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 ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; +cEnumerator_enumValues::cEnumerator_enumValues (const GALGAS_enumValues & inEnumeratedObject, + const typeEnumerationOrder inOrder) : +cGenericAbstractEnumerator (inOrder) { + inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; +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) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; +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::plusAssign_operation (const GALGAS_locationList inOperand, - C_Compiler * /* inCompiler */ - COMMA_UNUSED_LOCATION_ARGS) { - appendList (inOperand) ; +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 ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; +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 ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// +// @enumValues generic code implementation +// +//-------------------------------------------------------------------------------------------------- -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) { - 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 ; -} - - - - -//---------------------------------------------------------------------------------------------------------------------- -// -// @locationList generic code implementation -// -//---------------------------------------------------------------------------------------------------------------------- - -const C_galgas_type_descriptor -kTypeDescriptor_GALGAS_locationList ("locationList", - nullptr) ; +const C_galgas_type_descriptor kTypeDescriptor_GALGAS_enumValues ("enumValues", + nullptr) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor * GALGAS_locationList::staticTypeDescriptor (void) const { - return & kTypeDescriptor_GALGAS_locationList ; +const C_galgas_type_descriptor * GALGAS_enumValues::staticTypeDescriptor (void) const { + return & kTypeDescriptor_GALGAS_enumValues ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -AC_GALGAS_root * GALGAS_locationList::clonedObject (void) const { +AC_GALGAS_root * GALGAS_enumValues::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; if (isValid ()) { - macroMyNew (result, GALGAS_locationList (*this)) ; + macroMyNew (result, GALGAS_enumValues (*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 () ; +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 () ; 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 ("enumValues", p->dynamicTypeDescriptor () COMMA_THERE) ; } } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// +//Extension Getter '@enumValues mergeWithEnum' +// +//-------------------------------------------------------------------------------------------------- -cMapElement_implementationObjectMap::cMapElement_implementationObjectMap (const GALGAS_lstring & inKey, - const GALGAS_impType & in_type - COMMA_LOCATION_ARGS) : +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 ; +} + + + + +//-------------------------------------------------------------------------------------------------- + +cMapElement_implementationMap::cMapElement_implementationMap (const GALGAS_lstring & inKey, + const GALGAS_implementationObject & in_obj + COMMA_LOCATION_ARGS) : cMapElement (inKey COMMA_THERE), -mProperty_type (in_type) { +mProperty_obj (in_obj) { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -bool cMapElement_implementationObjectMap::isValid (void) const { +bool cMapElement_implementationMap::isValid (void) const { return mProperty_lkey.isValid () ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -cMapElement * cMapElement_implementationObjectMap::copy (void) { +cMapElement * cMapElement_implementationMap::copy (void) { cMapElement * result = nullptr ; - macroMyNew (result, cMapElement_implementationObjectMap (mProperty_lkey, mProperty_type COMMA_HERE)) ; + macroMyNew (result, cMapElement_implementationMap (mProperty_lkey, mProperty_obj COMMA_HERE)) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void cMapElement_implementationObjectMap::description (C_String & ioString, const int32_t inIndentation) const { - ioString << "\n" ; - ioString.writeStringMultiple ("| ", inIndentation) ; - ioString << "type" ":" ; - mProperty_type.description (ioString, inIndentation) ; +void cMapElement_implementationMap::description (String & ioString, const int32_t inIndentation) const { + ioString.appendNewLine () ; + ioString.appendStringMultiple ("| ", inIndentation) ; + ioString.appendCString ("obj" ":") ; + mProperty_obj.description (ioString, inIndentation) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -typeComparisonResult cMapElement_implementationObjectMap::compare (const cCollectionElement * inOperand) const { - cMapElement_implementationObjectMap * operand = (cMapElement_implementationObjectMap *) inOperand ; +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_type.objectCompare (operand->mProperty_type) ; + result = mProperty_obj.objectCompare (operand->mProperty_obj) ; } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_implementationObjectMap::GALGAS_implementationObjectMap (void) : -AC_GALGAS_map (true) { +GALGAS_implementationMap::GALGAS_implementationMap (void) : +AC_GALGAS_map () { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_implementationObjectMap::GALGAS_implementationObjectMap (const GALGAS_implementationObjectMap & inSource) : +GALGAS_implementationMap::GALGAS_implementationMap (const GALGAS_implementationMap & inSource) : AC_GALGAS_map (inSource) { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_implementationObjectMap & GALGAS_implementationObjectMap::operator = (const GALGAS_implementationObjectMap & inSource) { +GALGAS_implementationMap & GALGAS_implementationMap::operator = (const GALGAS_implementationMap & inSource) { * ((AC_GALGAS_map *) this) = inSource ; return * this ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_implementationObjectMap GALGAS_implementationObjectMap::constructor_emptyMap (LOCATION_ARGS) { - GALGAS_implementationObjectMap result ; +GALGAS_implementationMap GALGAS_implementationMap::class_func_emptyMap (LOCATION_ARGS) { + GALGAS_implementationMap result ; result.makeNewEmptyMap (THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_implementationObjectMap GALGAS_implementationObjectMap::constructor_mapWithMapToOverride (const GALGAS_implementationObjectMap & inMapToOverride - COMMA_LOCATION_ARGS) { - GALGAS_implementationObjectMap result ; +GALGAS_implementationMap GALGAS_implementationMap::class_func_mapWithMapToOverride (const GALGAS_implementationMap & inMapToOverride + COMMA_LOCATION_ARGS) { + GALGAS_implementationMap result ; result.makeNewEmptyMapWithMapToOverride (inMapToOverride COMMA_THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_implementationObjectMap GALGAS_implementationObjectMap::getter_overriddenMap (C_Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - GALGAS_implementationObjectMap result ; +GALGAS_implementationMap GALGAS_implementationMap::getter_overriddenMap (Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + GALGAS_implementationMap result ; getOverridenMap (result, inCompiler COMMA_THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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)) ; capCollectionElement attributes ; attributes.setPointer (p) ; macroDetachSharedObject (p) ; - const char * kInsertErrorMessage = "@implementationObjectMap insert error: '%K' already in map" ; + const char * kInsertErrorMessage = "@implementationMap 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, - C_Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - GALGAS_implementationObjectMap result = *this ; - cEnumerator_implementationObjectMap enumerator (inOperand, kENUMERATION_UP) ; +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) ; while (enumerator.hasCurrentObject ()) { - result.addAssign_operation (enumerator.current_lkey (HERE), enumerator.current_type (HERE), inCompiler COMMA_THERE) ; + result.addAssign_operation (enumerator.current_lkey (HERE), enumerator.current_obj (HERE), inCompiler COMMA_THERE) ; enumerator.gotoNextObject () ; } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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)) ; capCollectionElement attributes ; attributes.setPointer (p) ; macroDetachSharedObject (p) ; @@ -1466,3847 +1423,3870 @@ void GALGAS_implementationObjectMap::setter_put (GALGAS_lstring inKey, performInsert (attributes, inCompiler, kInsertErrorMessage, kShadowErrorMessage COMMA_THERE) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -const char * kSearchErrorMessage_implementationObjectMap_get = "%K does not exists" ; +const char * kSearchErrorMessage_implementationMap_get = "%K does not exists" ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +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) ; if (nullptr == p) { outArgument0.drop () ; }else{ - macroValidSharedObject (p, cMapElement_implementationObjectMap) ; - outArgument0 = p->mProperty_type ; + macroValidSharedObject (p, cMapElement_implementationMap) ; + outArgument0 = p->mProperty_obj ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void GALGAS_implementationObjectMap::setter_del (GALGAS_lstring inKey, - GALGAS_impType & outArgument0, - C_Compiler * inCompiler - COMMA_LOCATION_ARGS) { +void GALGAS_implementationMap::setter_del (GALGAS_lstring inKey, + GALGAS_implementationObject & outArgument0, + Compiler * inCompiler + 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 () ; + cMapElement_implementationMap * p = (cMapElement_implementationMap *) attributes.ptr () ; if (nullptr == p) { outArgument0.drop () ; }else{ - macroValidSharedObject (p, cMapElement_implementationObjectMap) ; - outArgument0 = p->mProperty_type ; + macroValidSharedObject (p, cMapElement_implementationMap) ; + outArgument0 = p->mProperty_obj ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_impType GALGAS_implementationObjectMap::getter_typeForKey (const GALGAS_string & inKey, - C_Compiler * inCompiler - COMMA_LOCATION_ARGS) const { +GALGAS_implementationObject GALGAS_implementationMap::getter_objForKey (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 ; + const cMapElement_implementationMap * p = (const cMapElement_implementationMap *) attributes ; + GALGAS_implementationObject result ; if (nullptr != p) { - macroValidSharedObject (p, cMapElement_implementationObjectMap) ; - result = p->mProperty_type ; + macroValidSharedObject (p, cMapElement_implementationMap) ; + result = p->mProperty_obj ; } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void GALGAS_implementationObjectMap::setter_setTypeForKey (GALGAS_impType inAttributeValue, - GALGAS_string inKey, - C_Compiler * inCompiler - COMMA_LOCATION_ARGS) { +void GALGAS_implementationMap::setter_setObjForKey (GALGAS_implementationObject inAttributeValue, + GALGAS_string inKey, + Compiler * inCompiler + COMMA_LOCATION_ARGS) { cCollectionElement * attributes = searchForReadWriteAttribute (inKey, true, inCompiler COMMA_THERE) ; - cMapElement_implementationObjectMap * p = (cMapElement_implementationObjectMap *) attributes ; + cMapElement_implementationMap * p = (cMapElement_implementationMap *) attributes ; if (nullptr != p) { - macroValidSharedObject (p, cMapElement_implementationObjectMap) ; - p->mProperty_type = inAttributeValue ; + macroValidSharedObject (p, cMapElement_implementationMap) ; + p->mProperty_obj = inAttributeValue ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +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 ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -cEnumerator_implementationObjectMap::cEnumerator_implementationObjectMap (const GALGAS_implementationObjectMap & inEnumeratedObject, - const typeEnumerationOrder inOrder) : +cEnumerator_implementationMap::cEnumerator_implementationMap (const GALGAS_implementationMap & inEnumeratedObject, + const typeEnumerationOrder inOrder) : cGenericAbstractEnumerator (inOrder) { inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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_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_lstring cEnumerator_implementationObjectMap::current_lkey (LOCATION_ARGS) const { +GALGAS_lstring cEnumerator_implementationMap::current_lkey (LOCATION_ARGS) const { const cMapElement * p = (const cMapElement *) currentObjectPtr (THERE) ; macroValidSharedObject (p, cMapElement) ; return p->mProperty_lkey ; } -//---------------------------------------------------------------------------------------------------------------------- - -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_implementationObjectMap::optional_searchKey (const GALGAS_string & inKey, - GALGAS_impType & outArgument0) const { - const cMapElement_implementationObjectMap * p = (const cMapElement_implementationObjectMap *) searchForKey (inKey) ; +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 ; +} + +//-------------------------------------------------------------------------------------------------- + +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_implementationObjectMap) ; - outArgument0 = p->mProperty_type ; + macroValidSharedObject (p, cMapElement_implementationMap) ; + outArgument0 = p->mProperty_obj ; }else{ outArgument0.drop () ; } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -// @implementationObjectMap generic code implementation +// @implementationMap generic code implementation // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor -kTypeDescriptor_GALGAS_implementationObjectMap ("implementationObjectMap", - nullptr) ; +const C_galgas_type_descriptor kTypeDescriptor_GALGAS_implementationMap ("implementationMap", + nullptr) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor * GALGAS_implementationObjectMap::staticTypeDescriptor (void) const { - return & kTypeDescriptor_GALGAS_implementationObjectMap ; +const C_galgas_type_descriptor * GALGAS_implementationMap::staticTypeDescriptor (void) const { + return & kTypeDescriptor_GALGAS_implementationMap ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -AC_GALGAS_root * GALGAS_implementationObjectMap::clonedObject (void) const { +AC_GALGAS_root * GALGAS_implementationMap::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; if (isValid ()) { - macroMyNew (result, GALGAS_implementationObjectMap (*this)) ; + macroMyNew (result, GALGAS_implementationMap (*this)) ; } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 () ; +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 () ; 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 ("implementationMap", p->dynamicTypeDescriptor () COMMA_THERE) ; } } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// Object comparison +//-------------------------------------------------------------------------------------------------- -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 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 ; } -//---------------------------------------------------------------------------------------------------------------------- - -bool cMapElement_enumValues::isValid (void) const { - return mProperty_lkey.isValid () ; -} +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- -cMapElement * cMapElement_enumValues::copy (void) { - cMapElement * result = nullptr ; - macroMyNew (result, cMapElement_enumValues (mProperty_lkey, mProperty_subAttributes COMMA_HERE)) ; +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 ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 (void) : +AC_GALGAS_value_class () { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +GALGAS_implementation::GALGAS_implementation (const cPtr_implementation * inSourcePtr) : +AC_GALGAS_value_class (inSourcePtr) { + macroNullOrValidSharedObject (inSourcePtr, cPtr_implementation) ; +} +//-------------------------------------------------------------------------------------------------- + +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)) ; } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_enumValues::GALGAS_enumValues (void) : -AC_GALGAS_map (true) { +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 (const GALGAS_enumValues & inSource) : -AC_GALGAS_map (inSource) { +GALGAS_implementationMap cPtr_implementation::getter_imp (UNUSED_LOCATION_ARGS) const { + return mProperty_imp ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_enumValues & GALGAS_enumValues::operator = (const GALGAS_enumValues & inSource) { - * ((AC_GALGAS_map *) this) = inSource ; - return * this ; +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::constructor_emptyMap (LOCATION_ARGS) { - GALGAS_enumValues result ; - result.makeNewEmptyMap (THERE) ; - return result ; +void cPtr_implementation::setter_setImp (GALGAS_implementationMap inValue + COMMA_UNUSED_LOCATION_ARGS) { + mProperty_imp = inValue ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +//Pointer class for @implementation class +//-------------------------------------------------------------------------------------------------- -GALGAS_enumValues GALGAS_enumValues::constructor_mapWithMapToOverride (const GALGAS_enumValues & inMapToOverride - COMMA_LOCATION_ARGS) { - GALGAS_enumValues result ; - result.makeNewEmptyMapWithMapToOverride (inMapToOverride COMMA_THERE) ; - return result ; +cPtr_implementation::cPtr_implementation (const GALGAS_implementationMap & in_imp + COMMA_LOCATION_ARGS) : +acPtr_class (THERE), +mProperty_imp (in_imp) { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_enumValues GALGAS_enumValues::getter_overriddenMap (C_Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - GALGAS_enumValues result ; - getOverridenMap (result, inCompiler COMMA_THERE) ; - return result ; +const C_galgas_type_descriptor * cPtr_implementation::classDescriptor (void) const { + return & kTypeDescriptor_GALGAS_implementation ; } -//---------------------------------------------------------------------------------------------------------------------- - -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) ; +void cPtr_implementation::description (String & ioString, + const int32_t inIndentation) const { + ioString.appendCString ("[@implementation:") ; + mProperty_imp.description (ioString, inIndentation+1) ; + ioString.appendCString ("]") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; +acPtr_class * cPtr_implementation::duplicate (LOCATION_ARGS) const { + acPtr_class * ptr = nullptr ; + macroMyNew (ptr, cPtr_implementation (mProperty_imp COMMA_THERE)) ; + return ptr ; } -//---------------------------------------------------------------------------------------------------------------------- - -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) ; -} -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// +// @implementation generic code implementation +// +//-------------------------------------------------------------------------------------------------- -const char * kSearchErrorMessage_enumValues_get = "%K does not exists" ; +const C_galgas_type_descriptor kTypeDescriptor_GALGAS_implementation ("implementation", + nullptr) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; - } +const C_galgas_type_descriptor * GALGAS_implementation::staticTypeDescriptor (void) const { + return & kTypeDescriptor_GALGAS_implementation ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; +AC_GALGAS_root * GALGAS_implementation::clonedObject (void) const { + AC_GALGAS_root * result = nullptr ; + if (isValid ()) { + macroMyNew (result, GALGAS_implementation (*this)) ; } + return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; +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 () ; if (nullptr != p) { - macroValidSharedObject (p, cMapElement_enumValues) ; - result = p->mProperty_subAttributes ; + if (nullptr != dynamic_cast (p)) { + result = *p ; + }else{ + inCompiler->castError ("implementation", p->dynamicTypeDescriptor () COMMA_THERE) ; + } } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// +//Extension getter '@implementation hasKey' +// +//-------------------------------------------------------------------------------------------------- -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 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 ; } -//---------------------------------------------------------------------------------------------------------------------- -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 ; -} -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -cEnumerator_enumValues::cEnumerator_enumValues (const GALGAS_enumValues & inEnumeratedObject, - const typeEnumerationOrder inOrder) : -cGenericAbstractEnumerator (inOrder) { - inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; -} +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) ; + } + return result ; +} -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// +//Extension getter '@implementation hasLKey' +// +//-------------------------------------------------------------------------------------------------- -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) ; +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 ; } -//---------------------------------------------------------------------------------------------------------------------- -GALGAS_lstring cEnumerator_enumValues::current_lkey (LOCATION_ARGS) const { - const cMapElement * p = (const cMapElement *) currentObjectPtr (THERE) ; - macroValidSharedObject (p, cMapElement) ; - return p->mProperty_lkey ; + +//-------------------------------------------------------------------------------------------------- + +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 ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// +//Extension getter '@implementation impObject' +// +//-------------------------------------------------------------------------------------------------- -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 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 ; } -//---------------------------------------------------------------------------------------------------------------------- -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_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) ; } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -// @enumValues generic code implementation +//Extension method '@implementation checkTypeForKind' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor -kTypeDescriptor_GALGAS_enumValues ("enumValues", - nullptr) ; +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 * GALGAS_enumValues::staticTypeDescriptor (void) const { - return & kTypeDescriptor_GALGAS_enumValues ; +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) ; + } } +//-------------------------------------------------------------------------------------------------- +// +//Extension method '@implementation checkObjectReferences' +// +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- - -AC_GALGAS_root * GALGAS_enumValues::clonedObject (void) const { - AC_GALGAS_root * result = nullptr ; - if (isValid ()) { - macroMyNew (result, GALGAS_enumValues (*this)) ; +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 () ; } - return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; - } +void callExtensionMethod_checkObjectReferences (cPtr_implementation * inObject, + Compiler * inCompiler + COMMA_LOCATION_ARGS) { + if (nullptr != inObject) { + macroValidSharedObject (inObject, cPtr_implementation) ; + inObject->method_checkObjectReferences (inCompiler COMMA_THERE) ; } - return result ; } - -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -//Extension Getter '@enumValues mergeWithEnum' +//Extension Getter '@implementationObjectMap mergeImplementationObjectAttributesWith' // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +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) ; 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 () ; + 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_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)) ; + 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_mergedEnum.setter_put (enumerator_20480.current_lkey (HERE), var_attributes_20523, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 741)) ; + result_mergedAttributes.setter_put (enumerator_30611.current_lkey (HERE), var_merged_30638, inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 1066)) ; } - enumerator_20480.gotoNextObject () ; + enumerator_30611.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) { + 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_mergedEnum.setter_put (enumerator_20831.current_lkey (HERE), enumerator_20831.current_subAttributes (HERE), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 745)) ; + result_mergedAttributes.setter_put (enumerator_31031.current_lkey (HERE), enumerator_31031.current_type (HERE), inCompiler COMMA_SOURCE_FILE ("implementation_types.galgas", 1070)) ; } } } - enumerator_20831.gotoNextObject () ; + enumerator_31031.gotoNextObject () ; } //--- - return result_mergedEnum ; + return result_mergedAttributes ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// +//Abstract extension getter '@attributeRange contains' +// +//-------------------------------------------------------------------------------------------------- -cMapElement_implementationMap::cMapElement_implementationMap (const GALGAS_lstring & inKey, - const GALGAS_implementationObject & in_obj - COMMA_LOCATION_ARGS) : -cMapElement (inKey COMMA_THERE), -mProperty_obj (in_obj) { +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' +// +//-------------------------------------------------------------------------------------------------- -bool cMapElement_implementationMap::isValid (void) const { - return mProperty_lkey.isValid () ; +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 ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// +// L E X I Q U E +// +//-------------------------------------------------------------------------------------------------- -cMapElement * cMapElement_implementationMap::copy (void) { - cMapElement * result = nullptr ; - macroMyNew (result, cMapElement_implementationMap (mProperty_lkey, mProperty_obj COMMA_HERE)) ; - return result ; -} +#include "unicode_character_cpp.h" +#include "scanner_actions.h" +#include "cLexiqueIntrospection.h" -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void cMapElement_implementationMap::description (C_String & ioString, const int32_t inIndentation) const { - ioString << "\n" ; - ioString.writeStringMultiple ("| ", inIndentation) ; - ioString << "obj" ":" ; - mProperty_obj.description (ioString, inIndentation) ; +cTokenFor_options_5F_scanner::cTokenFor_options_5F_scanner (void) : +mLexicalAttribute_floatNumber (), +mLexicalAttribute_integerNumber (), +mLexicalAttribute_key (), +mLexicalAttribute_number (), +mLexicalAttribute_string () { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; +Lexique_options_5F_scanner::Lexique_options_5F_scanner (Compiler * inCallerCompiler, + const String & inSourceFileName + COMMA_LOCATION_ARGS) : +Lexique (inCallerCompiler, inSourceFileName COMMA_THERE) { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_implementationMap::GALGAS_implementationMap (void) : -AC_GALGAS_map (true) { +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) { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// Lexical error message list +//-------------------------------------------------------------------------------------------------- -GALGAS_implementationMap::GALGAS_implementationMap (const GALGAS_implementationMap & inSource) : -AC_GALGAS_map (inSource) { -} +static const char * gLexicalMessage_options_5F_scanner_decimalNumberTooLarge = "decimal number too large" ; -//---------------------------------------------------------------------------------------------------------------------- +static const char * gLexicalMessage_options_5F_scanner_internalError = "internal error" ; -GALGAS_implementationMap & GALGAS_implementationMap::operator = (const GALGAS_implementationMap & inSource) { - * ((AC_GALGAS_map *) this) = inSource ; - return * this ; -} +static const char * gLexicalMessage_options_5F_scanner_unableToConvertToDouble = "Unable to convert the string to double" ; -//---------------------------------------------------------------------------------------------------------------------- +static const char * gLexicalMessage_options_5F_scanner_unterminatedLitteralString = "Unterminated literal string" ; -GALGAS_implementationMap GALGAS_implementationMap::constructor_emptyMap (LOCATION_ARGS) { - GALGAS_implementationMap result ; - result.makeNewEmptyMap (THERE) ; - return result ; -} - -//---------------------------------------------------------------------------------------------------------------------- - -GALGAS_implementationMap GALGAS_implementationMap::constructor_mapWithMapToOverride (const GALGAS_implementationMap & inMapToOverride - COMMA_LOCATION_ARGS) { - GALGAS_implementationMap result ; - result.makeNewEmptyMapWithMapToOverride (inMapToOverride COMMA_THERE) ; - return result ; -} - -//---------------------------------------------------------------------------------------------------------------------- - -GALGAS_implementationMap GALGAS_implementationMap::getter_overriddenMap (C_Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - GALGAS_implementationMap result ; - getOverridenMap (result, inCompiler COMMA_THERE) ; - return result ; -} - -//---------------------------------------------------------------------------------------------------------------------- - -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) ; -} - -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// getMessageForTerminal +//-------------------------------------------------------------------------------------------------- -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 () ; +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 ; } -//---------------------------------------------------------------------------------------------------------------------- - -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) ; -} - -//---------------------------------------------------------------------------------------------------------------------- - -const char * kSearchErrorMessage_implementationMap_get = "%K does not exists" ; - -//---------------------------------------------------------------------------------------------------------------------- - -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{ - macroValidSharedObject (p, cMapElement_implementationMap) ; - outArgument0 = p->mProperty_obj ; - } -} - -//---------------------------------------------------------------------------------------------------------------------- - -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 ; - } -} - -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// U N I C O D E S T R I N G S +//-------------------------------------------------------------------------------------------------- -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 ; -} +//--- Unicode string for '$($' +static const std::initializer_list kUnicodeString_options_5F_scanner__28_ = { + TO_UNICODE ('('), +} ; -//---------------------------------------------------------------------------------------------------------------------- +//--- Unicode string for '$)$' +static const std::initializer_list kUnicodeString_options_5F_scanner__29_ = { + TO_UNICODE (')'), +} ; -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 ; - } -} +//--- Unicode string for '$,$' +static const std::initializer_list kUnicodeString_options_5F_scanner__2C_ = { + TO_UNICODE (','), +} ; -//---------------------------------------------------------------------------------------------------------------------- +//--- Unicode string for '$-$' +static const std::initializer_list kUnicodeString_options_5F_scanner__2D_ = { + TO_UNICODE ('-'), +} ; -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 ; -} +//--- Unicode string for '$0X$' +static const std::initializer_list kUnicodeString_options_5F_scanner__30_X = { + TO_UNICODE ('0'), + TO_UNICODE ('X'), +} ; -//---------------------------------------------------------------------------------------------------------------------- +//--- Unicode string for '$0x$' +static const std::initializer_list kUnicodeString_options_5F_scanner__30_x = { + TO_UNICODE ('0'), + TO_UNICODE ('x'), +} ; -cEnumerator_implementationMap::cEnumerator_implementationMap (const GALGAS_implementationMap & inEnumeratedObject, - const typeEnumerationOrder inOrder) : -cGenericAbstractEnumerator (inOrder) { - inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; -} +//--- Unicode string for '$=$' +static const std::initializer_list kUnicodeString_options_5F_scanner__3D_ = { + TO_UNICODE ('='), +} ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// Key words table 'optionsDelimiters' +//-------------------------------------------------------------------------------------------------- -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) ; -} +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_, 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_) +} ; -GALGAS_lstring cEnumerator_implementationMap::current_lkey (LOCATION_ARGS) const { - const cMapElement * p = (const cMapElement *) currentObjectPtr (THERE) ; - macroValidSharedObject (p, cMapElement) ; - return p->mProperty_lkey ; +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) ; } -//---------------------------------------------------------------------------------------------------------------------- - -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 ; -} -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// getCurrentTokenString +//-------------------------------------------------------------------------------------------------- -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 ; +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 ("$$") ; }else{ - outArgument0.drop () ; + 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 ; + } } - return result ; + return s ; } -//---------------------------------------------------------------------------------------------------------------------- -// -// @implementationMap generic code implementation -// -//---------------------------------------------------------------------------------------------------------------------- - -const C_galgas_type_descriptor -kTypeDescriptor_GALGAS_implementationMap ("implementationMap", - nullptr) ; - -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// Template Delimiters +//-------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor * GALGAS_implementationMap::staticTypeDescriptor (void) const { - return & kTypeDescriptor_GALGAS_implementationMap ; -} -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// Template Replacements +//-------------------------------------------------------------------------------------------------- -AC_GALGAS_root * GALGAS_implementationMap::clonedObject (void) const { - AC_GALGAS_root * result = nullptr ; - if (isValid ()) { - macroMyNew (result, GALGAS_implementationMap (*this)) ; - } - return result ; -} -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// Terminal Symbols as end of script in template mark +//-------------------------------------------------------------------------------------------------- -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 -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// INTERNAL PARSE LEXICAL TOKEN +//-------------------------------------------------------------------------------------------------- -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) ; +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 } - return result ; } -//---------------------------------------------------------------------------------------------------------------------- - +//-------------------------------------------------------------------------------------------------- +// P A R S E L E X I C A L T O K E N +//-------------------------------------------------------------------------------------------------- -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) ; - } +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) ; } - return result ; + if (UNICODE_VALUE (mCurrentChar) == '\0') { + token.mTokenCode = 0 ; + enterToken (token) ; + } + return token.mTokenCode > 0 ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// E N T E R T O K E N +//-------------------------------------------------------------------------------------------------- -GALGAS_implementation::GALGAS_implementation (void) : -AC_GALGAS_value_class () { +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) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// A T T R I B U T E A C C E S S +//-------------------------------------------------------------------------------------------------- -GALGAS_implementation GALGAS_implementation::constructor_default (LOCATION_ARGS) { - return GALGAS_implementation::constructor_new (GALGAS_implementationMap::constructor_emptyMap (HERE) - COMMA_THERE) ; +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_implementation::GALGAS_implementation (const cPtr_implementation * inSourcePtr) : -AC_GALGAS_value_class (inSourcePtr) { - macroNullOrValidSharedObject (inSourcePtr, cPtr_implementation) ; -} -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; +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_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 ; - } +String Lexique_options_5F_scanner::attributeValue_key (void) const { + cTokenFor_options_5F_scanner * ptr = (cTokenFor_options_5F_scanner *) currentTokenPtr (HERE) ; + return ptr->mLexicalAttribute_key ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_implementationMap cPtr_implementation::getter_imp (UNUSED_LOCATION_ARGS) const { - return mProperty_imp ; +String Lexique_options_5F_scanner::attributeValue_number (void) const { + cTokenFor_options_5F_scanner * ptr = (cTokenFor_options_5F_scanner *) currentTokenPtr (HERE) ; + return ptr->mLexicalAttribute_number ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; - } +String 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 +//-------------------------------------------------------------------------------------------------- -void cPtr_implementation::setter_setImp (GALGAS_implementationMap inValue - COMMA_UNUSED_LOCATION_ARGS) { - mProperty_imp = inValue ; +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) ; + 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_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) ; + return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor * cPtr_implementation::classDescriptor (void) const { - return & kTypeDescriptor_GALGAS_implementation ; -} - -void cPtr_implementation::description (C_String & ioString, - const int32_t inIndentation) const { - ioString << "[@implementation:" ; - mProperty_imp.description (ioString, inIndentation+1) ; - ioString << "]" ; +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) ; + 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_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) ; + return result ; } +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- -// -// @implementation generic code implementation -// -//---------------------------------------------------------------------------------------------------------------------- - -const C_galgas_type_descriptor -kTypeDescriptor_GALGAS_implementation ("implementation", - nullptr) ; +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 ; +} -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// I N T R O S P E C T I O N +//-------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor * GALGAS_implementation::staticTypeDescriptor (void) const { - return & kTypeDescriptor_GALGAS_implementation ; +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 ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -AC_GALGAS_root * GALGAS_implementation::clonedObject (void) const { - AC_GALGAS_root * result = nullptr ; - if (isValid ()) { - macroMyNew (result, GALGAS_implementation (*this)) ; - } - return result ; +static void getKeywordLists_options_5F_scanner (TC_UniqueArray & ioList) { + ioList.appendObject ("options_scanner:optionsDelimiters") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; - } +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() ; } - return result ; } -//---------------------------------------------------------------------------------------------------------------------- -// -//Extension getter '@implementation hasKey' -// -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; -} +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 +//-------------------------------------------------------------------------------------------------- +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 ; +} -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// S T Y L E N A M E F O R S T Y L E I N D E X +//-------------------------------------------------------------------------------------------------- -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) ; +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] ; } return result ; } -//---------------------------------------------------------------------------------------------------------------------- -// -//Extension getter '@implementation hasLKey' -// -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; +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) { } +//-------------------------------------------------------------------------------------------------- +bool cMapElement_identifierMap::isValid (void) const { + return mProperty_lkey.isValid () ; +} -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; - } +cMapElement * cMapElement_identifierMap::copy (void) { + cMapElement * result = nullptr ; + macroMyNew (result, cMapElement_identifierMap (mProperty_lkey, mProperty_value COMMA_HERE)) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- -// -//Extension getter '@implementation impObject' -// -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; +void cMapElement_identifierMap::description (String & ioString, const int32_t inIndentation) const { + ioString.appendNewLine () ; + ioString.appendStringMultiple ("| ", inIndentation) ; + ioString.appendCString ("value" ":") ; + mProperty_value.description (ioString, inIndentation) ; } +//-------------------------------------------------------------------------------------------------- - -//---------------------------------------------------------------------------------------------------------------------- - -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) ; +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 ; } -//---------------------------------------------------------------------------------------------------------------------- -// -//Extension method '@implementation checkTypeForKind' -// -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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::GALGAS_identifierMap (void) : +AC_GALGAS_map () { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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' -// -//---------------------------------------------------------------------------------------------------------------------- - -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_identifierMap::GALGAS_identifierMap (const GALGAS_identifierMap & inSource) : +AC_GALGAS_map (inSource) { } -//---------------------------------------------------------------------------------------------------------------------- - -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' -// -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 () ; - } - 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 ; +GALGAS_identifierMap & GALGAS_identifierMap::operator = (const GALGAS_identifierMap & inSource) { + * ((AC_GALGAS_map *) this) = inSource ; + return * this ; } +//-------------------------------------------------------------------------------------------------- - - -//---------------------------------------------------------------------------------------------------------------------- -// -//Abstract extension getter '@attributeRange contains' -// -//---------------------------------------------------------------------------------------------------------------------- - -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) ; - } +GALGAS_identifierMap GALGAS_identifierMap::class_func_emptyMap (LOCATION_ARGS) { + GALGAS_identifierMap result ; + result.makeNewEmptyMap (THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- -// -//Abstract extension getter '@attributeRange string' -// -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; - } +GALGAS_identifierMap GALGAS_identifierMap::class_func_mapWithMapToOverride (const GALGAS_identifierMap & inMapToOverride + COMMA_LOCATION_ARGS) { + GALGAS_identifierMap result ; + result.makeNewEmptyMapWithMapToOverride (inMapToOverride COMMA_THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- -// -// L E X I Q U E -// -//---------------------------------------------------------------------------------------------------------------------- - -#include "strings/unicode_character_cpp.h" -#include "galgas2/scanner_actions.h" -#include "galgas2/cLexiqueIntrospection.h" +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- - -cTokenFor_options_5F_scanner::cTokenFor_options_5F_scanner (void) : -mLexicalAttribute_floatNumber (), -mLexicalAttribute_integerNumber (), -mLexicalAttribute_key (), -mLexicalAttribute_number (), -mLexicalAttribute_string () { +GALGAS_identifierMap GALGAS_identifierMap::getter_overriddenMap (Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + GALGAS_identifierMap result ; + getOverridenMap (result, inCompiler COMMA_THERE) ; + return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) { +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) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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_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 () ; + } + return result ; } -//---------------------------------------------------------------------------------------------------------------------- -// Lexical error message list -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static const char * gLexicalMessage_options_5F_scanner_decimalNumberTooLarge = "decimal number too large" ; +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) ; +} -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" ; +const char * kSearchErrorMessage_identifierMap_get = "Identifier %K is not defined" ; -static const char * gLexicalMessage_options_5F_scanner_unterminatedLitteralString = "Unterminated literal string" ; +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- -// getMessageForTerminal -//---------------------------------------------------------------------------------------------------------------------- +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 ; + } +} -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] ; +//-------------------------------------------------------------------------------------------------- + +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 ; } - return result ; } -//---------------------------------------------------------------------------------------------------------------------- -// 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) -} ; +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 ; +} -//--- 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) -} ; +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 ; + } +} -//--- Unicode string for '$_2D_$' -static const utf32 kUnicodeString_options_5F_scanner__2D_ [] = { - TO_UNICODE ('-'), - 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) -} ; +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 ; +} -//--- 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 '$_3D_$' -static const utf32 kUnicodeString_options_5F_scanner__3D_ [] = { - TO_UNICODE ('='), - TO_UNICODE (0) -} ; +cEnumerator_identifierMap::cEnumerator_identifierMap (const GALGAS_identifierMap & inEnumeratedObject, + const typeEnumerationOrder inOrder) : +cGenericAbstractEnumerator (inOrder) { + inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; +} -//---------------------------------------------------------------------------------------------------------------------- -// Key words table 'optionsDelimiters' -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static const int32_t ktable_size_options_5F_scanner_optionsDelimiters = 5 ; +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) ; +} -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_) -} ; +//-------------------------------------------------------------------------------------------------- -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) ; +GALGAS_lstring cEnumerator_identifierMap::current_lkey (LOCATION_ARGS) const { + const cMapElement * p = (const cMapElement *) currentObjectPtr (THERE) ; + macroValidSharedObject (p, cMapElement) ; + return p->mProperty_lkey ; } +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- -// getCurrentTokenString -//---------------------------------------------------------------------------------------------------------------------- +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 ; +} -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("$$") ; +//-------------------------------------------------------------------------------------------------- + +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{ - 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 ; - } + outArgument0.drop () ; } - return s ; + return result ; } -//---------------------------------------------------------------------------------------------------------------------- -// Template Delimiters -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// +// @identifierMap generic code implementation +// +//-------------------------------------------------------------------------------------------------- +const C_galgas_type_descriptor kTypeDescriptor_GALGAS_identifierMap ("identifierMap", + nullptr) ; -//---------------------------------------------------------------------------------------------------------------------- -// Template Replacements -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +const C_galgas_type_descriptor * GALGAS_identifierMap::staticTypeDescriptor (void) const { + return & kTypeDescriptor_GALGAS_identifierMap ; +} -//---------------------------------------------------------------------------------------------------------------------- -// Terminal Symbols as end of script in template mark -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +AC_GALGAS_root * GALGAS_identifierMap::clonedObject (void) const { + AC_GALGAS_root * result = nullptr ; + if (isValid ()) { + macroMyNew (result, GALGAS_identifierMap (*this)) ; + } + return result ; +} -//---------------------------------------------------------------------------------------------------------------------- -// 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 ; - } - }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, 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 - } - }catch (const C_lexicalErrorException &) { - token.mTokenCode = -1 ; // No token - advance () ; // ... go throught unknown character +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) ; + } } + return result ; } -//---------------------------------------------------------------------------------------------------------------------- -// P A R S E L E X I C A L T O K E N -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// Object comparison +//-------------------------------------------------------------------------------------------------- -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) ; +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 token.mTokenCode > 0 ; + return result ; } -//---------------------------------------------------------------------------------------------------------------------- -// E N T E R T O K E N -//---------------------------------------------------------------------------------------------------------------------- - -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) ; -} +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- -// A T T R I B U T E A C C E S S -//---------------------------------------------------------------------------------------------------------------------- -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 ; +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 ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; +GALGAS_objectAttributes::GALGAS_objectAttributes (void) : +AC_GALGAS_value_class () { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; +GALGAS_objectAttributes::GALGAS_objectAttributes (const cPtr_objectAttributes * inSourcePtr) : +AC_GALGAS_value_class (inSourcePtr) { + macroNullOrValidSharedObject (inSourcePtr, cPtr_objectAttributes) ; } +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- - -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 ; +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 ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; +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 ; + } } -//---------------------------------------------------------------------------------------------------------------------- -// A S S I G N F R O M A T T R I B U T E -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; +GALGAS_identifierMap cPtr_objectAttributes::getter_objectParams (UNUSED_LOCATION_ARGS) const { + return mProperty_objectParams ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 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_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 ; +void cPtr_objectAttributes::setter_setObjectParams (GALGAS_identifierMap inValue + COMMA_UNUSED_LOCATION_ARGS) { + mProperty_objectParams = inValue ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +//Pointer class for @objectAttributes class +//-------------------------------------------------------------------------------------------------- -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 ; +cPtr_objectAttributes::cPtr_objectAttributes (const GALGAS_identifierMap & in_objectParams + COMMA_LOCATION_ARGS) : +acPtr_class (THERE), +mProperty_objectParams (in_objectParams) { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; +const C_galgas_type_descriptor * cPtr_objectAttributes::classDescriptor (void) const { + return & kTypeDescriptor_GALGAS_objectAttributes ; } -//---------------------------------------------------------------------------------------------------------------------- -// I N T R O S P E C T I O N -//---------------------------------------------------------------------------------------------------------------------- - -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 ; +void cPtr_objectAttributes::description (String & ioString, + const int32_t inIndentation) const { + ioString.appendCString ("[@objectAttributes:") ; + mProperty_objectParams.description (ioString, inIndentation+1) ; + ioString.appendCString ("]") ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static void getKeywordLists_options_5F_scanner (TC_UniqueArray & ioList) { - ioList.appendObject ("options_scanner:optionsDelimiters") ; +acPtr_class * cPtr_objectAttributes::duplicate (LOCATION_ARGS) const { + acPtr_class * ptr = nullptr ; + macroMyNew (ptr, cPtr_objectAttributes (mProperty_objectParams COMMA_THERE)) ; + return ptr ; } -//---------------------------------------------------------------------------------------------------------------------- - -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() ; - } -} -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// +// @objectAttributes generic code implementation +// +//-------------------------------------------------------------------------------------------------- -static cLexiqueIntrospection lexiqueIntrospection_options_5F_scanner -__attribute__ ((used)) -__attribute__ ((unused)) (getKeywordLists_options_5F_scanner, getKeywordsForIdentifier_options_5F_scanner) ; +const C_galgas_type_descriptor kTypeDescriptor_GALGAS_objectAttributes ("objectAttributes", + nullptr) ; -//---------------------------------------------------------------------------------------------------------------------- -// S T Y L E I N D E X F O R T E R M I N A L -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; +const C_galgas_type_descriptor * GALGAS_objectAttributes::staticTypeDescriptor (void) const { + return & kTypeDescriptor_GALGAS_objectAttributes ; } -//---------------------------------------------------------------------------------------------------------------------- -// S T Y L E N A M E F O R S T Y L E I N D E X -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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] ; +AC_GALGAS_root * GALGAS_objectAttributes::clonedObject (void) const { + AC_GALGAS_root * result = nullptr ; + if (isValid ()) { + macroMyNew (result, GALGAS_objectAttributes (*this)) ; } 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) { +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 ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// +//Extension setter '@objectAttributes mergeAttributes' +// +//-------------------------------------------------------------------------------------------------- -bool cMapElement_identifierMap::isValid (void) const { - return mProperty_lkey.isValid () ; -} +static TC_UniqueArray gExtensionModifierTable_objectAttributes_mergeAttributes ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -cMapElement * cMapElement_identifierMap::copy (void) { - cMapElement * result = nullptr ; - macroMyNew (result, cMapElement_identifierMap (mProperty_lkey, mProperty_value COMMA_HERE)) ; - return result ; +void enterExtensionSetter_mergeAttributes (const int32_t inClassIndex, + extensionSetterSignature_objectAttributes_mergeAttributes inModifier) { + gExtensionModifierTable_objectAttributes_mergeAttributes.forceObjectAtIndex (inClassIndex, inModifier, nullptr) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 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) ; + } + f (inObject, in_withAttributes, inCompiler COMMA_THERE) ; + } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +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)) ; + } + { + 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 () ; } - return result ; } +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- - -GALGAS_identifierMap::GALGAS_identifierMap (void) : -AC_GALGAS_map (true) { +static void defineExtensionSetter_objectAttributes_mergeAttributes (void) { + enterExtensionSetter_mergeAttributes (kTypeDescriptor_GALGAS_objectAttributes.mSlotID, + extensionSetter_objectAttributes_mergeAttributes) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_identifierMap::GALGAS_identifierMap (const GALGAS_identifierMap & inSource) : -AC_GALGAS_map (inSource) { +static void freeExtensionModifier_objectAttributes_mergeAttributes (void) { + gExtensionModifierTable_objectAttributes_mergeAttributes.removeAll () ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_identifierMap & GALGAS_identifierMap::operator = (const GALGAS_identifierMap & inSource) { - * ((AC_GALGAS_map *) this) = inSource ; - return * this ; -} +PrologueEpilogue gSetter_objectAttributes_mergeAttributes (defineExtensionSetter_objectAttributes_mergeAttributes, + freeExtensionModifier_objectAttributes_mergeAttributes) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// +//Class for element of '@identifierList' list +// +//-------------------------------------------------------------------------------------------------- -GALGAS_identifierMap GALGAS_identifierMap::constructor_emptyMap (LOCATION_ARGS) { - GALGAS_identifierMap result ; - result.makeNewEmptyMap (THERE) ; - return result ; -} +class cCollectionElement_identifierList : public cCollectionElement { + public: GALGAS_identifierList_2D_element mObject ; -//---------------------------------------------------------------------------------------------------------------------- +//--- 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) ; -GALGAS_identifierMap GALGAS_identifierMap::constructor_mapWithMapToOverride (const GALGAS_identifierMap & inMapToOverride - COMMA_LOCATION_ARGS) { - GALGAS_identifierMap result ; - result.makeNewEmptyMapWithMapToOverride (inMapToOverride COMMA_THERE) ; - 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_identifierMap GALGAS_identifierMap::getter_overriddenMap (C_Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - GALGAS_identifierMap result ; - getOverridenMap (result, inCompiler COMMA_THERE) ; - 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 ; +} ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +cCollectionElement_identifierList::cCollectionElement_identifierList (const GALGAS_object_5F_t & in_item + COMMA_LOCATION_ARGS) : +cCollectionElement (THERE), +mObject (in_item) { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; +cCollectionElement_identifierList::cCollectionElement_identifierList (const GALGAS_identifierList_2D_element & inElement COMMA_LOCATION_ARGS) : +cCollectionElement (THERE), +mObject (inElement.mProperty_item) { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +bool cCollectionElement_identifierList::isValid (void) const { + return true ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -const char * kSearchErrorMessage_identifierMap_get = "Identifier %K is not defined" ; +cCollectionElement * cCollectionElement_identifierList::copy (void) { + cCollectionElement * result = nullptr ; + macroMyNew (result, cCollectionElement_identifierList (mObject.mProperty_item COMMA_HERE)) ; + return result ; +} -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 cCollectionElement_identifierList::description (String & ioString, const int32_t inIndentation) const { + ioString.appendNewLine () ; + ioString.appendStringMultiple ("| ", inIndentation) ; + ioString.appendCString ("item" ":") ; + mObject.mProperty_item.description (ioString, inIndentation) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; - } +typeComparisonResult cCollectionElement_identifierList::compare (const cCollectionElement * inOperand) const { + cCollectionElement_identifierList * operand = (cCollectionElement_identifierList *) inOperand ; + macroValidSharedObject (operand, cCollectionElement_identifierList) ; + return mObject.objectCompare (operand->mObject) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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, cMapElement_identifierMap) ; - result = p->mProperty_value ; - } - return result ; +GALGAS_identifierList::GALGAS_identifierList (void) : +AC_GALGAS_list () { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; - } +GALGAS_identifierList::GALGAS_identifierList (const capCollectionElementArray & inSharedArray) : +AC_GALGAS_list (inSharedArray) { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; +GALGAS_identifierList GALGAS_identifierList::class_func_emptyList (UNUSED_LOCATION_ARGS) { + return GALGAS_identifierList (capCollectionElementArray ()) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -cEnumerator_identifierMap::cEnumerator_identifierMap (const GALGAS_identifierMap & inEnumeratedObject, - const typeEnumerationOrder inOrder) : -cGenericAbstractEnumerator (inOrder) { - inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; +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) ; + } + return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 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) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_lstring cEnumerator_identifierMap::current_lkey (LOCATION_ARGS) const { - const cMapElement * p = (const cMapElement *) currentObjectPtr (THERE) ; - macroValidSharedObject (p, cMapElement) ; - return p->mProperty_lkey ; +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_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 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) ; + } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 () ; +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 () ; + } } - return result ; } -//---------------------------------------------------------------------------------------------------------------------- -// -// @identifierMap generic code implementation -// -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor -kTypeDescriptor_GALGAS_identifierMap ("identifierMap", - nullptr) ; +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 () ; + } +} -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor * GALGAS_identifierMap::staticTypeDescriptor (void) const { - return & kTypeDescriptor_GALGAS_identifierMap ; +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 ; + } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -AC_GALGAS_root * GALGAS_identifierMap::clonedObject (void) const { - AC_GALGAS_root * result = nullptr ; - if (isValid ()) { - macroMyNew (result, GALGAS_identifierMap (*this)) ; +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 ; } - return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) { - result = *p ; - }else{ - inCompiler->castError ("identifierMap", p->dynamicTypeDescriptor () COMMA_THERE) ; - } +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 ; } - 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) ; +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 ; } - return result ; } -//---------------------------------------------------------------------------------------------------------------------- - +//-------------------------------------------------------------------------------------------------- -typeComparisonResult GALGAS_objectAttributes::objectCompare (const GALGAS_objectAttributes & inOperand) const { - typeComparisonResult result = kOperandNotValid ; +GALGAS_identifierList GALGAS_identifierList::add_operation (const GALGAS_identifierList & inOperand, + Compiler * /* inCompiler */ + COMMA_UNUSED_LOCATION_ARGS) const { + GALGAS_identifierList result ; 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) ; - } + result = *this ; + result.appendList (inOperand) ; } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_objectAttributes::GALGAS_objectAttributes (void) : -AC_GALGAS_value_class () { +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_objectAttributes GALGAS_objectAttributes::constructor_default (LOCATION_ARGS) { - return GALGAS_objectAttributes::constructor_new (GALGAS_identifierMap::constructor_emptyMap (HERE) - COMMA_THERE) ; +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) ; + return result ; } -//---------------------------------------------------------------------------------------------------------------------- - -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)) ; - } +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) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; - } +void GALGAS_identifierList::plusAssign_operation (const GALGAS_identifierList inOperand, + Compiler * /* inCompiler */ + COMMA_UNUSED_LOCATION_ARGS) { + appendList (inOperand) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_identifierMap cPtr_objectAttributes::getter_objectParams (UNUSED_LOCATION_ARGS) const { - return mProperty_objectParams ; +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_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_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 () ; + GALGAS_object_5F_t result ; + if (nullptr != p) { + macroValidSharedObject (p, cCollectionElement_identifierList) ; + result = p->mObject.mProperty_item ; } + 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) { +cEnumerator_identifierList::cEnumerator_identifierList (const GALGAS_identifierList & inEnumeratedObject, + const typeEnumerationOrder inOrder) : +cGenericAbstractEnumerator (inOrder) { + inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor * cPtr_objectAttributes::classDescriptor (void) const { - return & kTypeDescriptor_GALGAS_objectAttributes ; +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 ; } -void cPtr_objectAttributes::description (C_String & ioString, - const int32_t inIndentation) const { - ioString << "[@objectAttributes:" ; - mProperty_objectParams.description (ioString, inIndentation+1) ; - ioString << "]" ; -} -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -acPtr_class * cPtr_objectAttributes::duplicate (LOCATION_ARGS) const { - acPtr_class * ptr = nullptr ; - macroMyNew (ptr, cPtr_objectAttributes (mProperty_objectParams COMMA_THERE)) ; - return ptr ; +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 ; } -//---------------------------------------------------------------------------------------------------------------------- + + +//-------------------------------------------------------------------------------------------------- // -// @objectAttributes generic code implementation +// @identifierList generic code implementation // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor -kTypeDescriptor_GALGAS_objectAttributes ("objectAttributes", - nullptr) ; +const C_galgas_type_descriptor kTypeDescriptor_GALGAS_identifierList ("identifierList", + nullptr) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor * GALGAS_objectAttributes::staticTypeDescriptor (void) const { - return & kTypeDescriptor_GALGAS_objectAttributes ; +const C_galgas_type_descriptor * GALGAS_identifierList::staticTypeDescriptor (void) const { + return & kTypeDescriptor_GALGAS_identifierList ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -AC_GALGAS_root * GALGAS_objectAttributes::clonedObject (void) const { +AC_GALGAS_root * GALGAS_identifierList::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; if (isValid ()) { - macroMyNew (result, GALGAS_objectAttributes (*this)) ; + macroMyNew (result, GALGAS_identifierList (*this)) ; } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) { - if (nullptr != dynamic_cast (p)) { +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 () ; + if (nullptr != p) { + if (nullptr != dynamic_cast (p)) { result = *p ; }else{ - inCompiler->castError ("objectAttributes", p->dynamicTypeDescriptor () COMMA_THERE) ; + inCompiler->castError ("identifierList", p->dynamicTypeDescriptor () COMMA_THERE) ; } } return result ; } -//---------------------------------------------------------------------------------------------------------------------- -// -//Extension setter '@objectAttributes mergeAttributes' -// -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static TC_UniqueArray gExtensionModifierTable_objectAttributes_mergeAttributes ; +cMapElement_stringMap::cMapElement_stringMap (const GALGAS_lstring & inKey, + const GALGAS_string & in_value + COMMA_LOCATION_ARGS) : +cMapElement (inKey COMMA_THERE), +mProperty_value (in_value) { +} -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void enterExtensionSetter_mergeAttributes (const int32_t inClassIndex, - extensionSetterSignature_objectAttributes_mergeAttributes inModifier) { - gExtensionModifierTable_objectAttributes_mergeAttributes.forceObjectAtIndex (inClassIndex, inModifier, nullptr COMMA_HERE) ; +bool cMapElement_stringMap::isValid (void) const { + return mProperty_lkey.isValid () ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; - } +cMapElement * cMapElement_stringMap::copy (void) { + cMapElement * result = nullptr ; + macroMyNew (result, cMapElement_stringMap (mProperty_lkey, mProperty_value COMMA_HERE)) ; + return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 () ; - } +void cMapElement_stringMap::description (String & ioString, const int32_t inIndentation) const { + ioString.appendNewLine () ; + ioString.appendStringMultiple ("| ", inIndentation) ; + ioString.appendCString ("value" ":") ; + mProperty_value.description (ioString, inIndentation) ; } -//---------------------------------------------------------------------------------------------------------------------- -static void defineExtensionSetter_objectAttributes_mergeAttributes (void) { - enterExtensionSetter_mergeAttributes (kTypeDescriptor_GALGAS_objectAttributes.mSlotID, - extensionSetter_objectAttributes_mergeAttributes) ; +//-------------------------------------------------------------------------------------------------- + +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) ; + } + return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -static void freeExtensionModifier_objectAttributes_mergeAttributes (void) { - gExtensionModifierTable_objectAttributes_mergeAttributes.removeAll () ; +GALGAS_stringMap::GALGAS_stringMap (void) : +AC_GALGAS_map () { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -C_PrologueEpilogue gSetter_objectAttributes_mergeAttributes (defineExtensionSetter_objectAttributes_mergeAttributes, - freeExtensionModifier_objectAttributes_mergeAttributes) ; - -//---------------------------------------------------------------------------------------------------------------------- -// -//Class for element of '@identifierList' list -// -//---------------------------------------------------------------------------------------------------------------------- +GALGAS_stringMap::GALGAS_stringMap (const GALGAS_stringMap & inSource) : +AC_GALGAS_map (inSource) { +} -class cCollectionElement_identifierList : public cCollectionElement { - public: GALGAS_identifierList_2D_element mObject ; +//-------------------------------------------------------------------------------------------------- -//--- 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) ; +GALGAS_stringMap & GALGAS_stringMap::operator = (const GALGAS_stringMap & inSource) { + * ((AC_GALGAS_map *) this) = inSource ; + return * this ; +} -//--- 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_stringMap GALGAS_stringMap::class_func_emptyMap (LOCATION_ARGS) { + GALGAS_stringMap result ; + result.makeNewEmptyMap (THERE) ; + return result ; +} -//--- 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_stringMap GALGAS_stringMap::class_func_mapWithMapToOverride (const GALGAS_stringMap & inMapToOverride + COMMA_LOCATION_ARGS) { + GALGAS_stringMap result ; + result.makeNewEmptyMapWithMapToOverride (inMapToOverride COMMA_THERE) ; + return result ; +} -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -cCollectionElement_identifierList::cCollectionElement_identifierList (const GALGAS_object_5F_t & in_item - COMMA_LOCATION_ARGS) : -cCollectionElement (THERE), -mObject (in_item) { +GALGAS_stringMap GALGAS_stringMap::getter_overriddenMap (Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + GALGAS_stringMap result ; + getOverridenMap (result, inCompiler COMMA_THERE) ; + return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -cCollectionElement_identifierList::cCollectionElement_identifierList (const GALGAS_identifierList_2D_element & inElement COMMA_LOCATION_ARGS) : -cCollectionElement (THERE), -mObject (inElement.mProperty_item) { +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) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -bool cCollectionElement_identifierList::isValid (void) const { - return true ; +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 ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -cCollectionElement * cCollectionElement_identifierList::copy (void) { - cCollectionElement * result = nullptr ; - macroMyNew (result, cCollectionElement_identifierList (mObject.mProperty_item COMMA_HERE)) ; - return result ; +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) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +const char * kSearchErrorMessage_stringMap_get = "stringmap key %K is not defined" ; + +//-------------------------------------------------------------------------------------------------- + +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 ; + } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -typeComparisonResult cCollectionElement_identifierList::compare (const cCollectionElement * inOperand) const { - cCollectionElement_identifierList * operand = (cCollectionElement_identifierList *) inOperand ; - macroValidSharedObject (operand, cCollectionElement_identifierList) ; - return mObject.objectCompare (operand->mObject) ; +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 ; + } + return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_identifierList::GALGAS_identifierList (void) : -AC_GALGAS_list () { +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 ; + if (nullptr != p) { + macroValidSharedObject (p, cMapElement_stringMap) ; + p->mProperty_value = inAttributeValue ; + } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_identifierList::GALGAS_identifierList (const capCollectionElementArray & inSharedArray) : -AC_GALGAS_list (inSharedArray) { +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 ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_identifierList GALGAS_identifierList::constructor_emptyList (UNUSED_LOCATION_ARGS) { - return GALGAS_identifierList (capCollectionElementArray ()) ; +cEnumerator_stringMap::cEnumerator_stringMap (const GALGAS_stringMap & inEnumeratedObject, + const typeEnumerationOrder inOrder) : +cGenericAbstractEnumerator (inOrder) { + inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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_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 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) ; +GALGAS_lstring cEnumerator_stringMap::current_lkey (LOCATION_ARGS) const { + const cMapElement * p = (const cMapElement *) currentObjectPtr (THERE) ; + macroValidSharedObject (p, cMapElement) ; + return p->mProperty_lkey ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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_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 ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +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 ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// +// @stringMap generic code implementation +// +//-------------------------------------------------------------------------------------------------- -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 C_galgas_type_descriptor kTypeDescriptor_GALGAS_stringMap ("stringMap", + nullptr) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 () ; - } +const C_galgas_type_descriptor * GALGAS_stringMap::staticTypeDescriptor (void) const { + return & kTypeDescriptor_GALGAS_stringMap ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) { - outOperand0.drop () ; - }else{ - macroValidSharedObject (p, cCollectionElement_identifierList) ; - outOperand0 = p->mObject.mProperty_item ; +AC_GALGAS_root * GALGAS_stringMap::clonedObject (void) const { + AC_GALGAS_root * result = nullptr ; + if (isValid ()) { + macroMyNew (result, GALGAS_stringMap (*this)) ; } + return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; +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 ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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::cMapElement_lstringMap (const GALGAS_lstring & inKey, + const GALGAS_lstring & in_value + COMMA_LOCATION_ARGS) : +cMapElement (inKey COMMA_THERE), +mProperty_value (in_value) { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; - } +bool cMapElement_lstringMap::isValid (void) const { + return mProperty_lkey.isValid () ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; - } +cMapElement * cMapElement_lstringMap::copy (void) { + cMapElement * result = nullptr ; + macroMyNew (result, cMapElement_lstringMap (mProperty_lkey, mProperty_value COMMA_HERE)) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; +void cMapElement_lstringMap::description (String & ioString, const int32_t inIndentation) const { + ioString.appendNewLine () ; + ioString.appendStringMultiple ("| ", inIndentation) ; + ioString.appendCString ("value" ":") ; + mProperty_value.description (ioString, inIndentation) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +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 ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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_lstringMap::GALGAS_lstringMap (void) : +AC_GALGAS_map () { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void GALGAS_identifierList::plusAssign_operation (const GALGAS_identifierList inOperand, - C_Compiler * /* inCompiler */ - COMMA_UNUSED_LOCATION_ARGS) { - appendList (inOperand) ; +GALGAS_lstringMap::GALGAS_lstringMap (const GALGAS_lstringMap & inSource) : +AC_GALGAS_map (inSource) { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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_lstringMap & GALGAS_lstringMap::operator = (const GALGAS_lstringMap & inSource) { + * ((AC_GALGAS_map *) this) = inSource ; + return * this ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; - } +GALGAS_lstringMap GALGAS_lstringMap::class_func_emptyMap (LOCATION_ARGS) { + GALGAS_lstringMap result ; + result.makeNewEmptyMap (THERE) ; return result ; } +//-------------------------------------------------------------------------------------------------- +GALGAS_lstringMap GALGAS_lstringMap::class_func_mapWithMapToOverride (const GALGAS_lstringMap & inMapToOverride + COMMA_LOCATION_ARGS) { + GALGAS_lstringMap result ; + result.makeNewEmptyMapWithMapToOverride (inMapToOverride COMMA_THERE) ; + return result ; +} -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -cEnumerator_identifierList::cEnumerator_identifierList (const GALGAS_identifierList & inEnumeratedObject, - const typeEnumerationOrder inOrder) : -cGenericAbstractEnumerator (inOrder) { - inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; +GALGAS_lstringMap GALGAS_lstringMap::getter_overriddenMap (Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + GALGAS_lstringMap result ; + getOverridenMap (result, inCompiler COMMA_THERE) ; + return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; +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) ; } +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- - -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_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 () ; + } + 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) ; +} +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- -// -// @identifierList generic code implementation -// -//---------------------------------------------------------------------------------------------------------------------- +const char * kSearchErrorMessage_lstringMap_get = "lstringmap key %K is not defined" ; -const C_galgas_type_descriptor -kTypeDescriptor_GALGAS_identifierList ("identifierList", - nullptr) ; +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- +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) ; + if (nullptr == p) { + outArgument0.drop () ; + }else{ + macroValidSharedObject (p, cMapElement_lstringMap) ; + outArgument0 = p->mProperty_value ; + } +} -const C_galgas_type_descriptor * GALGAS_identifierList::staticTypeDescriptor (void) const { - return & kTypeDescriptor_GALGAS_identifierList ; +//-------------------------------------------------------------------------------------------------- + +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 ; + } + return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -AC_GALGAS_root * GALGAS_identifierList::clonedObject (void) const { +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 ; + } +} + +//-------------------------------------------------------------------------------------------------- + +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) ; + return result ; +} + +//-------------------------------------------------------------------------------------------------- + +cEnumerator_lstringMap::cEnumerator_lstringMap (const GALGAS_lstringMap & inEnumeratedObject, + const typeEnumerationOrder inOrder) : +cGenericAbstractEnumerator (inOrder) { + inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; +} + +//-------------------------------------------------------------------------------------------------- + +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_lstringMap::current_lkey (LOCATION_ARGS) const { + const cMapElement * p = (const cMapElement *) currentObjectPtr (THERE) ; + macroValidSharedObject (p, cMapElement) ; + return p->mProperty_lkey ; +} + +//-------------------------------------------------------------------------------------------------- + +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_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 () ; + } + return result ; +} + +//-------------------------------------------------------------------------------------------------- +// +// @lstringMap generic code implementation +// +//-------------------------------------------------------------------------------------------------- + +const C_galgas_type_descriptor kTypeDescriptor_GALGAS_lstringMap ("lstringMap", + nullptr) ; + +//-------------------------------------------------------------------------------------------------- + +const C_galgas_type_descriptor * GALGAS_lstringMap::staticTypeDescriptor (void) const { + return & kTypeDescriptor_GALGAS_lstringMap ; +} + +//-------------------------------------------------------------------------------------------------- + +AC_GALGAS_root * GALGAS_lstringMap::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; if (isValid ()) { - macroMyNew (result, GALGAS_identifierList (*this)) ; + macroMyNew (result, GALGAS_lstringMap (*this)) ; } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 () ; +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 () ; 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 ("lstringMap", p->dynamicTypeDescriptor () COMMA_THERE) ; } } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -cMapElement_stringMap::cMapElement_stringMap (const GALGAS_lstring & inKey, - const GALGAS_string & in_value - COMMA_LOCATION_ARGS) : +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_value (in_value) { +mProperty_prefix (in_prefix), +mProperty_tag_5F_to_5F_rep (in_tag_5F_to_5F_rep) { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -bool cMapElement_stringMap::isValid (void) const { +bool cMapElement_prefix_5F_map::isValid (void) const { return mProperty_lkey.isValid () ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -cMapElement * cMapElement_stringMap::copy (void) { +cMapElement * cMapElement_prefix_5F_map::copy (void) { cMapElement * result = nullptr ; - macroMyNew (result, cMapElement_stringMap (mProperty_lkey, mProperty_value COMMA_HERE)) ; + macroMyNew (result, cMapElement_prefix_5F_map (mProperty_lkey, mProperty_prefix, mProperty_tag_5F_to_5F_rep COMMA_HERE)) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void cMapElement_stringMap::description (C_String & ioString, const int32_t inIndentation) const { - ioString << "\n" ; - ioString.writeStringMultiple ("| ", inIndentation) ; - ioString << "value" ":" ; - mProperty_value.description (ioString, inIndentation) ; +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) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -typeComparisonResult cMapElement_stringMap::compare (const cCollectionElement * inOperand) const { - cMapElement_stringMap * operand = (cMapElement_stringMap *) inOperand ; +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_value.objectCompare (operand->mProperty_value) ; + 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 ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_stringMap::GALGAS_stringMap (void) : -AC_GALGAS_map (true) { +GALGAS_prefix_5F_map::GALGAS_prefix_5F_map (void) : +AC_GALGAS_map () { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_stringMap::GALGAS_stringMap (const GALGAS_stringMap & inSource) : +GALGAS_prefix_5F_map::GALGAS_prefix_5F_map (const GALGAS_prefix_5F_map & inSource) : AC_GALGAS_map (inSource) { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_stringMap & GALGAS_stringMap::operator = (const GALGAS_stringMap & inSource) { +GALGAS_prefix_5F_map & GALGAS_prefix_5F_map::operator = (const GALGAS_prefix_5F_map & inSource) { * ((AC_GALGAS_map *) this) = inSource ; return * this ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_stringMap GALGAS_stringMap::constructor_emptyMap (LOCATION_ARGS) { - GALGAS_stringMap result ; +GALGAS_prefix_5F_map GALGAS_prefix_5F_map::class_func_emptyMap (LOCATION_ARGS) { + GALGAS_prefix_5F_map result ; result.makeNewEmptyMap (THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_stringMap GALGAS_stringMap::constructor_mapWithMapToOverride (const GALGAS_stringMap & inMapToOverride - COMMA_LOCATION_ARGS) { - GALGAS_stringMap 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 ; result.makeNewEmptyMapWithMapToOverride (inMapToOverride COMMA_THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_stringMap GALGAS_stringMap::getter_overriddenMap (C_Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - GALGAS_stringMap result ; +GALGAS_prefix_5F_map GALGAS_prefix_5F_map::getter_overriddenMap (Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + GALGAS_prefix_5F_map result ; getOverridenMap (result, inCompiler COMMA_THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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)) ; capCollectionElement attributes ; attributes.setPointer (p) ; macroDetachSharedObject (p) ; - const char * kInsertErrorMessage = "@stringMap insert error: '%K' already in map" ; + const char * kInsertErrorMessage = "@prefix_5F_map insert error: '%K' already in map" ; const char * kShadowErrorMessage = "" ; performInsert (attributes, inCompiler, kInsertErrorMessage, kShadowErrorMessage COMMA_THERE) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +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) ; while (enumerator.hasCurrentObject ()) { - result.addAssign_operation (enumerator.current_lkey (HERE), enumerator.current_value (HERE), inCompiler COMMA_THERE) ; + 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_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)) ; +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 = "stringmap key %K is duplicated in %L" ; + const char * kInsertErrorMessage = "prefix %K duplicated %L" ; const char * kShadowErrorMessage = "" ; performInsert (attributes, inCompiler, kInsertErrorMessage, kShadowErrorMessage COMMA_THERE) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -const char * kSearchErrorMessage_stringMap_get = "stringmap key %K is not defined" ; +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)) ; + 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_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) ; +const char * kSearchErrorMessage_prefix_5F_map_prefix = "prefix %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) ; if (nullptr == p) { outArgument0.drop () ; + outArgument1.drop () ; }else{ - macroValidSharedObject (p, cMapElement_stringMap) ; - outArgument0 = p->mProperty_value ; + macroValidSharedObject (p, cMapElement_prefix_5F_map) ; + outArgument0 = p->mProperty_prefix ; + outArgument1 = p->mProperty_tag_5F_to_5F_rep ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_string GALGAS_stringMap::getter_valueForKey (const GALGAS_string & inKey, - C_Compiler * inCompiler - COMMA_LOCATION_ARGS) const { +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_stringMap * p = (const cMapElement_stringMap *) attributes ; + const cMapElement_prefix_5F_map * p = (const cMapElement_prefix_5F_map *) attributes ; GALGAS_string result ; if (nullptr != p) { - macroValidSharedObject (p, cMapElement_stringMap) ; - result = p->mProperty_value ; + macroValidSharedObject (p, cMapElement_prefix_5F_map) ; + result = p->mProperty_prefix ; } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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_stringMap * p = (cMapElement_stringMap *) attributes ; +GALGAS_string GALGAS_prefix_5F_map::getter_tag_5F_to_5F_repForKey (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_stringMap) ; - p->mProperty_value = inAttributeValue ; - } + macroValidSharedObject (p, cMapElement_prefix_5F_map) ; + result = p->mProperty_tag_5F_to_5F_rep ; + } + return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +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) { + 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 ; + } +} + +//-------------------------------------------------------------------------------------------------- + +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) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -cEnumerator_stringMap::cEnumerator_stringMap (const GALGAS_stringMap & inEnumeratedObject, - const typeEnumerationOrder inOrder) : +cEnumerator_prefix_5F_map::cEnumerator_prefix_5F_map (const GALGAS_prefix_5F_map & inEnumeratedObject, + const typeEnumerationOrder inOrder) : cGenericAbstractEnumerator (inOrder) { inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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_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 cEnumerator_stringMap::current_lkey (LOCATION_ARGS) const { +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 ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; +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 ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -bool GALGAS_stringMap::optional_searchKey (const GALGAS_string & inKey, - GALGAS_string & outArgument0) const { - const cMapElement_stringMap * p = (const cMapElement_stringMap *) searchForKey (inKey) ; +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 ; +} + +//-------------------------------------------------------------------------------------------------- + +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_stringMap) ; - outArgument0 = p->mProperty_value ; + 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 ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -// @stringMap generic code implementation +// @prefix_map generic code implementation // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor -kTypeDescriptor_GALGAS_stringMap ("stringMap", - nullptr) ; +const C_galgas_type_descriptor kTypeDescriptor_GALGAS_prefix_5F_map ("prefix_map", + nullptr) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor * GALGAS_stringMap::staticTypeDescriptor (void) const { - return & kTypeDescriptor_GALGAS_stringMap ; +const C_galgas_type_descriptor * GALGAS_prefix_5F_map::staticTypeDescriptor (void) const { + return & kTypeDescriptor_GALGAS_prefix_5F_map ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -AC_GALGAS_root * GALGAS_stringMap::clonedObject (void) const { +AC_GALGAS_root * GALGAS_prefix_5F_map::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; if (isValid ()) { - macroMyNew (result, GALGAS_stringMap (*this)) ; + macroMyNew (result, GALGAS_prefix_5F_map (*this)) ; } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 () ; +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 () ; if (nullptr != p) { - if (nullptr != dynamic_cast (p)) { + if (nullptr != dynamic_cast (p)) { result = *p ; }else{ - inCompiler->castError ("stringMap", p->dynamicTypeDescriptor () COMMA_THERE) ; + inCompiler->castError ("prefix_map", p->dynamicTypeDescriptor () COMMA_THERE) ; } } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -cMapElement_lstringMap::cMapElement_lstringMap (const GALGAS_lstring & inKey, - const GALGAS_lstring & in_value - 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_value (in_value) { +mProperty_ids (in_ids) { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -bool cMapElement_lstringMap::isValid (void) const { +bool cMapElement_stringset_5F_map::isValid (void) const { return mProperty_lkey.isValid () ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -cMapElement * cMapElement_lstringMap::copy (void) { +cMapElement * cMapElement_stringset_5F_map::copy (void) { cMapElement * result = nullptr ; - macroMyNew (result, cMapElement_lstringMap (mProperty_lkey, mProperty_value COMMA_HERE)) ; + macroMyNew (result, cMapElement_stringset_5F_map (mProperty_lkey, mProperty_ids COMMA_HERE)) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void cMapElement_lstringMap::description (C_String & ioString, const int32_t inIndentation) const { - ioString << "\n" ; - ioString.writeStringMultiple ("| ", inIndentation) ; - ioString << "value" ":" ; - mProperty_value.description (ioString, inIndentation) ; +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) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -typeComparisonResult cMapElement_lstringMap::compare (const cCollectionElement * inOperand) const { - cMapElement_lstringMap * operand = (cMapElement_lstringMap *) 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_value.objectCompare (operand->mProperty_value) ; + result = mProperty_ids.objectCompare (operand->mProperty_ids) ; } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_lstringMap::GALGAS_lstringMap (void) : -AC_GALGAS_map (true) { +GALGAS_stringset_5F_map::GALGAS_stringset_5F_map (void) : +AC_GALGAS_map () { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_lstringMap::GALGAS_lstringMap (const GALGAS_lstringMap & inSource) : +GALGAS_stringset_5F_map::GALGAS_stringset_5F_map (const GALGAS_stringset_5F_map & inSource) : AC_GALGAS_map (inSource) { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_lstringMap & GALGAS_lstringMap::operator = (const GALGAS_lstringMap & inSource) { +GALGAS_stringset_5F_map & GALGAS_stringset_5F_map::operator = (const GALGAS_stringset_5F_map & inSource) { * ((AC_GALGAS_map *) this) = inSource ; return * this ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_lstringMap GALGAS_lstringMap::constructor_emptyMap (LOCATION_ARGS) { - GALGAS_lstringMap result ; +GALGAS_stringset_5F_map GALGAS_stringset_5F_map::class_func_emptyMap (LOCATION_ARGS) { + GALGAS_stringset_5F_map result ; result.makeNewEmptyMap (THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_lstringMap GALGAS_lstringMap::constructor_mapWithMapToOverride (const GALGAS_lstringMap & inMapToOverride - COMMA_LOCATION_ARGS) { - GALGAS_lstringMap 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 ; result.makeNewEmptyMapWithMapToOverride (inMapToOverride COMMA_THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_lstringMap GALGAS_lstringMap::getter_overriddenMap (C_Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - GALGAS_lstringMap result ; +GALGAS_stringset_5F_map GALGAS_stringset_5F_map::getter_overriddenMap (Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + GALGAS_stringset_5F_map result ; getOverridenMap (result, inCompiler COMMA_THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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)) ; capCollectionElement attributes ; attributes.setPointer (p) ; macroDetachSharedObject (p) ; - const char * kInsertErrorMessage = "@lstringMap 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_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) ; +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) ; while (enumerator.hasCurrentObject ()) { - result.addAssign_operation (enumerator.current_lkey (HERE), enumerator.current_value (HERE), inCompiler COMMA_THERE) ; + result.addAssign_operation (enumerator.current_lkey (HERE), enumerator.current_ids (HERE), inCompiler COMMA_THERE) ; enumerator.gotoNextObject () ; } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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)) ; capCollectionElement attributes ; attributes.setPointer (p) ; macroDetachSharedObject (p) ; - const char * kInsertErrorMessage = "lstringmap key %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_lstringMap_get = "lstringmap key %K is not defined" ; +const char * kSearchErrorMessage_stringset_5F_map_get = "Key %K is not there" ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +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_lstringMap) ; - outArgument0 = p->mProperty_value ; + macroValidSharedObject (p, cMapElement_stringset_5F_map) ; + outArgument0 = p->mProperty_ids ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_lstring GALGAS_lstringMap::getter_valueForKey (const GALGAS_string & inKey, - C_Compiler * inCompiler - COMMA_LOCATION_ARGS) const { +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 () ; + if (nullptr == p) { + outArgument0.drop () ; + }else{ + macroValidSharedObject (p, cMapElement_stringset_5F_map) ; + outArgument0 = p->mProperty_ids ; + } +} + +//-------------------------------------------------------------------------------------------------- + +GALGAS_stringset GALGAS_stringset_5F_map::getter_idsForKey (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 ; + const cMapElement_stringset_5F_map * p = (const cMapElement_stringset_5F_map *) attributes ; + GALGAS_stringset result ; if (nullptr != p) { - macroValidSharedObject (p, cMapElement_lstringMap) ; - result = p->mProperty_value ; + macroValidSharedObject (p, cMapElement_stringset_5F_map) ; + result = p->mProperty_ids ; } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void GALGAS_lstringMap::setter_setValueForKey (GALGAS_lstring inAttributeValue, - GALGAS_string inKey, - C_Compiler * inCompiler - COMMA_LOCATION_ARGS) { +void GALGAS_stringset_5F_map::setter_setIdsForKey (GALGAS_stringset inAttributeValue, + GALGAS_string inKey, + Compiler * inCompiler + COMMA_LOCATION_ARGS) { cCollectionElement * attributes = searchForReadWriteAttribute (inKey, true, inCompiler COMMA_THERE) ; - cMapElement_lstringMap * p = (cMapElement_lstringMap *) attributes ; + cMapElement_stringset_5F_map * p = (cMapElement_stringset_5F_map *) attributes ; if (nullptr != p) { - macroValidSharedObject (p, cMapElement_lstringMap) ; - p->mProperty_value = inAttributeValue ; + macroValidSharedObject (p, cMapElement_stringset_5F_map) ; + p->mProperty_ids = inAttributeValue ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +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) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -cEnumerator_lstringMap::cEnumerator_lstringMap (const GALGAS_lstringMap & 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_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_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_lstringMap::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_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 ; +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_lstringMap::optional_searchKey (const GALGAS_string & inKey, - GALGAS_lstring & outArgument0) const { - const cMapElement_lstringMap * p = (const cMapElement_lstringMap *) 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_lstringMap) ; - outArgument0 = p->mProperty_value ; + macroValidSharedObject (p, cMapElement_stringset_5F_map) ; + outArgument0 = p->mProperty_ids ; }else{ outArgument0.drop () ; } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -// @lstringMap generic code implementation +// @stringset_map generic code implementation // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor -kTypeDescriptor_GALGAS_lstringMap ("lstringMap", - nullptr) ; +const C_galgas_type_descriptor kTypeDescriptor_GALGAS_stringset_5F_map ("stringset_map", + nullptr) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor * GALGAS_lstringMap::staticTypeDescriptor (void) const { - return & kTypeDescriptor_GALGAS_lstringMap ; +const C_galgas_type_descriptor * GALGAS_stringset_5F_map::staticTypeDescriptor (void) const { + return & kTypeDescriptor_GALGAS_stringset_5F_map ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -AC_GALGAS_root * GALGAS_lstringMap::clonedObject (void) const { +AC_GALGAS_root * GALGAS_stringset_5F_map::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; if (isValid ()) { - macroMyNew (result, GALGAS_lstringMap (*this)) ; + macroMyNew (result, GALGAS_stringset_5F_map (*this)) ; } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 () ; +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 () ; 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 ("stringset_map", p->dynamicTypeDescriptor () COMMA_THERE) ; } } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// +//Class for element of '@ident_5F_list' list +// +//-------------------------------------------------------------------------------------------------- -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) { -} +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) ; -bool cMapElement_prefix_5F_map::isValid (void) const { - return mProperty_lkey.isValid () ; +//--- 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_ident_5F_list::cCollectionElement_ident_5F_list (const GALGAS_lstring & in_obj_5F_name + COMMA_LOCATION_ARGS) : +cCollectionElement (THERE), +mObject (in_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 ; +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 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) ; +bool cCollectionElement_ident_5F_list::isValid (void) const { + return true ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; - } +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 ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_prefix_5F_map::GALGAS_prefix_5F_map (void) : -AC_GALGAS_map (true) { +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 (const GALGAS_prefix_5F_map & inSource) : -AC_GALGAS_map (inSource) { +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::operator = (const GALGAS_prefix_5F_map & inSource) { - * ((AC_GALGAS_map *) this) = inSource ; - return * this ; +GALGAS_ident_5F_list::GALGAS_ident_5F_list (void) : +AC_GALGAS_list () { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 (const capCollectionElementArray & inSharedArray) : +AC_GALGAS_list (inSharedArray) { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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_emptyList (UNUSED_LOCATION_ARGS) { + return GALGAS_ident_5F_list (capCollectionElementArray ()) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +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) ; + } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +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) ; - const char * kInsertErrorMessage = "@prefix_5F_map 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, - 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 () ; +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) ; } - return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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_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_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_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 () ; + } + } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -const char * kSearchErrorMessage_prefix_5F_map_prefix = "prefix %K is not defined" ; +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 () ; + } +} -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +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 () ; if (nullptr == p) { - outArgument0.drop () ; - outArgument1.drop () ; + outOperand0.drop () ; }else{ - macroValidSharedObject (p, cMapElement_prefix_5F_map) ; - outArgument0 = p->mProperty_prefix ; - outArgument1 = p->mProperty_tag_5F_to_5F_rep ; + 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 ; +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 ; } - return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; +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 ; } - return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; +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_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 ; +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) ; } + return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +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 ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -cEnumerator_prefix_5F_map::cEnumerator_prefix_5F_map (const GALGAS_prefix_5F_map & inEnumeratedObject, - const typeEnumerationOrder inOrder) : -cGenericAbstractEnumerator (inOrder) { - inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; +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_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_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) ; + 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 ; +void GALGAS_ident_5F_list::plusAssign_operation (const GALGAS_ident_5F_list inOperand, + Compiler * /* inCompiler */ + COMMA_UNUSED_LOCATION_ARGS) { + appendList (inOperand) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; +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_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 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 ; } -//---------------------------------------------------------------------------------------------------------------------- -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 ; + +//-------------------------------------------------------------------------------------------------- + +cEnumerator_ident_5F_list::cEnumerator_ident_5F_list (const GALGAS_ident_5F_list & inEnumeratedObject, + const typeEnumerationOrder inOrder) : +cGenericAbstractEnumerator (inOrder) { + inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; +} + +//-------------------------------------------------------------------------------------------------- + +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_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 ; } -//---------------------------------------------------------------------------------------------------------------------- + + + +//-------------------------------------------------------------------------------------------------- // -// @prefix_map generic code implementation +// @ident_list generic code implementation // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor -kTypeDescriptor_GALGAS_prefix_5F_map ("prefix_map", - nullptr) ; +const C_galgas_type_descriptor kTypeDescriptor_GALGAS_ident_5F_list ("ident_list", + 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_ident_5F_list::staticTypeDescriptor (void) const { + return & kTypeDescriptor_GALGAS_ident_5F_list ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -AC_GALGAS_root * GALGAS_prefix_5F_map::clonedObject (void) const { +AC_GALGAS_root * GALGAS_ident_5F_list::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; if (isValid ()) { - macroMyNew (result, GALGAS_prefix_5F_map (*this)) ; + macroMyNew (result, GALGAS_ident_5F_list (*this)) ; } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_prefix_5F_map GALGAS_prefix_5F_map::extractObject (const GALGAS_object & inObject, - C_Compiler * inCompiler +GALGAS_ident_5F_list GALGAS_ident_5F_list::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_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 ("prefix_map", p->dynamicTypeDescriptor () COMMA_THERE) ; + inCompiler->castError ("ident_list", 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_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_ids (in_ids) { +mProperty_objs (in_objs) { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -bool cMapElement_stringset_5F_map::isValid (void) const { +bool cMapElement_ident_5F_list_5F_map::isValid (void) const { return mProperty_lkey.isValid () ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -cMapElement * cMapElement_stringset_5F_map::copy (void) { +cMapElement * cMapElement_ident_5F_list_5F_map::copy (void) { cMapElement * result = nullptr ; - macroMyNew (result, cMapElement_stringset_5F_map (mProperty_lkey, mProperty_ids COMMA_HERE)) ; + macroMyNew (result, cMapElement_ident_5F_list_5F_map (mProperty_lkey, mProperty_objs COMMA_HERE)) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +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) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -typeComparisonResult cMapElement_stringset_5F_map::compare (const cCollectionElement * inOperand) const { - cMapElement_stringset_5F_map * operand = (cMapElement_stringset_5F_map *) 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_ids.objectCompare (operand->mProperty_ids) ; + result = mProperty_objs.objectCompare (operand->mProperty_objs) ; } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 (void) : +AC_GALGAS_map () { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_stringset_5F_map::GALGAS_stringset_5F_map (const GALGAS_stringset_5F_map & 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_stringset_5F_map & GALGAS_stringset_5F_map::operator = (const GALGAS_stringset_5F_map & 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_stringset_5F_map GALGAS_stringset_5F_map::constructor_emptyMap (LOCATION_ARGS) { - GALGAS_stringset_5F_map result ; +GALGAS_ident_5F_list_5F_map GALGAS_ident_5F_list_5F_map::class_func_emptyMap (LOCATION_ARGS) { + GALGAS_ident_5F_list_5F_map result ; result.makeNewEmptyMap (THERE) ; return 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 ; +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 ; result.makeNewEmptyMapWithMapToOverride (inMapToOverride COMMA_THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_stringset_5F_map GALGAS_stringset_5F_map::getter_overriddenMap (C_Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - GALGAS_stringset_5F_map 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 ; getOverridenMap (result, inCompiler COMMA_THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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)) ; capCollectionElement attributes ; attributes.setPointer (p) ; macroDetachSharedObject (p) ; - const char * kInsertErrorMessage = "@stringset_5F_map 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_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) ; +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) ; 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_objs (HERE), inCompiler COMMA_THERE) ; enumerator.gotoNextObject () ; } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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)) ; +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)) ; capCollectionElement attributes ; attributes.setPointer (p) ; macroDetachSharedObject (p) ; @@ -5315,2400 +5295,2603 @@ void GALGAS_stringset_5F_map::setter_add (GALGAS_lstring inKey, performInsert (attributes, inCompiler, kInsertErrorMessage, kShadowErrorMessage COMMA_THERE) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -const char * kSearchErrorMessage_stringset_5F_map_get = "Key %K is not there" ; +const char * kSearchErrorMessage_ident_5F_list_5F_map_get = "Key %K is not 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) ; +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) ; if (nullptr == p) { outArgument0.drop () ; }else{ - macroValidSharedObject (p, cMapElement_stringset_5F_map) ; - outArgument0 = p->mProperty_ids ; + macroValidSharedObject (p, cMapElement_ident_5F_list_5F_map) ; + outArgument0 = p->mProperty_objs ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void GALGAS_stringset_5F_map::setter_delete (GALGAS_lstring inKey, - GALGAS_stringset & outArgument0, - C_Compiler * inCompiler - COMMA_LOCATION_ARGS) { +void GALGAS_ident_5F_list_5F_map::setter_delete (GALGAS_lstring inKey, + GALGAS_ident_5F_list & 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 () ; + cMapElement_ident_5F_list_5F_map * p = (cMapElement_ident_5F_list_5F_map *) attributes.ptr () ; if (nullptr == p) { outArgument0.drop () ; }else{ - macroValidSharedObject (p, cMapElement_stringset_5F_map) ; - outArgument0 = p->mProperty_ids ; + macroValidSharedObject (p, cMapElement_ident_5F_list_5F_map) ; + outArgument0 = p->mProperty_objs ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_stringset GALGAS_stringset_5F_map::getter_idsForKey (const GALGAS_string & inKey, - C_Compiler * inCompiler - COMMA_LOCATION_ARGS) const { +GALGAS_ident_5F_list GALGAS_ident_5F_list_5F_map::getter_objsForKey (const GALGAS_string & inKey, + 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_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_stringset_5F_map) ; - result = p->mProperty_ids ; + macroValidSharedObject (p, cMapElement_ident_5F_list_5F_map) ; + result = p->mProperty_objs ; } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void GALGAS_stringset_5F_map::setter_setIdsForKey (GALGAS_stringset inAttributeValue, - GALGAS_string inKey, - C_Compiler * inCompiler - COMMA_LOCATION_ARGS) { +void GALGAS_ident_5F_list_5F_map::setter_setObjsForKey (GALGAS_ident_5F_list inAttributeValue, + GALGAS_string inKey, + Compiler * inCompiler + COMMA_LOCATION_ARGS) { cCollectionElement * attributes = searchForReadWriteAttribute (inKey, true, inCompiler COMMA_THERE) ; - cMapElement_stringset_5F_map * p = (cMapElement_stringset_5F_map *) attributes ; + cMapElement_ident_5F_list_5F_map * p = (cMapElement_ident_5F_list_5F_map *) attributes ; if (nullptr != p) { - macroValidSharedObject (p, cMapElement_stringset_5F_map) ; - p->mProperty_ids = inAttributeValue ; + macroValidSharedObject (p, cMapElement_ident_5F_list_5F_map) ; + p->mProperty_objs = inAttributeValue ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +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) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -cEnumerator_stringset_5F_map::cEnumerator_stringset_5F_map (const GALGAS_stringset_5F_map & 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_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_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_stringset_5F_map::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_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_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_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_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_stringset_5F_map) ; - outArgument0 = p->mProperty_ids ; + macroValidSharedObject (p, cMapElement_ident_5F_list_5F_map) ; + outArgument0 = p->mProperty_objs ; }else{ outArgument0.drop () ; } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -// @stringset_map generic code implementation +// @ident_list_map generic code implementation // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor -kTypeDescriptor_GALGAS_stringset_5F_map ("stringset_map", - nullptr) ; +const C_galgas_type_descriptor kTypeDescriptor_GALGAS_ident_5F_list_5F_map ("ident_list_map", + 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_ident_5F_list_5F_map::staticTypeDescriptor (void) const { + return & kTypeDescriptor_GALGAS_ident_5F_list_5F_map ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -AC_GALGAS_root * GALGAS_stringset_5F_map::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_stringset_5F_map (*this)) ; + macroMyNew (result, GALGAS_ident_5F_list_5F_map (*this)) ; } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 () ; +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 () ; 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 ("ident_list_map", 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 ; +//-------------------------------------------------------------------------------------------------- +// Object comparison +//-------------------------------------------------------------------------------------------------- -//--- 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) ; -//--- 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_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 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 (void) : +AC_GALGAS_value_class () { +} -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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_autostart_5F_obj::GALGAS_autostart_5F_obj (const cPtr_autostart_5F_obj * inSourcePtr) : +AC_GALGAS_value_class (inSourcePtr) { + macroNullOrValidSharedObject (inSourcePtr, cPtr_autostart_5F_obj) ; } +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- - -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) { +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 ; + } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -bool cCollectionElement_ident_5F_list::isValid (void) const { - return true ; +GALGAS_location cPtr_autostart_5F_obj::getter_location (UNUSED_LOCATION_ARGS) const { + return mProperty_location ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; +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 ; + } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +void cPtr_autostart_5F_obj::setter_setLocation (GALGAS_location inValue + COMMA_UNUSED_LOCATION_ARGS) { + mProperty_location = inValue ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +//Pointer class for @autostart_obj class +//-------------------------------------------------------------------------------------------------- -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) ; +cPtr_autostart_5F_obj::cPtr_autostart_5F_obj (const GALGAS_location & in_location + COMMA_LOCATION_ARGS) : +acPtr_class (THERE), +mProperty_location (in_location) { } -//---------------------------------------------------------------------------------------------------------------------- -GALGAS_ident_5F_list::GALGAS_ident_5F_list (void) : -AC_GALGAS_list () { -} +//-------------------------------------------------------------------------------------------------- +// +// @autostart_obj generic code implementation +// +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- +const C_galgas_type_descriptor kTypeDescriptor_GALGAS_autostart_5F_obj ("autostart_obj", + nullptr) ; -GALGAS_ident_5F_list::GALGAS_ident_5F_list (const capCollectionElementArray & inSharedArray) : -AC_GALGAS_list (inSharedArray) { +//-------------------------------------------------------------------------------------------------- + +const C_galgas_type_descriptor * GALGAS_autostart_5F_obj::staticTypeDescriptor (void) const { + return & kTypeDescriptor_GALGAS_autostart_5F_obj ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_ident_5F_list GALGAS_ident_5F_list::constructor_emptyList (UNUSED_LOCATION_ARGS) { - return GALGAS_ident_5F_list (capCollectionElementArray ()) ; +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::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) ; +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 ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// Object comparison +//-------------------------------------------------------------------------------------------------- -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) ; +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 ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; + +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_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) ; - } +GALGAS_autostart_5F_void::GALGAS_autostart_5F_void (void) : +GALGAS_autostart_5F_obj () { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 () ; - } - } +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::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 () ; +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)) ; } + return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +//Pointer class for @autostart_void class +//-------------------------------------------------------------------------------------------------- -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 ; - } +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_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 ; - } +const C_galgas_type_descriptor * cPtr_autostart_5F_void::classDescriptor (void) const { + return & kTypeDescriptor_GALGAS_autostart_5F_void ; } -//---------------------------------------------------------------------------------------------------------------------- +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::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 ; - } +//-------------------------------------------------------------------------------------------------- + +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::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 ; - } +//-------------------------------------------------------------------------------------------------- +// +// @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 ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +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 ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +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) ; + } + } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// Object comparison +//-------------------------------------------------------------------------------------------------- -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) ; +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_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) ; + +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 ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 (void) : +GALGAS_autostart_5F_obj () { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 (const cPtr_autostart_5F_false * inSourcePtr) : +GALGAS_autostart_5F_obj (inSourcePtr) { + macroNullOrValidSharedObject (inSourcePtr, cPtr_autostart_5F_false) ; } +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- - -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 ; +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)) ; } return result ; } +//-------------------------------------------------------------------------------------------------- +//Pointer class for @autostart_false class +//-------------------------------------------------------------------------------------------------- - -//---------------------------------------------------------------------------------------------------------------------- - -cEnumerator_ident_5F_list::cEnumerator_ident_5F_list (const GALGAS_ident_5F_list & inEnumeratedObject, - const typeEnumerationOrder inOrder) : -cGenericAbstractEnumerator (inOrder) { - inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; +cPtr_autostart_5F_false::cPtr_autostart_5F_false (const GALGAS_location & in_location + COMMA_LOCATION_ARGS) : +cPtr_autostart_5F_obj (in_location COMMA_THERE) { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; +const C_galgas_type_descriptor * cPtr_autostart_5F_false::classDescriptor (void) const { + return & kTypeDescriptor_GALGAS_autostart_5F_false ; } - -//---------------------------------------------------------------------------------------------------------------------- - -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 ; +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 ("]") ; } +//-------------------------------------------------------------------------------------------------- +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 ; +} -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -// @ident_list generic code implementation +// @autostart_false generic code implementation // -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor -kTypeDescriptor_GALGAS_ident_5F_list ("ident_list", - nullptr) ; +const C_galgas_type_descriptor kTypeDescriptor_GALGAS_autostart_5F_false ("autostart_false", + & kTypeDescriptor_GALGAS_autostart_5F_obj) ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor * GALGAS_ident_5F_list::staticTypeDescriptor (void) const { - return & kTypeDescriptor_GALGAS_ident_5F_list ; +const C_galgas_type_descriptor * GALGAS_autostart_5F_false::staticTypeDescriptor (void) const { + return & kTypeDescriptor_GALGAS_autostart_5F_false ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -AC_GALGAS_root * GALGAS_ident_5F_list::clonedObject (void) const { +AC_GALGAS_root * GALGAS_autostart_5F_false::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; if (isValid ()) { - macroMyNew (result, GALGAS_ident_5F_list (*this)) ; + macroMyNew (result, GALGAS_autostart_5F_false (*this)) ; } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 () ; +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 () ; 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 ("autostart_false", p->dynamicTypeDescriptor () COMMA_THERE) ; } } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- +// +//Extension getter '@objectAttributes fieldMap' +// +//-------------------------------------------------------------------------------------------------- -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) : +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 ; +} + + + +//-------------------------------------------------------------------------------------------------- + +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_objs (in_objs) { +mProperty_objectsOfKind (in_objectsOfKind) { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -bool cMapElement_ident_5F_list_5F_map::isValid (void) const { +bool cMapElement_objectsMap::isValid (void) const { return mProperty_lkey.isValid () ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -cMapElement * cMapElement_ident_5F_list_5F_map::copy (void) { +cMapElement * cMapElement_objectsMap::copy (void) { cMapElement * result = nullptr ; - macroMyNew (result, cMapElement_ident_5F_list_5F_map (mProperty_lkey, mProperty_objs COMMA_HERE)) ; + macroMyNew (result, cMapElement_objectsMap (mProperty_lkey, mProperty_objectsOfKind COMMA_HERE)) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +void cMapElement_objectsMap::description (String & ioString, const int32_t inIndentation) const { + ioString.appendNewLine () ; + ioString.appendStringMultiple ("| ", inIndentation) ; + ioString.appendCString ("objectsOfKind" ":") ; + mProperty_objectsOfKind.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_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_objs.objectCompare (operand->mProperty_objs) ; + result = mProperty_objectsOfKind.objectCompare (operand->mProperty_objectsOfKind) ; } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_ident_5F_list_5F_map::GALGAS_ident_5F_list_5F_map (void) : -AC_GALGAS_map (true) { +GALGAS_objectsMap::GALGAS_objectsMap (void) : +AC_GALGAS_map () { } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_ident_5F_list_5F_map::GALGAS_ident_5F_list_5F_map (const GALGAS_ident_5F_list_5F_map & inSource) : +GALGAS_objectsMap::GALGAS_objectsMap (const GALGAS_objectsMap & 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_objectsMap & GALGAS_objectsMap::operator = (const GALGAS_objectsMap & inSource) { * ((AC_GALGAS_map *) this) = inSource ; return * this ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_ident_5F_list_5F_map GALGAS_ident_5F_list_5F_map::constructor_emptyMap (LOCATION_ARGS) { - GALGAS_ident_5F_list_5F_map result ; +GALGAS_objectsMap GALGAS_objectsMap::class_func_emptyMap (LOCATION_ARGS) { + GALGAS_objectsMap result ; result.makeNewEmptyMap (THERE) ; return 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 ; +GALGAS_objectsMap GALGAS_objectsMap::class_func_mapWithMapToOverride (const GALGAS_objectsMap & inMapToOverride + COMMA_LOCATION_ARGS) { + GALGAS_objectsMap result ; result.makeNewEmptyMapWithMapToOverride (inMapToOverride COMMA_THERE) ; return 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 ; +GALGAS_objectsMap GALGAS_objectsMap::getter_overriddenMap (Compiler * inCompiler + COMMA_LOCATION_ARGS) const { + GALGAS_objectsMap 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, - 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)) ; +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)) ; capCollectionElement attributes ; attributes.setPointer (p) ; macroDetachSharedObject (p) ; - const char * kInsertErrorMessage = "@ident_5F_list_5F_map insert error: '%K' already in map" ; + const char * kInsertErrorMessage = "@objectsMap 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, - 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) ; +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) ; 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_objectsOfKind (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, - 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)) ; +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)) ; capCollectionElement attributes ; attributes.setPointer (p) ; macroDetachSharedObject (p) ; - const char * kInsertErrorMessage = "Key %K is already used there" ; + const char * kInsertErrorMessage = "%K is duplicated in %L" ; const char * kShadowErrorMessage = "" ; performInsert (attributes, inCompiler, kInsertErrorMessage, kShadowErrorMessage COMMA_THERE) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -const char * kSearchErrorMessage_ident_5F_list_5F_map_get = "Key %K is not there" ; +const char * kSearchErrorMessage_objectsMap_get = "%K does not exists" ; -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +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) ; if (nullptr == p) { outArgument0.drop () ; }else{ - macroValidSharedObject (p, cMapElement_ident_5F_list_5F_map) ; - outArgument0 = p->mProperty_objs ; + macroValidSharedObject (p, cMapElement_objectsMap) ; + outArgument0 = p->mProperty_objectsOfKind ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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" ; +void GALGAS_objectsMap::setter_del (GALGAS_lstring inKey, + GALGAS_objectKind & outArgument0, + Compiler * inCompiler + COMMA_LOCATION_ARGS) { + const char * kRemoveErrorMessage = "%K does not exists" ; 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_objectsMap * p = (cMapElement_objectsMap *) attributes.ptr () ; if (nullptr == p) { outArgument0.drop () ; }else{ - macroValidSharedObject (p, cMapElement_ident_5F_list_5F_map) ; - outArgument0 = p->mProperty_objs ; + macroValidSharedObject (p, cMapElement_objectsMap) ; + outArgument0 = p->mProperty_objectsOfKind ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_ident_5F_list GALGAS_ident_5F_list_5F_map::getter_objsForKey (const GALGAS_string & inKey, - C_Compiler * inCompiler - COMMA_LOCATION_ARGS) const { +GALGAS_objectKind GALGAS_objectsMap::getter_objectsOfKindForKey (const GALGAS_string & inKey, + 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_objectsMap * p = (const cMapElement_objectsMap *) attributes ; + GALGAS_objectKind result ; if (nullptr != p) { - macroValidSharedObject (p, cMapElement_ident_5F_list_5F_map) ; - result = p->mProperty_objs ; + macroValidSharedObject (p, cMapElement_objectsMap) ; + result = p->mProperty_objectsOfKind ; } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void GALGAS_ident_5F_list_5F_map::setter_setObjsForKey (GALGAS_ident_5F_list inAttributeValue, - GALGAS_string inKey, - C_Compiler * inCompiler - COMMA_LOCATION_ARGS) { +void GALGAS_objectsMap::setter_setObjectsOfKindForKey (GALGAS_objectKind inAttributeValue, + GALGAS_string inKey, + 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_objectsMap * p = (cMapElement_objectsMap *) attributes ; if (nullptr != p) { - macroValidSharedObject (p, cMapElement_ident_5F_list_5F_map) ; - p->mProperty_objs = inAttributeValue ; + macroValidSharedObject (p, cMapElement_objectsMap) ; + p->mProperty_objectsOfKind = inAttributeValue ; } } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +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) ; 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_objectsMap::cEnumerator_objectsMap (const GALGAS_objectsMap & 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_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_lstring cEnumerator_ident_5F_list_5F_map::current_lkey (LOCATION_ARGS) const { +GALGAS_lstring cEnumerator_objectsMap::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_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 ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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_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_ident_5F_list_5F_map) ; - outArgument0 = p->mProperty_objs ; + macroValidSharedObject (p, cMapElement_objectsMap) ; + outArgument0 = p->mProperty_objectsOfKind ; }else{ outArgument0.drop () ; } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -// @ident_list_map generic code implementation +// @objectsMap 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_objectsMap ("objectsMap", + 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_objectsMap::staticTypeDescriptor (void) const { + return & kTypeDescriptor_GALGAS_objectsMap ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -AC_GALGAS_root * GALGAS_ident_5F_list_5F_map::clonedObject (void) const { +AC_GALGAS_root * GALGAS_objectsMap::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; if (isValid ()) { - macroMyNew (result, GALGAS_ident_5F_list_5F_map (*this)) ; + macroMyNew (result, GALGAS_objectsMap (*this)) ; } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 () ; +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 () ; 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 ("objectsMap", p->dynamicTypeDescriptor () COMMA_THERE) ; } } return result ; } -//---------------------------------------------------------------------------------------------------------------------- -// Object comparison -//---------------------------------------------------------------------------------------------------------------------- - - +//-------------------------------------------------------------------------------------------------- +// +//Extension method '@objectAttributes verifyCrossReferences' +// +//-------------------------------------------------------------------------------------------------- -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) ; +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 () ; } - return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_autostart_5F_obj::GALGAS_autostart_5F_obj (void) : -AC_GALGAS_value_class () { +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) ; + } } +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- - -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_objectKindMap::cMapElement_objectKindMap (const GALGAS_lstring & inKey, + const GALGAS_objectAttributes & in_attributes + COMMA_LOCATION_ARGS) : +cMapElement (inKey COMMA_THERE), +mProperty_attributes (in_attributes) { } -//---------------------------------------------------------------------------------------------------------------------- -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 ; - } +//-------------------------------------------------------------------------------------------------- + +bool cMapElement_objectKindMap::isValid (void) const { + return mProperty_lkey.isValid () ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_location cPtr_autostart_5F_obj::getter_location (UNUSED_LOCATION_ARGS) const { - return mProperty_location ; +cMapElement * cMapElement_objectKindMap::copy (void) { + cMapElement * result = nullptr ; + macroMyNew (result, cMapElement_objectKindMap (mProperty_lkey, mProperty_attributes COMMA_HERE)) ; + return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; - } +void cMapElement_objectKindMap::description (String & ioString, const int32_t inIndentation) const { + ioString.appendNewLine () ; + ioString.appendStringMultiple ("| ", inIndentation) ; + ioString.appendCString ("attributes" ":") ; + mProperty_attributes.description (ioString, inIndentation) ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -void cPtr_autostart_5F_obj::setter_setLocation (GALGAS_location inValue - COMMA_UNUSED_LOCATION_ARGS) { - mProperty_location = inValue ; +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 ; } -//---------------------------------------------------------------------------------------------------------------------- -//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) { +GALGAS_objectKindMap::GALGAS_objectKindMap (void) : +AC_GALGAS_map () { } +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- -// -// @autostart_obj generic code implementation -// -//---------------------------------------------------------------------------------------------------------------------- - -const C_galgas_type_descriptor -kTypeDescriptor_GALGAS_autostart_5F_obj ("autostart_obj", - nullptr) ; +GALGAS_objectKindMap::GALGAS_objectKindMap (const GALGAS_objectKindMap & inSource) : +AC_GALGAS_map (inSource) { +} -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -const C_galgas_type_descriptor * GALGAS_autostart_5F_obj::staticTypeDescriptor (void) const { - return & kTypeDescriptor_GALGAS_autostart_5F_obj ; +GALGAS_objectKindMap & GALGAS_objectKindMap::operator = (const GALGAS_objectKindMap & inSource) { + * ((AC_GALGAS_map *) this) = inSource ; + return * this ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -AC_GALGAS_root * GALGAS_autostart_5F_obj::clonedObject (void) const { - AC_GALGAS_root * result = nullptr ; - if (isValid ()) { - macroMyNew (result, GALGAS_autostart_5F_obj (*this)) ; - } +GALGAS_objectKindMap GALGAS_objectKindMap::class_func_emptyMap (LOCATION_ARGS) { + GALGAS_objectKindMap result ; + result.makeNewEmptyMap (THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; - } - } +GALGAS_objectKindMap GALGAS_objectKindMap::class_func_mapWithMapToOverride (const GALGAS_objectKindMap & inMapToOverride + COMMA_LOCATION_ARGS) { + GALGAS_objectKindMap result ; + result.makeNewEmptyMapWithMapToOverride (inMapToOverride COMMA_THERE) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- -// 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) ; - } +GALGAS_objectKindMap GALGAS_objectKindMap::getter_overriddenMap (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, + 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 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_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 () ; } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -GALGAS_autostart_5F_void::GALGAS_autostart_5F_void (void) : -GALGAS_autostart_5F_obj () { +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::constructor_default (LOCATION_ARGS) { - return GALGAS_autostart_5F_void::constructor_new (GALGAS_location::constructor_nowhere (HERE) - COMMA_THERE) ; -} +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------- +const char * kSearchErrorMessage_objectKindMap_get = "%K does not exists" ; -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_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)) ; +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 ; } - 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) { -} - -//---------------------------------------------------------------------------------------------------------------------- - -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)) ; +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 ; } - return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 () ; +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) { - if (nullptr != dynamic_cast (p)) { - result = *p ; - }else{ - inCompiler->castError ("autostart_void", p->dynamicTypeDescriptor () COMMA_THERE) ; - } + macroValidSharedObject (p, cMapElement_objectKindMap) ; + result = p->mProperty_attributes ; } 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) ; +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 ; } - 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) ; - } - } +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) ; return result ; } -//---------------------------------------------------------------------------------------------------------------------- - -GALGAS_autostart_5F_false::GALGAS_autostart_5F_false (void) : -GALGAS_autostart_5F_obj () { -} - -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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) ; +cEnumerator_objectKindMap::cEnumerator_objectKindMap (const GALGAS_objectKindMap & inEnumeratedObject, + const typeEnumerationOrder inOrder) : +cGenericAbstractEnumerator (inOrder) { + inEnumeratedObject.populateEnumerationArray (mEnumerationArray) ; } -//---------------------------------------------------------------------------------------------------------------------- - -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 ; +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) ; } -//---------------------------------------------------------------------------------------------------------------------- -//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) { +GALGAS_lstring cEnumerator_objectKindMap::current_lkey (LOCATION_ARGS) const { + const cMapElement * p = (const cMapElement *) currentObjectPtr (THERE) ; + macroValidSharedObject (p, cMapElement) ; + return p->mProperty_lkey ; } -//---------------------------------------------------------------------------------------------------------------------- - -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 << "]" ; +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 ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 ; +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 ; } - -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- // -// @autostart_false generic code implementation +// @objectKindMap 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_objectKindMap ("objectKindMap", + 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_objectKindMap::staticTypeDescriptor (void) const { + return & kTypeDescriptor_GALGAS_objectKindMap ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -AC_GALGAS_root * GALGAS_autostart_5F_false::clonedObject (void) const { +AC_GALGAS_root * GALGAS_objectKindMap::clonedObject (void) const { AC_GALGAS_root * result = nullptr ; if (isValid ()) { - macroMyNew (result, GALGAS_autostart_5F_false (*this)) ; + macroMyNew (result, GALGAS_objectKindMap (*this)) ; } return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//-------------------------------------------------------------------------------------------------- -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 () ; +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 () ; 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 ("objectKindMap", 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 ; -} - -//---------------------------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* -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) ; +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)) ; } - 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 + { + 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) { - 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 () ; + 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) { - 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)) ; + 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)) ; } } - if (kBoolFalse == test_0) { - const GALGAS_string temp_4 = inObject ; - result_result = temp_4 ; - } -//--- - return result_result ; + 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 () ; + } + 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)) ; + } + } + } + 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 () ; +} +//---------------------------------------------------------------------------------------------------------------------* -//---------------------------------------------------------------------------------------------------------------------- -// -//Extension Getter '@string trimRight' -// -//---------------------------------------------------------------------------------------------------------------------- +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) ; +} -GALGAS_string extensionGetter_trimRight (const GALGAS_string & inObject, - C_Compiler * inCompiler - COMMA_UNUSED_LOCATION_ARGS) { - GALGAS_string result_result ; // Returned variable +//---------------------------------------------------------------------------------------------------------------------* + +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) { - 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 () ; + test_0 = constinArgument_rootFile.operator_not (SOURCE_FILE ("goil_syntax.galgas", 125)).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)) ; + 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)) ; } } - if (kBoolFalse == test_0) { - const GALGAS_string temp_4 = inObject ; - result_result = temp_4 ; + 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 ; + } } -//--- - 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)) ; - } +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 ; } - enumerator_907.gotoNextObject () ; } + 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) ; +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 ; + } } } -//---------------------------------------------------------------------------------------------------------------------- - -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 * result = nullptr ; - macroMyNew (result, cMapElement_objectsMap (mProperty_lkey, mProperty_objectsOfKind COMMA_HERE)) ; - 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 ; + } + } } -//---------------------------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* -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_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 () ; } -//---------------------------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* -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) ; +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 ; + } } - return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* -GALGAS_objectsMap::GALGAS_objectsMap (void) : -AC_GALGAS_map (true) { +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 (const GALGAS_objectsMap & inSource) : -AC_GALGAS_map (inSource) { +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::operator = (const GALGAS_objectsMap & inSource) { - * ((AC_GALGAS_map *) this) = inSource ; - return * this ; +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::constructor_emptyMap (LOCATION_ARGS) { - GALGAS_objectsMap result ; - result.makeNewEmptyMap (THERE) ; - return result ; -} - -//---------------------------------------------------------------------------------------------------------------------- - -GALGAS_objectsMap GALGAS_objectsMap::constructor_mapWithMapToOverride (const GALGAS_objectsMap & inMapToOverride - COMMA_LOCATION_ARGS) { - GALGAS_objectsMap result ; - result.makeNewEmptyMapWithMapToOverride (inMapToOverride COMMA_THERE) ; - return result ; -} - -//---------------------------------------------------------------------------------------------------------------------- - -GALGAS_objectsMap GALGAS_objectsMap::getter_overriddenMap (C_Compiler * inCompiler - COMMA_LOCATION_ARGS) const { - GALGAS_objectsMap result ; - getOverridenMap (result, inCompiler COMMA_THERE) ; - return result ; -} - -//---------------------------------------------------------------------------------------------------------------------- - -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) ; -} - -//---------------------------------------------------------------------------------------------------------------------- - -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 () ; - } - return result ; -} - -//---------------------------------------------------------------------------------------------------------------------- - -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) ; -} - -//---------------------------------------------------------------------------------------------------------------------- - -const char * kSearchErrorMessage_objectsMap_get = "%K does not exists" ; - -//---------------------------------------------------------------------------------------------------------------------- - -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 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_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 ; } } -//---------------------------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* -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 ; +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 ; } - return result ; + inCompiler->resetTemplateString () ; } -//---------------------------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* -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_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 ; } } -//---------------------------------------------------------------------------------------------------------------------- - -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 ; -} - -//---------------------------------------------------------------------------------------------------------------------- - -cEnumerator_objectsMap::cEnumerator_objectsMap (const GALGAS_objectsMap & 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) ; +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)) ; } -//---------------------------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* -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_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 () ; } -//---------------------------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* -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_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)) ; } -//---------------------------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* -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 () ; +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)) ; + } + { + ioArgument_application.setter_setObjects (var_objects_5406 COMMA_SOURCE_FILE ("goil_syntax.galgas", 201)) ; } - return result ; } -//---------------------------------------------------------------------------------------------------------------------- -// -// @objectsMap generic code implementation -// -//---------------------------------------------------------------------------------------------------------------------- - -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_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 () ; } -//---------------------------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* -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_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)) ; } -//---------------------------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* -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 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)) ; +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 ; } - enumerator_18641.gotoNextObject () ; } } -//---------------------------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* -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) ; +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 ; + } } -} -//---------------------------------------------------------------------------------------------------------------------- - -cMapElement_objectKindMap::cMapElement_objectKindMap (const GALGAS_lstring & inKey, - const GALGAS_objectAttributes & in_attributes - COMMA_LOCATION_ARGS) : -cMapElement (inKey COMMA_THERE), -mProperty_attributes (in_attributes) { -} - -//---------------------------------------------------------------------------------------------------------------------- - -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 ; + inCompiler->resetTemplateString () ; } -//---------------------------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* -void cMapElement_objectKindMap::description (C_String & ioString, const int32_t inIndentation) const { - ioString << "\n" ; - ioString.writeStringMultiple ("| ", inIndentation) ; - ioString << "attributes" ":" ; - mProperty_attributes.description (ioString, inIndentation) ; +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 ; + } + } } -//---------------------------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* -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 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 ; } - return result ; } -//---------------------------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* -GALGAS_objectKindMap::GALGAS_objectKindMap (void) : -AC_GALGAS_map (true) { +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 () ; } -//---------------------------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* -GALGAS_objectKindMap::GALGAS_objectKindMap (const GALGAS_objectKindMap & inSource) : -AC_GALGAS_map (inSource) { +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 ; + } } -//---------------------------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* -GALGAS_objectKindMap & GALGAS_objectKindMap::operator = (const GALGAS_objectKindMap & inSource) { - * ((AC_GALGAS_map *) this) = inSource ; - return * this ; +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_objectKindMap GALGAS_objectKindMap::constructor_emptyMap (LOCATION_ARGS) { - GALGAS_objectKindMap result ; - result.makeNewEmptyMap (THERE) ; - return result ; +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 ; + } + } + inCompiler->resetTemplateString () ; } -//---------------------------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* -GALGAS_objectKindMap GALGAS_objectKindMap::constructor_mapWithMapToOverride (const GALGAS_objectKindMap & inMapToOverride - COMMA_LOCATION_ARGS) { - GALGAS_objectKindMap result ; - result.makeNewEmptyMapWithMapToOverride (inMapToOverride COMMA_THERE) ; - return result ; +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 ; + } + } } -//---------------------------------------------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------------------------------------------* -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) ; -} - -//---------------------------------------------------------------------------------------------------------------------- - -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 () ; - } - return result ; -} - -//---------------------------------------------------------------------------------------------------------------------- - -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 ; - } -} - -//---------------------------------------------------------------------------------------------------------------------- - -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_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 ; - } - 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) ; -} - -//---------------------------------------------------------------------------------------------------------------------- - -GALGAS_lstring cEnumerator_objectKindMap::current_lkey (LOCATION_ARGS) const { - const cMapElement * p = (const cMapElement *) currentObjectPtr (THERE) ; - macroValidSharedObject (p, cMapElement) ; - return p->mProperty_lkey ; -} - -//---------------------------------------------------------------------------------------------------------------------- - -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 ; -} - -//---------------------------------------------------------------------------------------------------------------------- - -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 -// -//---------------------------------------------------------------------------------------------------------------------- - -const C_galgas_type_descriptor -kTypeDescriptor_GALGAS_objectKindMap ("objectKindMap", - nullptr) ; - -//---------------------------------------------------------------------------------------------------------------------- - -const C_galgas_type_descriptor * GALGAS_objectKindMap::staticTypeDescriptor (void) const { - return & kTypeDescriptor_GALGAS_objectKindMap ; -} - -//---------------------------------------------------------------------------------------------------------------------- - -AC_GALGAS_root * GALGAS_objectKindMap::clonedObject (void) const { - AC_GALGAS_root * result = nullptr ; - if (isValid ()) { - macroMyNew (result, GALGAS_objectKindMap (*this)) ; - } - 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_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)) ; - } - { - 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) { - 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) { - 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)) ; - } - } - 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 () ; - } - 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)) ; - } +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) ; } } - 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)) ; - } - } + 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)) ; } - 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)) ; + 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)) ; + } } - } - } - 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_start_i0_parse (C_Lexique_goil_5F_lexique * inCompiler) { - nt_OIL_5F_version_parse (inCompiler) ; - nt_file_parse (inCompiler) ; - inCompiler->resetTemplateString () ; -} - -//---------------------------------------------------------------------------------------------------------------------* - -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) ; -} - -//---------------------------------------------------------------------------------------------------------------------* - -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 ; - } - } -} - -//---------------------------------------------------------------------------------------------------------------------* - -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) ; + 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: { - nt_implementation_5F_definition_parse (inCompiler) ; + 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: { - nt_application_5F_definition_parse (inCompiler) ; + 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: - repeatFlag_0 = false ; break ; } - } - inCompiler->resetTemplateString () ; -} - -//---------------------------------------------------------------------------------------------------------------------* - -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 ; + } 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 ; } -} - -//---------------------------------------------------------------------------------------------------------------------* - -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 ; + 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)) ; + } } //---------------------------------------------------------------------------------------------------------------------* -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)) { +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_implementation_5F_definition_parse (inCompiler) ; + 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_application_5F_definition_parse (inCompiler) ; + 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: - repeatFlag_0 = false ; 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 ; } + inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken__3B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 435)) ; inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -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)) { +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_implementation_5F_definition_indexing (inCompiler) ; + 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_application_5F_definition_indexing (inCompiler) ; + 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: - repeatFlag_0 = false ; break ; } - } -} - -//---------------------------------------------------------------------------------------------------------------------* - -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) ; + 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 ; } + inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken__3B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 435)) ; } //---------------------------------------------------------------------------------------------------------------------* -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)) { +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 (C_Lexique_goil_5F_lexique::kToken__2D_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 148)) ; + inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_include COMMA_SOURCE_FILE ("goil_syntax.galgas", 491)) ; } break ; case 2: { - inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken__2B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 150)) ; - } break ; - case 3: { + inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_includeifexists COMMA_SOURCE_FILE ("goil_syntax.galgas", 493)) ; + var_includeIfExists_15268 = GALGAS_bool (true) ; } break ; default: break ; } - inCompiler->resetTemplateString () ; -} - -//---------------------------------------------------------------------------------------------------------------------* - -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)) { + GALGAS_lstring var_file_5F_name_15384 ; + switch (select_goil_5F_syntax_14 (inCompiler)) { case 1: { - inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken__2D_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 148)) ; + 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: { - inCompiler->acceptTerminal (C_Lexique_goil_5F_lexique::kToken__2B_ COMMA_SOURCE_FILE ("goil_syntax.galgas", 150)) ; - } break ; - case 3: { + 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 ; } + 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)) ; + } + } } //---------------------------------------------------------------------------------------------------------------------* -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)) { +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: { - outArgument_desc = function_lstringWith (GALGAS_string::makeEmptyString (), inCompiler COMMA_SOURCE_FILE ("goil_syntax.galgas", 161)) ; + inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_include COMMA_SOURCE_FILE ("goil_syntax.galgas", 491)) ; } 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)) ; + inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_includeifexists COMMA_SOURCE_FILE ("goil_syntax.galgas", 493)) ; } break ; default: break ; } -} - -//---------------------------------------------------------------------------------------------------------------------* - -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)) { + 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 (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 ; - } - } + inCompiler->acceptTerminal (Lexique_goil_5F_lexique::kToken_string COMMA_SOURCE_FILE ("goil_syntax.galgas", 500)) ; } break ; default: break ; @@ -7718,21 +7901,23 @@ void cParser_goil_5F_syntax::rule_goil_5F_syntax_description_i4_parse (C_Lexique //---------------------------------------------------------------------------------------------------------------------* -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)) { +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 (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 ; - } - } + 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 ; @@ -7741,1410 +7926,1675 @@ void cParser_goil_5F_syntax::rule_goil_5F_syntax_description_i4_indexing (C_Lexi //---------------------------------------------------------------------------------------------------------------------* -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 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)) ; + } + } } //---------------------------------------------------------------------------------------------------------------------* -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)) ; +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 () ; } //---------------------------------------------------------------------------------------------------------------------* -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 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 ; + } + 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 ; + } } //---------------------------------------------------------------------------------------------------------------------* -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)) ; +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 ; } - { - ioArgument_application.setter_setObjects (var_objects_5406 COMMA_SOURCE_FILE ("goil_syntax.galgas", 201)) ; + 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 ; + } + 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)) ; + } } } //---------------------------------------------------------------------------------------------------------------------* -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)) ; +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 ; + } + 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 ; + } inCompiler->resetTemplateString () ; } //---------------------------------------------------------------------------------------------------------------------* -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 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_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 ; - } - } -} - -//---------------------------------------------------------------------------------------------------------------------* +#include "MF_MemoryControl.h" +#include "C_galgas_CLI_Options.h" -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 () ; -} +#include "FileManager.h" -//---------------------------------------------------------------------------------------------------------------------* +//-------------------------------------------------------------------------------------------------- -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 ; - } - } -} -//---------------------------------------------------------------------------------------------------------------------* +//-------------------------------------------------------------------------------------------------- +// +// LL(1) PRODUCTION RULES +// +//-------------------------------------------------------------------------------------------------- -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 ; - } -} +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 +// +//-------------------------------------------------------------------------------------------------- -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 () ; -} +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 +} ; -//---------------------------------------------------------------------------------------------------------------------* +//-------------------------------------------------------------------------------------------------- +// +// L L ( 1 ) P R O D U C T I O N I N D E X E S +// +//-------------------------------------------------------------------------------------------------- -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 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 ; - } - } -} +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 +} ; -//---------------------------------------------------------------------------------------------------------------------* +//-------------------------------------------------------------------------------------------------- +// +// 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 +// +//-------------------------------------------------------------------------------------------------- -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 () ; -} +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} ; -//---------------------------------------------------------------------------------------------------------------------* +//-------------------------------------------------------------------------------------------------- +// +// L L ( 1 ) D E C I S I O N T A B L E S +// +//-------------------------------------------------------------------------------------------------- -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 ; - } - } -} +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} ; -//---------------------------------------------------------------------------------------------------------------------* +//-------------------------------------------------------------------------------------------------- +// +// L L ( 1 ) D E C I S I O N T A B L E S I N D E X E S +// +//-------------------------------------------------------------------------------------------------- -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) ; +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} ; + +//-------------------------------------------------------------------------------------------------- +// +// 'implementation_definition' non terminal implementation +// +//-------------------------------------------------------------------------------------------------- + +void cGrammar_goil_5F_object_5F_level_5F_include::nt_implementation_5F_definition_parse (Lexique_goil_5F_lexique * ) { +} + +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 * ) { +} + +//-------------------------------------------------------------------------------------------------- +// +// '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 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) ; +} + +//-------------------------------------------------------------------------------------------------- +// +// '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 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) ; +} + +//-------------------------------------------------------------------------------------------------- +// +// '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 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) ; +} + +//-------------------------------------------------------------------------------------------------- +// +// '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 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) ; +} + +//-------------------------------------------------------------------------------------------------- +// +// '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 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) ; +} + +//-------------------------------------------------------------------------------------------------- +// +// '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 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 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) ; +} + +//-------------------------------------------------------------------------------------------------- +// +// '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 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) ; +} + +//-------------------------------------------------------------------------------------------------- +// +// '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 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) ; +} + +//-------------------------------------------------------------------------------------------------- +// +// '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 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) ; +} + +//-------------------------------------------------------------------------------------------------- +// +// '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 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 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) ; } + scanner->generateIndexFile () ; } - 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)) ; + 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 () ; } - 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 ; - } - } 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)) ; - } + 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) ; + } + 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 (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 () ; + 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) ; } + 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) ; } - 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 ; } - 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)) ; - } +} + +//-------------------------------------------------------------------------------------------------- + +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) ; } - } - 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) ; } } -//---------------------------------------------------------------------------------------------------------------------* +//-------------------------------------------------------------------------------------------------- +// +// 'oil_declaration' non terminal implementation +// +//-------------------------------------------------------------------------------------------------- -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 ; - } - } 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::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 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 ; - } - } 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)) ; +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 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)) ; - } - } +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 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 () ; +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 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 ; - } +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 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)) ; - } - } +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 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 () ; +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 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 ; - } +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 +// +//-------------------------------------------------------------------------------------------------- -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)) ; - } - } +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 +// +//-------------------------------------------------------------------------------------------------- -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 () ; +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 +// +//-------------------------------------------------------------------------------------------------- -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 ; - } +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 +// +//-------------------------------------------------------------------------------------------------- -#include "utilities/MF_MemoryControl.h" -#include "galgas2/C_galgas_CLI_Options.h" +int32_t cGrammar_goil_5F_object_5F_level_5F_include::select_goil_5F_syntax_3 (Lexique_goil_5F_lexique * inLexique) { + return inLexique->nextProductionIndex () ; +} -#include "files/C_FileManager.h" +//-------------------------------------------------------------------------------------------------- +// +// '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 +// +//-------------------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------------------------------------* -// -// L L ( 1 ) P R O D U C T I O N R U L E S -// -//---------------------------------------------------------------------------------------------------------------------* +int32_t cGrammar_goil_5F_object_5F_level_5F_include::select_goil_5F_syntax_5 (Lexique_goil_5F_lexique * inLexique) { + return inLexique->nextProductionIndex () ; +} -#define TERMINAL(t) ((t)+1) -#define NONTERMINAL(nt) ((-nt)-1) -#define END_PRODUCTION (0) +//-------------------------------------------------------------------------------------------------- +// +// 'select_goil_5F_syntax_6' added non terminal implementation +// +//-------------------------------------------------------------------------------------------------- -static const int32_t gProductions_goil_object_level_include [] = { -// At index 0 : , in file 'goil_syntax.ggs', line 38 - NONTERMINAL (6) // -, NONTERMINAL (2) // -, END_PRODUCTION -// At index 3 : , in file 'goil_syntax.ggs', line 119 -, NONTERMINAL (15) // -, END_PRODUCTION -// At index 5 : , in file 'goil_syntax.ggs', line 135 -, NONTERMINAL (16) // -, END_PRODUCTION -// At index 7 : , in file 'goil_syntax.ggs', line 146 -, NONTERMINAL (17) // -, END_PRODUCTION -// At index 9 : , in file 'goil_syntax.ggs', line 159 -, NONTERMINAL (18) // -, END_PRODUCTION -// At index 11 : , in file 'goil_syntax.ggs', line 183 -, 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 -, 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 -, NONTERMINAL (20) // -, END_PRODUCTION -// At index 27 : , in file 'goil_syntax.ggs', line 254 -, NONTERMINAL (21) // -, END_PRODUCTION -// At index 29 : , in file 'goil_syntax.ggs', line 264 -, NONTERMINAL (22) // -, END_PRODUCTION -// At index 31 : , in file 'goil_syntax.ggs', line 276 -, 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 -, NONTERMINAL (28) // -, NONTERMINAL (29) // -, END_PRODUCTION -// At index 38 : , in file 'goil_syntax.ggs', line 507 -, NONTERMINAL (30) // -, NONTERMINAL (31) // -, END_PRODUCTION -// At index 41 : , in file 'goil_syntax.ggs', line 531 -, NONTERMINAL (32) // -, NONTERMINAL (33) // -, END_PRODUCTION -//---- Added productions from 'select' and 'repeat' instructions -// At index 44 : , in file 'goil_syntax.ggs', line 128 -, END_PRODUCTION -// At index 45 : , in file 'goil_syntax.ggs', line 128 -, NONTERMINAL (12) // -, NONTERMINAL (15) // -, END_PRODUCTION -// At index 48 : , in file 'goil_syntax.ggs', line 128 -, NONTERMINAL (0) // -, NONTERMINAL (15) // -, END_PRODUCTION -// At index 51 : , in file 'goil_syntax.ggs', line 128 -, NONTERMINAL (7) // -, NONTERMINAL (15) // -, END_PRODUCTION -// At index 54 : , in file 'goil_syntax.ggs', line 140 -, END_PRODUCTION -// At index 55 : , in file 'goil_syntax.ggs', line 140 -, NONTERMINAL (0) // -, NONTERMINAL (16) // -, END_PRODUCTION -// At index 58 : , in file 'goil_syntax.ggs', line 140 -, NONTERMINAL (7) // -, NONTERMINAL (16) // -, END_PRODUCTION -// At index 61 : , in file 'goil_syntax.ggs', line 147 -, TERMINAL (C_Lexique_goil_5F_lexique::kToken__2D_) // $-$ -, END_PRODUCTION -// At index 63 : , in file 'goil_syntax.ggs', line 147 -, TERMINAL (C_Lexique_goil_5F_lexique::kToken__2B_) // $+$ -, END_PRODUCTION -// At index 65 : , in file 'goil_syntax.ggs', line 147 -, END_PRODUCTION -// At index 66 : , in file 'goil_syntax.ggs', line 160 -, END_PRODUCTION -// At index 67 : , in file 'goil_syntax.ggs', line 160 -, 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 -, END_PRODUCTION -// At index 72 : , in file 'goil_syntax.ggs', line 167 -, TERMINAL (C_Lexique_goil_5F_lexique::kToken_string) // $string$ -, NONTERMINAL (19) // -, END_PRODUCTION -// At index 75 : , in file 'goil_syntax.ggs', line 210 -, END_PRODUCTION -// At index 76 : , in file 'goil_syntax.ggs', line 210 -, 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 -, NONTERMINAL (13) // -, NONTERMINAL (20) // -, END_PRODUCTION -// At index 88 : , in file 'goil_syntax.ggs', line 255 -, TERMINAL (C_Lexique_goil_5F_lexique::kToken_TRUE) // $TRUE$ -, END_PRODUCTION -// At index 90 : , in file 'goil_syntax.ggs', line 255 -, TERMINAL (C_Lexique_goil_5F_lexique::kToken_FALSE) // $FALSE$ -, END_PRODUCTION -// At index 92 : , in file 'goil_syntax.ggs', line 268 -, END_PRODUCTION -// At index 93 : , in file 'goil_syntax.ggs', line 268 -, NONTERMINAL (11) // -, NONTERMINAL (22) // -, END_PRODUCTION -// At index 96 : , in file 'goil_syntax.ggs', line 268 -, NONTERMINAL (14) // -, NONTERMINAL (22) // -, END_PRODUCTION -// At index 99 : , in file 'goil_syntax.ggs', line 293 -, TERMINAL (C_Lexique_goil_5F_lexique::kToken__3D_) // $=$ -, NONTERMINAL (24) // -, END_PRODUCTION -// At index 102 : , in file 'goil_syntax.ggs', line 293 -, 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 -, 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 -, NONTERMINAL (4) // -, NONTERMINAL (26) // -, END_PRODUCTION -// At index 115 : , in file 'goil_syntax.ggs', line 295 -, NONTERMINAL (9) // -, NONTERMINAL (27) // -, NONTERMINAL (5) // -, END_PRODUCTION -// At index 119 : , in file 'goil_syntax.ggs', line 295 -, TERMINAL (C_Lexique_goil_5F_lexique::kToken_string) // $string$ -, NONTERMINAL (5) // -, END_PRODUCTION -// At index 122 : , in file 'goil_syntax.ggs', line 295 -, TERMINAL (C_Lexique_goil_5F_lexique::kToken_AUTO) // $AUTO$ -, NONTERMINAL (5) // -, END_PRODUCTION -// At index 125 : , in file 'goil_syntax.ggs', line 316 -, 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 -, END_PRODUCTION -// At index 130 : , in file 'goil_syntax.ggs', line 333 -, 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 -, 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 -, 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 -, END_PRODUCTION -// At index 141 : , in file 'goil_syntax.ggs', line 490 -, TERMINAL (C_Lexique_goil_5F_lexique::kToken_include) // $include$ -, END_PRODUCTION -// At index 143 : , in file 'goil_syntax.ggs', line 490 -, TERMINAL (C_Lexique_goil_5F_lexique::kToken_includeifexists) // $includeifexists$ -, END_PRODUCTION -// At index 145 : , in file 'goil_syntax.ggs', line 496 -, TERMINAL (C_Lexique_goil_5F_lexique::kToken_g_5F_string) // $g_string$ -, END_PRODUCTION -// At index 147 : , in file 'goil_syntax.ggs', line 496 -, TERMINAL (C_Lexique_goil_5F_lexique::kToken_string) // $string$ -, END_PRODUCTION -// At index 149 : , in file 'goil_syntax.ggs', line 514 -, TERMINAL (C_Lexique_goil_5F_lexique::kToken_include) // $include$ -, END_PRODUCTION -// At index 151 : , in file 'goil_syntax.ggs', line 514 -, TERMINAL (C_Lexique_goil_5F_lexique::kToken_includeifexists) // $includeifexists$ -, END_PRODUCTION -// At index 153 : , in file 'goil_syntax.ggs', line 520 -, TERMINAL (C_Lexique_goil_5F_lexique::kToken_g_5F_string) // $g_string$ -, END_PRODUCTION -// At index 155 : , in file 'goil_syntax.ggs', line 520 -, TERMINAL (C_Lexique_goil_5F_lexique::kToken_string) // $string$ -, END_PRODUCTION -// At index 157 : , in file 'goil_syntax.ggs', line 536 -, TERMINAL (C_Lexique_goil_5F_lexique::kToken_include) // $include$ -, END_PRODUCTION -// At index 159 : , in file 'goil_syntax.ggs', line 536 -, TERMINAL (C_Lexique_goil_5F_lexique::kToken_includeifexists) // $includeifexists$ -, END_PRODUCTION -// At index 161 : , in file 'goil_syntax.ggs', line 542 -, TERMINAL (C_Lexique_goil_5F_lexique::kToken_g_5F_string) // $g_string$ -, END_PRODUCTION -// At index 163 : , in file 'goil_syntax.ggs', line 542 -, TERMINAL (C_Lexique_goil_5F_lexique::kToken_string) // $string$ -, END_PRODUCTION -// At index 165 : <>, in file '.ggs', line 0 -, NONTERMINAL (10) // -, END_PRODUCTION -} ; +int32_t cGrammar_goil_5F_object_5F_level_5F_include::select_goil_5F_syntax_6 (Lexique_goil_5F_lexique * inLexique) { + return inLexique->nextProductionIndex () ; +} -//---------------------------------------------------------------------------------------------------------------------* -// -// P R O D U C T I O N N A M E S -// -//---------------------------------------------------------------------------------------------------------------------* +//-------------------------------------------------------------------------------------------------- +// +// 'select_goil_5F_syntax_7' added non terminal implementation +// +//-------------------------------------------------------------------------------------------------- -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 +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 () ; +} + +//-------------------------------------------------------------------------------------------------- +// +// '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 () ; +} + +//-------------------------------------------------------------------------------------------------- +// +// '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 () ; +} + +//-------------------------------------------------------------------------------------------------- +// +// '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 () ; +} + +//-------------------------------------------------------------------------------------------------- +// +// '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 () ; +} + +//-------------------------------------------------------------------------------------------------- +// +// '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 () ; +} + +//-------------------------------------------------------------------------------------------------- +// +// '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 () ; +} + +//-------------------------------------------------------------------------------------------------- +// +// '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 () ; +} + +//-------------------------------------------------------------------------------------------------- +// +// '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 () ; +} + +//-------------------------------------------------------------------------------------------------- + +//-------------------------------------------------------------------------------------------------- + +#include "MF_MemoryControl.h" +#include "C_galgas_CLI_Options.h" + +#include "FileManager.h" + +//-------------------------------------------------------------------------------------------------- + + +//-------------------------------------------------------------------------------------------------- +// +// LL(1) PRODUCTION RULES +// +//-------------------------------------------------------------------------------------------------- + +static const int32_t gProductions_goil_cpu_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 (8) // +, TOP_DOWN_END_PRODUCTION () +} ; + +//-------------------------------------------------------------------------------------------------- +// +// P R O D U C T I O N N A M E S +// +//-------------------------------------------------------------------------------------------------- + +static const cProductionNameDescriptor gProductionNames_goil_cpu_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 @@ -9204,13 +9654,13 @@ static const cProductionNameDescriptor gProductionNames_goil_object_level_includ {"<>", "", 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_object_level_include [62] = { +static const int32_t gProductionIndexes_goil_cpu_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 @@ -9275,13 +9725,13 @@ static const int32_t gProductionIndexes_goil_object_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 -// -//---------------------------------------------------------------------------------------------------------------------* +//-------------------------------------------------------------------------------------------------- +// +// 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] = { +static const int32_t gFirstProductionIndexes_goil_cpu_level_include [36] = { 0, // at 0 : 0, // at 1 : 1, // at 2 : @@ -9319,13 +9769,13 @@ static const int32_t gFirstProductionIndexes_goil_object_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_object_level_include [] = { +static const int32_t gDecision_goil_cpu_level_include [] = { // At index 0 : no production // At index 0 : only one production, no choice -1, @@ -9358,100 +9808,100 @@ static const int32_t gDecision_goil_object_level_include [] = { //---- Added non terminal symbols from 'select' and 'repeat' instructions // At index 14 : -1, // Choice 1 -C_Lexique_goil_5F_lexique::kToken_include, C_Lexique_goil_5F_lexique::kToken_includeifexists, -1, // Choice 2 +Lexique_goil_5F_lexique::kToken_include, Lexique_goil_5F_lexique::kToken_includeifexists, -1, // Choice 2 -1, // Choice 3 -C_Lexique_goil_5F_lexique::kToken_CPU, -1, // Choice 4 +Lexique_goil_5F_lexique::kToken_CPU, -1, // Choice 4 -1, // At index 22 : -1, // Choice 1 -1, // Choice 2 -C_Lexique_goil_5F_lexique::kToken_CPU, -1, // Choice 3 +Lexique_goil_5F_lexique::kToken_CPU, -1, // Choice 3 -1, // At index 27 : -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 +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 : -C_Lexique_goil_5F_lexique::kToken__3B_, -1, // Choice 1 -C_Lexique_goil_5F_lexique::kToken__3A_, -1, // Choice 2 +Lexique_goil_5F_lexique::kToken__3B_, -1, // Choice 1 +Lexique_goil_5F_lexique::kToken__3A_, -1, // Choice 2 -1, // At index 40 : -C_Lexique_goil_5F_lexique::kToken__3B_, -1, // Choice 1 -C_Lexique_goil_5F_lexique::kToken_string, -1, // Choice 2 +Lexique_goil_5F_lexique::kToken__3B_, -1, // Choice 1 +Lexique_goil_5F_lexique::kToken_string, -1, // Choice 2 -1, // At index 45 : -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 +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 53 : -C_Lexique_goil_5F_lexique::kToken_TRUE, -1, // Choice 1 -C_Lexique_goil_5F_lexique::kToken_FALSE, -1, // Choice 2 +// At index 54 : +Lexique_goil_5F_lexique::kToken_TRUE, -1, // Choice 1 +Lexique_goil_5F_lexique::kToken_FALSE, -1, // Choice 2 -1, -// 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 +// 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 -1, // At index 67 : -C_Lexique_goil_5F_lexique::kToken__3D_, -1, // Choice 1 -C_Lexique_goil_5F_lexique::kToken_idf, -1, // Choice 2 +Lexique_goil_5F_lexique::kToken__3D_, -1, // Choice 1 +Lexique_goil_5F_lexique::kToken_idf, -1, // Choice 2 -1, // At index 72 : -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 +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 : -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 +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 : -C_Lexique_goil_5F_lexique::kToken_uint_5F_number, -1, // Choice 1 -C_Lexique_goil_5F_lexique::kToken_float_5F_number, -1, // Choice 2 +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 : -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 +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 : -C_Lexique_goil_5F_lexique::kToken_include, -1, // Choice 1 -C_Lexique_goil_5F_lexique::kToken_includeifexists, -1, // Choice 2 +Lexique_goil_5F_lexique::kToken_include, -1, // Choice 1 +Lexique_goil_5F_lexique::kToken_includeifexists, -1, // Choice 2 -1, // At index 109 : -C_Lexique_goil_5F_lexique::kToken_g_5F_string, -1, // Choice 1 -C_Lexique_goil_5F_lexique::kToken_string, -1, // Choice 2 +Lexique_goil_5F_lexique::kToken_g_5F_string, -1, // Choice 1 +Lexique_goil_5F_lexique::kToken_string, -1, // Choice 2 -1, // At index 114 : -C_Lexique_goil_5F_lexique::kToken_include, -1, // Choice 1 -C_Lexique_goil_5F_lexique::kToken_includeifexists, -1, // Choice 2 +Lexique_goil_5F_lexique::kToken_include, -1, // Choice 1 +Lexique_goil_5F_lexique::kToken_includeifexists, -1, // Choice 2 -1, // At index 119 : -C_Lexique_goil_5F_lexique::kToken_g_5F_string, -1, // Choice 1 -C_Lexique_goil_5F_lexique::kToken_string, -1, // Choice 2 +Lexique_goil_5F_lexique::kToken_g_5F_string, -1, // Choice 1 +Lexique_goil_5F_lexique::kToken_string, -1, // Choice 2 -1, // At index 124 : -C_Lexique_goil_5F_lexique::kToken_include, -1, // Choice 1 -C_Lexique_goil_5F_lexique::kToken_includeifexists, -1, // Choice 2 +Lexique_goil_5F_lexique::kToken_include, -1, // Choice 1 +Lexique_goil_5F_lexique::kToken_includeifexists, -1, // Choice 2 -1, // At index 129 : -C_Lexique_goil_5F_lexique::kToken_g_5F_string, -1, // Choice 1 -C_Lexique_goil_5F_lexique::kToken_string, -1, // Choice 2 +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} ; -//---------------------------------------------------------------------------------------------------------------------* -// -// 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_object_level_include [36] = { +static const int32_t gDecisionIndexes_goil_cpu_level_include [36] = { 0, // at 0 : 0, // at 1 : 1, // at 2 : @@ -9473,8 +9923,8 @@ static const int32_t gDecisionIndexes_goil_object_level_include [36] = { 35, // at 18 : 40, // at 19 : 45, // at 20 : -53, // at 21 : -58, // at 22 : +54, // at 21 : +59, // at 22 : 67, // at 23 : 72, // at 24 : 87, // at 25 : @@ -9489,3215 +9939,2569 @@ static const int32_t gDecisionIndexes_goil_object_level_include [36] = { 134, // at 34 : <> 0} ; -//---------------------------------------------------------------------------------------------------------------------* -// -// 'implementation_definition' non terminal implementation -// -//---------------------------------------------------------------------------------------------------------------------* +//-------------------------------------------------------------------------------------------------- +// +// 'implementation_definition' non terminal implementation +// +//-------------------------------------------------------------------------------------------------- -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_implementation_5F_definition_parse (Lexique_goil_5F_lexique * ) { } -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_implementation_5F_definition_indexing (Lexique_goil_5F_lexique * ) { } -void cGrammar_goil_5F_object_5F_level_5F_include::nt_implementation_5F_definition_ (GALGAS_implementation & , - C_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 -// -//---------------------------------------------------------------------------------------------------------------------* +//-------------------------------------------------------------------------------------------------- +// +// 'start' non terminal implementation +// +//-------------------------------------------------------------------------------------------------- -void cGrammar_goil_5F_object_5F_level_5F_include::nt_start_parse (C_Lexique_goil_5F_lexique * inLexique) { +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_object_5F_level_5F_include::nt_start_indexing (C_Lexique_goil_5F_lexique * 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_object_5F_level_5F_include::nt_start_ (C_Lexique_goil_5F_lexique * 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 -// -//---------------------------------------------------------------------------------------------------------------------* +//-------------------------------------------------------------------------------------------------- +// +// 'file' non terminal implementation +// +//-------------------------------------------------------------------------------------------------- -void cGrammar_goil_5F_object_5F_level_5F_include::nt_file_parse (C_Lexique_goil_5F_lexique * inLexique) { +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_object_5F_level_5F_include::nt_file_indexing (C_Lexique_goil_5F_lexique * 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_object_5F_level_5F_include::nt_file_ (GALGAS_implementation & parameter_1, +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, - C_Lexique_goil_5F_lexique * inLexique) { + 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 -// -//---------------------------------------------------------------------------------------------------------------------* +//-------------------------------------------------------------------------------------------------- +// +// 'file_without_include' non terminal implementation +// +//-------------------------------------------------------------------------------------------------- -void cGrammar_goil_5F_object_5F_level_5F_include::nt_file_5F_without_5F_include_parse (C_Lexique_goil_5F_lexique * inLexique) { +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_object_5F_level_5F_include::nt_file_5F_without_5F_include_indexing (C_Lexique_goil_5F_lexique * 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_object_5F_level_5F_include::nt_file_5F_without_5F_include_ (GALGAS_implementation & parameter_1, +void cGrammar_goil_5F_cpu_5F_level_5F_include::nt_file_5F_without_5F_include_ (GALGAS_implementation & parameter_1, GALGAS_applicationDefinition & parameter_2, - C_Lexique_goil_5F_lexique * inLexique) { + Lexique_goil_5F_lexique * inLexique) { rule_goil_5F_syntax_file_5F_without_5F_include_i2_(parameter_1, parameter_2, inLexique) ; } -//---------------------------------------------------------------------------------------------------------------------* -// -// 'sign' non terminal implementation -// -//---------------------------------------------------------------------------------------------------------------------* +//-------------------------------------------------------------------------------------------------- +// +// 'sign' non terminal implementation +// +//-------------------------------------------------------------------------------------------------- -void cGrammar_goil_5F_object_5F_level_5F_include::nt_sign_parse (C_Lexique_goil_5F_lexique * inLexique) { +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_object_5F_level_5F_include::nt_sign_indexing (C_Lexique_goil_5F_lexique * 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_object_5F_level_5F_include::nt_sign_ (GALGAS_bool & parameter_1, - C_Lexique_goil_5F_lexique * 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 -// -//---------------------------------------------------------------------------------------------------------------------* +//-------------------------------------------------------------------------------------------------- +// +// 'description' non terminal implementation +// +//-------------------------------------------------------------------------------------------------- -void cGrammar_goil_5F_object_5F_level_5F_include::nt_description_parse (C_Lexique_goil_5F_lexique * inLexique) { +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_object_5F_level_5F_include::nt_description_indexing (C_Lexique_goil_5F_lexique * 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_object_5F_level_5F_include::nt_description_ (GALGAS_lstring & parameter_1, - C_Lexique_goil_5F_lexique * 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 -// -//---------------------------------------------------------------------------------------------------------------------* +//-------------------------------------------------------------------------------------------------- +// +// 'OIL_version' non terminal implementation +// +//-------------------------------------------------------------------------------------------------- -void cGrammar_goil_5F_object_5F_level_5F_include::nt_OIL_5F_version_parse (C_Lexique_goil_5F_lexique * inLexique) { +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_object_5F_level_5F_include::nt_OIL_5F_version_indexing (C_Lexique_goil_5F_lexique * 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_object_5F_level_5F_include::nt_OIL_5F_version_ (GALGAS_lstring & parameter_1, +void cGrammar_goil_5F_cpu_5F_level_5F_include::nt_OIL_5F_version_ (GALGAS_lstring & parameter_1, GALGAS_lstring & parameter_2, - C_Lexique_goil_5F_lexique * inLexique) { + Lexique_goil_5F_lexique * inLexique) { rule_goil_5F_syntax_OIL_5F_version_i5_(parameter_1, parameter_2, inLexique) ; } -//---------------------------------------------------------------------------------------------------------------------* -// -// 'application_definition' non terminal implementation -// -//---------------------------------------------------------------------------------------------------------------------* +//-------------------------------------------------------------------------------------------------- +// +// 'application_definition' non terminal implementation +// +//-------------------------------------------------------------------------------------------------- -void cGrammar_goil_5F_object_5F_level_5F_include::nt_application_5F_definition_parse (C_Lexique_goil_5F_lexique * inLexique) { +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_object_5F_level_5F_include::nt_application_5F_definition_indexing (C_Lexique_goil_5F_lexique * 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_object_5F_level_5F_include::nt_application_5F_definition_ (const GALGAS_implementation parameter_1, +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, - C_Lexique_goil_5F_lexique * inLexique) { + 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 -// -//---------------------------------------------------------------------------------------------------------------------* +//-------------------------------------------------------------------------------------------------- +// +// 'object_definition_list' non terminal implementation +// +//-------------------------------------------------------------------------------------------------- -void cGrammar_goil_5F_object_5F_level_5F_include::nt_object_5F_definition_5F_list_parse (C_Lexique_goil_5F_lexique * inLexique) { +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_object_5F_level_5F_include::nt_object_5F_definition_5F_list_indexing (C_Lexique_goil_5F_lexique * 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_object_5F_level_5F_include::nt_object_5F_definition_5F_list_ (const GALGAS_implementation parameter_1, +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, - C_Lexique_goil_5F_lexique * inLexique) { + 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 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_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_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_object_5F_level_5F_include::nt_boolean_indexing (C_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, - C_Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_boolean_i8_(parameter_1, inLexique) ; -} - -//---------------------------------------------------------------------------------------------------------------------* -// -// 'oil_declaration_list' non terminal implementation -// -//---------------------------------------------------------------------------------------------------------------------* - -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 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 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)) ; +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_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) ; + 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 -// -//---------------------------------------------------------------------------------------------------------------------* +//-------------------------------------------------------------------------------------------------- +// +// Grammar start symbol implementation +// +//-------------------------------------------------------------------------------------------------- -void cGrammar_goil_5F_object_5F_level_5F_include::_performSourceFileParsing_ (C_Compiler * inCompiler, +void cGrammar_goil_5F_cpu_5F_level_5F_include::_performSourceFileParsing_ (Compiler * inCompiler, GALGAS_lstring inFilePath, - const GALGAS_implementationObjectMap parameter_1, - GALGAS_objectAttributes & parameter_2 + 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 () ; - C_String filePath = filePathAsString.stringValue () ; - if (! C_FileManager::isAbsolutePath (filePath)) { + String filePath = filePathAsString.stringValue () ; + if (! 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 (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) ; + 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_object_5F_level_5F_include grammar ; - grammar.nt_oil_5F_declaration_5F_list_ (parameter_1, parameter_2, scanner) ; + 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{ - C_String message ; - message << "the '" << filePath << "' file exists, but cannot be read" ; + 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{ - C_String message ; - message << "the '" << filePath << "' file does not exist" ; + 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_object_5F_level_5F_include::_performSourceStringParsing_ (C_Compiler * inCompiler, +void cGrammar_goil_5F_cpu_5F_level_5F_include::_performSourceStringParsing_ (Compiler * inCompiler, GALGAS_string inSourceString, GALGAS_string inNameString, - const GALGAS_implementationObjectMap parameter_1, - GALGAS_objectAttributes & parameter_2 + 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 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) ; + 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_object_5F_level_5F_include grammar ; - grammar.nt_oil_5F_declaration_5F_list_ (parameter_1, parameter_2, scanner) ; + 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) ; } } -//---------------------------------------------------------------------------------------------------------------------* -// -// 'oil_declaration' non terminal implementation -// -//---------------------------------------------------------------------------------------------------------------------* +//-------------------------------------------------------------------------------------------------- +// +// '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) ; +} + +//-------------------------------------------------------------------------------------------------- +// +// 'oil_declaration_list' 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_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_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) ; +} + +//-------------------------------------------------------------------------------------------------- +// +// 'oil_declaration' non terminal implementation +// +//-------------------------------------------------------------------------------------------------- -void cGrammar_goil_5F_object_5F_level_5F_include::nt_oil_5F_declaration_parse (C_Lexique_goil_5F_lexique * inLexique) { +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_oil_5F_declaration_indexing (C_Lexique_goil_5F_lexique * 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_oil_5F_declaration_ (const GALGAS_implementationObjectMap parameter_1, +void cGrammar_goil_5F_cpu_5F_level_5F_include::nt_oil_5F_declaration_ (const GALGAS_implementationObjectMap parameter_1, GALGAS_objectAttributes & parameter_2, - C_Lexique_goil_5F_lexique * inLexique) { + Lexique_goil_5F_lexique * inLexique) { rule_goil_5F_syntax_oil_5F_declaration_i10_(parameter_1, parameter_2, inLexique) ; } -//---------------------------------------------------------------------------------------------------------------------* -// -// 'include_file_level' non terminal implementation -// -//---------------------------------------------------------------------------------------------------------------------* +//-------------------------------------------------------------------------------------------------- +// +// 'include_file_level' non terminal implementation +// +//-------------------------------------------------------------------------------------------------- -void cGrammar_goil_5F_object_5F_level_5F_include::nt_include_5F_file_5F_level_parse (C_Lexique_goil_5F_lexique * inLexique) { +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_include_5F_file_5F_level_indexing (C_Lexique_goil_5F_lexique * 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_include_5F_file_5F_level_ (GALGAS_implementation & parameter_1, +void cGrammar_goil_5F_cpu_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) { + 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 -// -//---------------------------------------------------------------------------------------------------------------------* +//-------------------------------------------------------------------------------------------------- +// +// 'include_cpu_level' non terminal implementation +// +//-------------------------------------------------------------------------------------------------- -void cGrammar_goil_5F_object_5F_level_5F_include::nt_include_5F_cpu_5F_level_parse (C_Lexique_goil_5F_lexique * inLexique) { +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_object_5F_level_5F_include::nt_include_5F_cpu_5F_level_indexing (C_Lexique_goil_5F_lexique * 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_object_5F_level_5F_include::nt_include_5F_cpu_5F_level_ (const GALGAS_implementation parameter_1, +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, - C_Lexique_goil_5F_lexique * inLexique) { + 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 -// -//---------------------------------------------------------------------------------------------------------------------* +//-------------------------------------------------------------------------------------------------- +// +// 'include_object_level' non terminal implementation +// +//-------------------------------------------------------------------------------------------------- -void cGrammar_goil_5F_object_5F_level_5F_include::nt_include_5F_object_5F_level_parse (C_Lexique_goil_5F_lexique * inLexique) { +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_object_5F_level_5F_include::nt_include_5F_object_5F_level_indexing (C_Lexique_goil_5F_lexique * 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_object_5F_level_5F_include::nt_include_5F_object_5F_level_ (const GALGAS_implementationObjectMap parameter_1, +void cGrammar_goil_5F_cpu_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) { + 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 -// -//---------------------------------------------------------------------------------------------------------------------* +//-------------------------------------------------------------------------------------------------- +// +// 'select_goil_5F_syntax_0' added non terminal implementation +// +//-------------------------------------------------------------------------------------------------- -int32_t cGrammar_goil_5F_object_5F_level_5F_include::select_goil_5F_syntax_0 (C_Lexique_goil_5F_lexique * inLexique) { +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 -// -//---------------------------------------------------------------------------------------------------------------------* +//-------------------------------------------------------------------------------------------------- +// +// 'select_goil_5F_syntax_1' added non terminal implementation +// +//-------------------------------------------------------------------------------------------------- -int32_t cGrammar_goil_5F_object_5F_level_5F_include::select_goil_5F_syntax_1 (C_Lexique_goil_5F_lexique * inLexique) { +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 -// -//---------------------------------------------------------------------------------------------------------------------* +//-------------------------------------------------------------------------------------------------- +// +// 'select_goil_5F_syntax_2' added non terminal implementation +// +//-------------------------------------------------------------------------------------------------- -int32_t cGrammar_goil_5F_object_5F_level_5F_include::select_goil_5F_syntax_2 (C_Lexique_goil_5F_lexique * inLexique) { +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 -// -//---------------------------------------------------------------------------------------------------------------------* +//-------------------------------------------------------------------------------------------------- +// +// 'select_goil_5F_syntax_3' added non terminal implementation +// +//-------------------------------------------------------------------------------------------------- -int32_t cGrammar_goil_5F_object_5F_level_5F_include::select_goil_5F_syntax_3 (C_Lexique_goil_5F_lexique * inLexique) { +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 -// -//---------------------------------------------------------------------------------------------------------------------* +//-------------------------------------------------------------------------------------------------- +// +// 'select_goil_5F_syntax_4' added non terminal implementation +// +//-------------------------------------------------------------------------------------------------- -int32_t cGrammar_goil_5F_object_5F_level_5F_include::select_goil_5F_syntax_4 (C_Lexique_goil_5F_lexique * inLexique) { +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 -// -//---------------------------------------------------------------------------------------------------------------------* +//-------------------------------------------------------------------------------------------------- +// +// 'select_goil_5F_syntax_5' added non terminal implementation +// +//-------------------------------------------------------------------------------------------------- -int32_t cGrammar_goil_5F_object_5F_level_5F_include::select_goil_5F_syntax_5 (C_Lexique_goil_5F_lexique * inLexique) { +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 -// -//---------------------------------------------------------------------------------------------------------------------* +//-------------------------------------------------------------------------------------------------- +// +// 'select_goil_5F_syntax_6' added non terminal implementation +// +//-------------------------------------------------------------------------------------------------- -int32_t cGrammar_goil_5F_object_5F_level_5F_include::select_goil_5F_syntax_6 (C_Lexique_goil_5F_lexique * inLexique) { +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 -// -//---------------------------------------------------------------------------------------------------------------------* +//-------------------------------------------------------------------------------------------------- +// +// 'select_goil_5F_syntax_7' added non terminal implementation +// +//-------------------------------------------------------------------------------------------------- -int32_t cGrammar_goil_5F_object_5F_level_5F_include::select_goil_5F_syntax_7 (C_Lexique_goil_5F_lexique * inLexique) { +int32_t cGrammar_goil_5F_cpu_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 -// -//---------------------------------------------------------------------------------------------------------------------* +//-------------------------------------------------------------------------------------------------- +// +// 'select_goil_5F_syntax_8' added non terminal implementation +// +//-------------------------------------------------------------------------------------------------- -int32_t cGrammar_goil_5F_object_5F_level_5F_include::select_goil_5F_syntax_8 (C_Lexique_goil_5F_lexique * inLexique) { +int32_t cGrammar_goil_5F_cpu_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 -// -//---------------------------------------------------------------------------------------------------------------------* +//-------------------------------------------------------------------------------------------------- +// +// 'select_goil_5F_syntax_9' added non terminal implementation +// +//-------------------------------------------------------------------------------------------------- -int32_t cGrammar_goil_5F_object_5F_level_5F_include::select_goil_5F_syntax_9 (C_Lexique_goil_5F_lexique * inLexique) { +int32_t cGrammar_goil_5F_cpu_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 -// -//---------------------------------------------------------------------------------------------------------------------* +//-------------------------------------------------------------------------------------------------- +// +// 'select_goil_5F_syntax_10' added non terminal implementation +// +//-------------------------------------------------------------------------------------------------- -int32_t cGrammar_goil_5F_object_5F_level_5F_include::select_goil_5F_syntax_10 (C_Lexique_goil_5F_lexique * inLexique) { +int32_t cGrammar_goil_5F_cpu_5F_level_5F_include::select_goil_5F_syntax_10 (Lexique_goil_5F_lexique * inLexique) { return inLexique->nextProductionIndex () ; } -//---------------------------------------------------------------------------------------------------------------------* -// -// 'select_goil_5F_syntax_11' added non terminal implementation -// -//---------------------------------------------------------------------------------------------------------------------* +//-------------------------------------------------------------------------------------------------- +// +// 'select_goil_5F_syntax_11' added non terminal implementation +// +//-------------------------------------------------------------------------------------------------- -int32_t cGrammar_goil_5F_object_5F_level_5F_include::select_goil_5F_syntax_11 (C_Lexique_goil_5F_lexique * inLexique) { +int32_t cGrammar_goil_5F_cpu_5F_level_5F_include::select_goil_5F_syntax_11 (Lexique_goil_5F_lexique * inLexique) { return inLexique->nextProductionIndex () ; } -//---------------------------------------------------------------------------------------------------------------------* -// -// 'select_goil_5F_syntax_12' added non terminal implementation -// -//---------------------------------------------------------------------------------------------------------------------* +//-------------------------------------------------------------------------------------------------- +// +// 'select_goil_5F_syntax_12' added non terminal implementation +// +//-------------------------------------------------------------------------------------------------- -int32_t cGrammar_goil_5F_object_5F_level_5F_include::select_goil_5F_syntax_12 (C_Lexique_goil_5F_lexique * inLexique) { +int32_t cGrammar_goil_5F_cpu_5F_level_5F_include::select_goil_5F_syntax_12 (Lexique_goil_5F_lexique * inLexique) { return inLexique->nextProductionIndex () ; } -//---------------------------------------------------------------------------------------------------------------------* -// -// 'select_goil_5F_syntax_13' added non terminal implementation -// -//---------------------------------------------------------------------------------------------------------------------* +//-------------------------------------------------------------------------------------------------- +// +// 'select_goil_5F_syntax_13' added non terminal implementation +// +//-------------------------------------------------------------------------------------------------- -int32_t cGrammar_goil_5F_object_5F_level_5F_include::select_goil_5F_syntax_13 (C_Lexique_goil_5F_lexique * inLexique) { +int32_t cGrammar_goil_5F_cpu_5F_level_5F_include::select_goil_5F_syntax_13 (Lexique_goil_5F_lexique * inLexique) { return inLexique->nextProductionIndex () ; } -//---------------------------------------------------------------------------------------------------------------------* -// -// 'select_goil_5F_syntax_14' added non terminal implementation -// -//---------------------------------------------------------------------------------------------------------------------* +//-------------------------------------------------------------------------------------------------- +// +// 'select_goil_5F_syntax_14' added non terminal implementation +// +//-------------------------------------------------------------------------------------------------- -int32_t cGrammar_goil_5F_object_5F_level_5F_include::select_goil_5F_syntax_14 (C_Lexique_goil_5F_lexique * inLexique) { +int32_t cGrammar_goil_5F_cpu_5F_level_5F_include::select_goil_5F_syntax_14 (Lexique_goil_5F_lexique * inLexique) { return inLexique->nextProductionIndex () ; } -//---------------------------------------------------------------------------------------------------------------------* -// -// 'select_goil_5F_syntax_15' added non terminal implementation -// -//---------------------------------------------------------------------------------------------------------------------* +//-------------------------------------------------------------------------------------------------- +// +// 'select_goil_5F_syntax_15' added non terminal implementation +// +//-------------------------------------------------------------------------------------------------- -int32_t cGrammar_goil_5F_object_5F_level_5F_include::select_goil_5F_syntax_15 (C_Lexique_goil_5F_lexique * inLexique) { +int32_t cGrammar_goil_5F_cpu_5F_level_5F_include::select_goil_5F_syntax_15 (Lexique_goil_5F_lexique * inLexique) { return inLexique->nextProductionIndex () ; } -//---------------------------------------------------------------------------------------------------------------------* -// -// 'select_goil_5F_syntax_16' added non terminal implementation -// -//---------------------------------------------------------------------------------------------------------------------* +//-------------------------------------------------------------------------------------------------- +// +// 'select_goil_5F_syntax_16' added non terminal implementation +// +//-------------------------------------------------------------------------------------------------- -int32_t cGrammar_goil_5F_object_5F_level_5F_include::select_goil_5F_syntax_16 (C_Lexique_goil_5F_lexique * inLexique) { +int32_t cGrammar_goil_5F_cpu_5F_level_5F_include::select_goil_5F_syntax_16 (Lexique_goil_5F_lexique * inLexique) { return inLexique->nextProductionIndex () ; } -//---------------------------------------------------------------------------------------------------------------------* -// -// 'select_goil_5F_syntax_17' added non terminal implementation -// -//---------------------------------------------------------------------------------------------------------------------* +//-------------------------------------------------------------------------------------------------- +// +// 'select_goil_5F_syntax_17' added non terminal implementation +// +//-------------------------------------------------------------------------------------------------- -int32_t cGrammar_goil_5F_object_5F_level_5F_include::select_goil_5F_syntax_17 (C_Lexique_goil_5F_lexique * inLexique) { +int32_t cGrammar_goil_5F_cpu_5F_level_5F_include::select_goil_5F_syntax_17 (Lexique_goil_5F_lexique * inLexique) { return inLexique->nextProductionIndex () ; } -//---------------------------------------------------------------------------------------------------------------------* -// -// 'select_goil_5F_syntax_18' added non terminal implementation -// -//---------------------------------------------------------------------------------------------------------------------* +//-------------------------------------------------------------------------------------------------- +// +// 'select_goil_5F_syntax_18' added non terminal implementation +// +//-------------------------------------------------------------------------------------------------- -int32_t cGrammar_goil_5F_object_5F_level_5F_include::select_goil_5F_syntax_18 (C_Lexique_goil_5F_lexique * inLexique) { +int32_t cGrammar_goil_5F_cpu_5F_level_5F_include::select_goil_5F_syntax_18 (Lexique_goil_5F_lexique * inLexique) { return inLexique->nextProductionIndex () ; } -//---------------------------------------------------------------------------------------------------------------------* - -//---------------------------------------------------------------------------------------------------------------------* +//-------------------------------------------------------------------------------------------------- -#include "utilities/MF_MemoryControl.h" -#include "galgas2/C_galgas_CLI_Options.h" -#include "files/C_FileManager.h" //---------------------------------------------------------------------------------------------------------------------* +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 ; + } + } +} //---------------------------------------------------------------------------------------------------------------------* -// -// L L ( 1 ) P R O D U C T I O N R U L E S -// + +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 () ; +} + //---------------------------------------------------------------------------------------------------------------------* -#define TERMINAL(t) ((t)+1) -#define NONTERMINAL(nt) ((-nt)-1) -#define END_PRODUCTION (0) +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 ; + } + } +} -static const int32_t gProductions_goil_cpu_level_include [] = { -// At index 0 : , in file 'goil_syntax.ggs', line 38 - NONTERMINAL (6) // -, NONTERMINAL (2) // -, END_PRODUCTION -// At index 3 : , in file 'goil_syntax.ggs', line 119 -, NONTERMINAL (15) // -, END_PRODUCTION -// At index 5 : , in file 'goil_syntax.ggs', line 135 -, NONTERMINAL (16) // -, END_PRODUCTION -// At index 7 : , in file 'goil_syntax.ggs', line 146 -, NONTERMINAL (17) // -, END_PRODUCTION -// At index 9 : , in file 'goil_syntax.ggs', line 159 -, NONTERMINAL (18) // -, END_PRODUCTION -// At index 11 : , in file 'goil_syntax.ggs', line 183 -, 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 -, 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 -, NONTERMINAL (20) // -, END_PRODUCTION -// At index 27 : , in file 'goil_syntax.ggs', line 254 -, NONTERMINAL (21) // -, END_PRODUCTION -// At index 29 : , in file 'goil_syntax.ggs', line 264 -, NONTERMINAL (22) // -, END_PRODUCTION -// At index 31 : , in file 'goil_syntax.ggs', line 276 -, 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 -, NONTERMINAL (28) // -, NONTERMINAL (29) // -, END_PRODUCTION -// At index 38 : , in file 'goil_syntax.ggs', line 507 -, NONTERMINAL (30) // -, NONTERMINAL (31) // -, END_PRODUCTION -// At index 41 : , in file 'goil_syntax.ggs', line 531 -, NONTERMINAL (32) // -, NONTERMINAL (33) // -, END_PRODUCTION -//---- Added productions from 'select' and 'repeat' instructions -// At index 44 : , in file 'goil_syntax.ggs', line 128 -, END_PRODUCTION -// At index 45 : , in file 'goil_syntax.ggs', line 128 -, NONTERMINAL (12) // -, NONTERMINAL (15) // -, END_PRODUCTION -// At index 48 : , in file 'goil_syntax.ggs', line 128 -, NONTERMINAL (0) // -, NONTERMINAL (15) // -, END_PRODUCTION -// At index 51 : , in file 'goil_syntax.ggs', line 128 -, NONTERMINAL (7) // -, NONTERMINAL (15) // -, END_PRODUCTION -// At index 54 : , in file 'goil_syntax.ggs', line 140 -, END_PRODUCTION -// At index 55 : , in file 'goil_syntax.ggs', line 140 -, NONTERMINAL (0) // -, NONTERMINAL (16) // -, END_PRODUCTION -// At index 58 : , in file 'goil_syntax.ggs', line 140 -, NONTERMINAL (7) // -, NONTERMINAL (16) // -, END_PRODUCTION -// At index 61 : , in file 'goil_syntax.ggs', line 147 -, TERMINAL (C_Lexique_goil_5F_lexique::kToken__2D_) // $-$ -, END_PRODUCTION -// At index 63 : , in file 'goil_syntax.ggs', line 147 -, TERMINAL (C_Lexique_goil_5F_lexique::kToken__2B_) // $+$ -, END_PRODUCTION -// At index 65 : , in file 'goil_syntax.ggs', line 147 -, END_PRODUCTION -// At index 66 : , in file 'goil_syntax.ggs', line 160 -, END_PRODUCTION -// At index 67 : , in file 'goil_syntax.ggs', line 160 -, 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 -, END_PRODUCTION -// At index 72 : , in file 'goil_syntax.ggs', line 167 -, TERMINAL (C_Lexique_goil_5F_lexique::kToken_string) // $string$ -, NONTERMINAL (19) // -, END_PRODUCTION -// At index 75 : , in file 'goil_syntax.ggs', line 210 -, END_PRODUCTION -// At index 76 : , in file 'goil_syntax.ggs', line 210 -, 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 -, NONTERMINAL (13) // -, NONTERMINAL (20) // -, END_PRODUCTION -// At index 88 : , in file 'goil_syntax.ggs', line 255 -, TERMINAL (C_Lexique_goil_5F_lexique::kToken_TRUE) // $TRUE$ -, END_PRODUCTION -// At index 90 : , in file 'goil_syntax.ggs', line 255 -, TERMINAL (C_Lexique_goil_5F_lexique::kToken_FALSE) // $FALSE$ -, END_PRODUCTION -// At index 92 : , in file 'goil_syntax.ggs', line 268 -, END_PRODUCTION -// At index 93 : , in file 'goil_syntax.ggs', line 268 -, NONTERMINAL (11) // -, NONTERMINAL (22) // -, END_PRODUCTION -// At index 96 : , in file 'goil_syntax.ggs', line 268 -, NONTERMINAL (14) // -, NONTERMINAL (22) // -, END_PRODUCTION -// At index 99 : , in file 'goil_syntax.ggs', line 293 -, TERMINAL (C_Lexique_goil_5F_lexique::kToken__3D_) // $=$ -, NONTERMINAL (24) // -, END_PRODUCTION -// At index 102 : , in file 'goil_syntax.ggs', line 293 -, 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 -, 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 -, NONTERMINAL (4) // -, NONTERMINAL (26) // -, END_PRODUCTION -// At index 115 : , in file 'goil_syntax.ggs', line 295 -, NONTERMINAL (9) // -, NONTERMINAL (27) // -, NONTERMINAL (5) // -, END_PRODUCTION -// At index 119 : , in file 'goil_syntax.ggs', line 295 -, TERMINAL (C_Lexique_goil_5F_lexique::kToken_string) // $string$ -, NONTERMINAL (5) // -, END_PRODUCTION -// At index 122 : , in file 'goil_syntax.ggs', line 295 -, TERMINAL (C_Lexique_goil_5F_lexique::kToken_AUTO) // $AUTO$ -, NONTERMINAL (5) // -, END_PRODUCTION -// At index 125 : , in file 'goil_syntax.ggs', line 316 -, 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 -, END_PRODUCTION -// At index 130 : , in file 'goil_syntax.ggs', line 333 -, 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 -, 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 -, 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 -, END_PRODUCTION -// At index 141 : , in file 'goil_syntax.ggs', line 490 -, TERMINAL (C_Lexique_goil_5F_lexique::kToken_include) // $include$ -, END_PRODUCTION -// At index 143 : , in file 'goil_syntax.ggs', line 490 -, TERMINAL (C_Lexique_goil_5F_lexique::kToken_includeifexists) // $includeifexists$ -, END_PRODUCTION -// At index 145 : , in file 'goil_syntax.ggs', line 496 -, TERMINAL (C_Lexique_goil_5F_lexique::kToken_g_5F_string) // $g_string$ -, END_PRODUCTION -// At index 147 : , in file 'goil_syntax.ggs', line 496 -, TERMINAL (C_Lexique_goil_5F_lexique::kToken_string) // $string$ -, END_PRODUCTION -// At index 149 : , in file 'goil_syntax.ggs', line 514 -, TERMINAL (C_Lexique_goil_5F_lexique::kToken_include) // $include$ -, END_PRODUCTION -// At index 151 : , in file 'goil_syntax.ggs', line 514 -, TERMINAL (C_Lexique_goil_5F_lexique::kToken_includeifexists) // $includeifexists$ -, END_PRODUCTION -// At index 153 : , in file 'goil_syntax.ggs', line 520 -, TERMINAL (C_Lexique_goil_5F_lexique::kToken_g_5F_string) // $g_string$ -, END_PRODUCTION -// At index 155 : , in file 'goil_syntax.ggs', line 520 -, TERMINAL (C_Lexique_goil_5F_lexique::kToken_string) // $string$ -, END_PRODUCTION -// At index 157 : , in file 'goil_syntax.ggs', line 536 -, TERMINAL (C_Lexique_goil_5F_lexique::kToken_include) // $include$ -, END_PRODUCTION -// At index 159 : , in file 'goil_syntax.ggs', line 536 -, TERMINAL (C_Lexique_goil_5F_lexique::kToken_includeifexists) // $includeifexists$ -, END_PRODUCTION -// At index 161 : , in file 'goil_syntax.ggs', line 542 -, TERMINAL (C_Lexique_goil_5F_lexique::kToken_g_5F_string) // $g_string$ -, END_PRODUCTION -// At index 163 : , in file 'goil_syntax.ggs', line 542 -, TERMINAL (C_Lexique_goil_5F_lexique::kToken_string) // $string$ -, END_PRODUCTION -// At index 165 : <>, in file '.ggs', line 0 -, NONTERMINAL (8) // -, END_PRODUCTION -} ; +//---------------------------------------------------------------------------------------------------------------------* + +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)) ; + } +} //---------------------------------------------------------------------------------------------------------------------* -// -// P R O D U C T I O N N A M E S -// + +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 () ; +} + //---------------------------------------------------------------------------------------------------------------------* -static const cProductionNameDescriptor gProductionNames_goil_cpu_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_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 ; + } +} //---------------------------------------------------------------------------------------------------------------------* -// -// L L ( 1 ) P R O D U C T I O N I N D E X E S -// + +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)) ; +} + //---------------------------------------------------------------------------------------------------------------------* -static const int32_t gProductionIndexes_goil_cpu_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_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 () ; +} //---------------------------------------------------------------------------------------------------------------------* -// -// 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 -// + +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)) ; +} + //---------------------------------------------------------------------------------------------------------------------* -static const int32_t gFirstProductionIndexes_goil_cpu_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_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)) ; +} -//---------------------------------------------------------------------------------------------------------------------* -// -// 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 [] = { -// 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 -C_Lexique_goil_5F_lexique::kToken_include, C_Lexique_goil_5F_lexique::kToken_includeifexists, -1, // Choice 2 --1, // Choice 3 -C_Lexique_goil_5F_lexique::kToken_CPU, -1, // Choice 4 - -1, -// At index 22 : --1, // Choice 1 --1, // Choice 2 -C_Lexique_goil_5F_lexique::kToken_CPU, -1, // Choice 3 - -1, -// At index 27 : -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 : -C_Lexique_goil_5F_lexique::kToken__3B_, -1, // Choice 1 -C_Lexique_goil_5F_lexique::kToken__3A_, -1, // Choice 2 - -1, -// At index 40 : -C_Lexique_goil_5F_lexique::kToken__3B_, -1, // Choice 1 -C_Lexique_goil_5F_lexique::kToken_string, -1, // Choice 2 - -1, -// At index 45 : -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 54 : -C_Lexique_goil_5F_lexique::kToken_TRUE, -1, // Choice 1 -C_Lexique_goil_5F_lexique::kToken_FALSE, -1, // Choice 2 - -1, -// At index 59 : -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 67 : -C_Lexique_goil_5F_lexique::kToken__3D_, -1, // Choice 1 -C_Lexique_goil_5F_lexique::kToken_idf, -1, // Choice 2 - -1, -// At index 72 : -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 : -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 : -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 : -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 : -C_Lexique_goil_5F_lexique::kToken_include, -1, // Choice 1 -C_Lexique_goil_5F_lexique::kToken_includeifexists, -1, // Choice 2 - -1, -// At index 109 : -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 : -C_Lexique_goil_5F_lexique::kToken_include, -1, // Choice 1 -C_Lexique_goil_5F_lexique::kToken_includeifexists, -1, // Choice 2 - -1, -// At index 119 : -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 : -C_Lexique_goil_5F_lexique::kToken_include, -1, // Choice 1 -C_Lexique_goil_5F_lexique::kToken_includeifexists, -1, // Choice 2 - -1, -// At index 129 : -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} ; +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 () ; +} -//---------------------------------------------------------------------------------------------------------------------* -// -// 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] = { -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 : -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} ; +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)) ; +} -//---------------------------------------------------------------------------------------------------------------------* -// -// 'implementation_definition' non terminal implementation -// //---------------------------------------------------------------------------------------------------------------------* -void cGrammar_goil_5F_cpu_5F_level_5F_include::nt_implementation_5F_definition_parse (C_Lexique_goil_5F_lexique * ) { +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_cpu_5F_level_5F_include::nt_implementation_5F_definition_indexing (C_Lexique_goil_5F_lexique * ) { -} +//---------------------------------------------------------------------------------------------------------------------* -void cGrammar_goil_5F_cpu_5F_level_5F_include::nt_implementation_5F_definition_ (GALGAS_implementation & , - C_Lexique_goil_5F_lexique * ) { +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 () ; } -//---------------------------------------------------------------------------------------------------------------------* -// -// 'start' non terminal implementation -// //---------------------------------------------------------------------------------------------------------------------* -void cGrammar_goil_5F_cpu_5F_level_5F_include::nt_start_parse (C_Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_start_i0_parse(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_cpu_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_start_ (C_Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_start_i0_(inLexique) ; +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)) ; } -//---------------------------------------------------------------------------------------------------------------------* -// -// 'file' non terminal implementation -// //---------------------------------------------------------------------------------------------------------------------* -void cGrammar_goil_5F_cpu_5F_level_5F_include::nt_file_parse (C_Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_file_i1_parse(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_cpu_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_file_ (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_file_i1_(parameter_1, parameter_2, parameter_3, parameter_4, inLexique) ; +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)) ; } -//---------------------------------------------------------------------------------------------------------------------* -// -// 'file_without_include' non terminal implementation -// //---------------------------------------------------------------------------------------------------------------------* -void cGrammar_goil_5F_cpu_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) ; +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_cpu_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) ; -} +//---------------------------------------------------------------------------------------------------------------------* -void cGrammar_goil_5F_cpu_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) ; +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 () ; } -//---------------------------------------------------------------------------------------------------------------------* -// -// 'sign' non terminal implementation -// //---------------------------------------------------------------------------------------------------------------------* -void cGrammar_goil_5F_cpu_5F_level_5F_include::nt_sign_parse (C_Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_sign_i3_parse(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_cpu_5F_level_5F_include::nt_sign_indexing (C_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, - C_Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_sign_i3_(parameter_1, inLexique) ; +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)) ; } -//---------------------------------------------------------------------------------------------------------------------* -// -// 'description' non terminal implementation -// //---------------------------------------------------------------------------------------------------------------------* -void cGrammar_goil_5F_cpu_5F_level_5F_include::nt_description_parse (C_Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_description_i4_parse(inLexique) ; +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 () ; } -void cGrammar_goil_5F_cpu_5F_level_5F_include::nt_description_indexing (C_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, - C_Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_description_i4_(parameter_1, inLexique) ; +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)) ; } -//---------------------------------------------------------------------------------------------------------------------* -// -// 'OIL_version' non terminal implementation -// -//---------------------------------------------------------------------------------------------------------------------* +//-------------------------------------------------------------------------------------------------- +// +// L E X I Q U E +// +//-------------------------------------------------------------------------------------------------- -void cGrammar_goil_5F_cpu_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) ; -} +#include "unicode_character_cpp.h" +#include "scanner_actions.h" +#include "cLexiqueIntrospection.h" -void cGrammar_goil_5F_cpu_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) ; +//-------------------------------------------------------------------------------------------------- + +cTokenFor_arxml_5F_scanner::cTokenFor_arxml_5F_scanner (void) : +mLexicalAttribute_tokenString () { } -void cGrammar_goil_5F_cpu_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) ; -} - -//---------------------------------------------------------------------------------------------------------------------* -// -// 'application_definition' non terminal implementation -// -//---------------------------------------------------------------------------------------------------------------------* - -void cGrammar_goil_5F_cpu_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 cGrammar_goil_5F_cpu_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_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, - C_Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_application_5F_definition_i6_(parameter_1, parameter_2, parameter_3, parameter_4, inLexique) ; +Lexique_arxml_5F_scanner::Lexique_arxml_5F_scanner (Compiler * inCallerCompiler, + const String & inSourceFileName + COMMA_LOCATION_ARGS) : +Lexique (inCallerCompiler, inSourceFileName COMMA_THERE), +mMatchedTemplateDelimiterIndex (-1) { } -//---------------------------------------------------------------------------------------------------------------------* -// -// 'object_definition_list' non terminal implementation -// -//---------------------------------------------------------------------------------------------------------------------* +//-------------------------------------------------------------------------------------------------- -void cGrammar_goil_5F_cpu_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) ; +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) { } -void cGrammar_goil_5F_cpu_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) ; -} +//-------------------------------------------------------------------------------------------------- +// Lexical error message list +//-------------------------------------------------------------------------------------------------- -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, - 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) ; -} +static const char * gLexicalMessage_arxml_5F_scanner_incorrectAttributeEnd = "attribute value should be enclosed between apostrophes (') or quotation marks (\")" ; -void cGrammar_goil_5F_cpu_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_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) ; -} +static const char * gLexicalMessage_arxml_5F_scanner_incorrectCommentError = "incorrect XML comment" ; -void cGrammar_goil_5F_cpu_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) ; -} +//-------------------------------------------------------------------------------------------------- +// getMessageForTerminal +//-------------------------------------------------------------------------------------------------- -void cGrammar_goil_5F_cpu_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_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) ; +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 '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_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{ - 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) ; - } - } -} +//--- Unicode string for '$\"$' +static const std::initializer_list kUnicodeString_arxml_5F_scanner__22_ = { + TO_UNICODE ('\"'), +} ; -//---------------------------------------------------------------------------------------------------------------------* +//--- Unicode string for '$&$' +static const std::initializer_list kUnicodeString_arxml_5F_scanner__26_ = { + TO_UNICODE ('&'), +} ; -void cGrammar_goil_5F_cpu_5F_level_5F_include::_performSourceStringParsing_ (C_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 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_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) ; - } -} +//--- Unicode string for '$&#$' +static const std::initializer_list kUnicodeString_arxml_5F_scanner__26__23_ = { + TO_UNICODE ('&'), + TO_UNICODE ('#'), +} ; -//---------------------------------------------------------------------------------------------------------------------* -// -// 'boolean' non terminal implementation -// -//---------------------------------------------------------------------------------------------------------------------* +//--- 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 (';'), +} ; -void cGrammar_goil_5F_cpu_5F_level_5F_include::nt_boolean_parse (C_Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_boolean_i8_parse(inLexique) ; -} +//--- 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 (';'), +} ; -void cGrammar_goil_5F_cpu_5F_level_5F_include::nt_boolean_indexing (C_Lexique_goil_5F_lexique * inLexique) { - rule_goil_5F_syntax_boolean_i8_indexing(inLexique) ; -} +//--- 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 (';'), +} ; -void cGrammar_goil_5F_cpu_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) ; -} +//--- 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 (';'), +} ; -//---------------------------------------------------------------------------------------------------------------------* -// -// 'oil_declaration_list' non terminal implementation -// -//---------------------------------------------------------------------------------------------------------------------* +//--- 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 (';'), +} ; -void cGrammar_goil_5F_cpu_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) ; -} +//--- Unicode string for '$'$' +static const std::initializer_list kUnicodeString_arxml_5F_scanner__27_ = { + TO_UNICODE ('\''), +} ; -void cGrammar_goil_5F_cpu_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) ; -} +//--- Unicode string for '$-->$' +static const std::initializer_list kUnicodeString_arxml_5F_scanner__2D__2D__3E_ = { + TO_UNICODE ('-'), + TO_UNICODE ('-'), + TO_UNICODE ('>'), +} ; -void cGrammar_goil_5F_cpu_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) ; -} +//--- Unicode string for '$/>$' +static const std::initializer_list kUnicodeString_arxml_5F_scanner__2F__3E_ = { + TO_UNICODE ('/'), + TO_UNICODE ('>'), +} ; -//---------------------------------------------------------------------------------------------------------------------* -// -// 'oil_declaration' non terminal implementation -// -//---------------------------------------------------------------------------------------------------------------------* +//--- Unicode string for '$;$' +static const std::initializer_list kUnicodeString_arxml_5F_scanner__3B_ = { + TO_UNICODE (';'), +} ; -void cGrammar_goil_5F_cpu_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) ; -} +//--- Unicode string for '$<$' +static const std::initializer_list kUnicodeString_arxml_5F_scanner__3C_ = { + TO_UNICODE ('<'), +} ; -void cGrammar_goil_5F_cpu_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) ; -} +//--- Unicode string for '$$' +static const std::initializer_list kUnicodeString_arxmlmetaparser_5F_scanner__2D__2D__3E_ = { + TO_UNICODE ('-'), + TO_UNICODE ('-'), + TO_UNICODE ('>'), +} ; -void GALGAS_arxmlElementValueMap::setter_insertKey (GALGAS_lstring inKey, - GALGAS_arxmlElementValueList inArgument0, - C_Compiler * inCompiler - COMMA_LOCATION_ARGS) { - cMapElement_arxmlElementValueMap * p = nullptr ; - macroMyNew (p, cMapElement_arxmlElementValueMap (inKey, inArgument0 COMMA_HERE)) ; - capCollectionElement attributes ; - attributes.setPointer (p) ; - macroDetachSharedObject (p) ; - const char * kInsertErrorMessage = "the '%K' element has been already declared" ; - const char * kShadowErrorMessage = "" ; - performInsert (attributes, inCompiler, kInsertErrorMessage, kShadowErrorMessage COMMA_THERE) ; -} +//--- Unicode string for '$/>$' +static const std::initializer_list kUnicodeString_arxmlmetaparser_5F_scanner__2F__3E_ = { + TO_UNICODE ('/'), + TO_UNICODE ('>'), +} ; -//---------------------------------------------------------------------------------------------------------------------- +//--- Unicode string for '$;$' +static const std::initializer_list kUnicodeString_arxmlmetaparser_5F_scanner__3B_ = { + TO_UNICODE (';'), +} ; -const char * kSearchErrorMessage_arxmlElementValueMap_searchKey = "the '%K' element is not declared" ; +//--- Unicode string for '$<$' +static const std::initializer_list kUnicodeString_arxmlmetaparser_5F_scanner__3C_ = { + TO_UNICODE ('<'), +} ; -//---------------------------------------------------------------------------------------------------------------------- +//--- Unicode string for '$