diff --git a/NameManager.mpl b/NameManager.mpl index 0fdb5c6..b7e087e 100644 --- a/NameManager.mpl +++ b/NameManager.mpl @@ -34,7 +34,7 @@ NameManager: [{ current: nameId @names.at; item.file isNil [current.overloadCount 1 + @current.!overloadCount] when item.isLocal [current.localCount 1 + @current.!localCount] when - @item @current.@items.pushBack + @item @current.@items.append ]; findItem: [ diff --git a/Var.mpl b/Var.mpl index 56153d3..f2ac421 100644 --- a/Var.mpl +++ b/Var.mpl @@ -547,7 +547,7 @@ makeStringId: [ ] [ result: processor.nameBuffer.size; string makeStringView result @processor.@nameTable.insert - @string @processor.@nameBuffer.pushBack + @string @processor.@nameBuffer.append result ] if ]; @@ -556,7 +556,7 @@ makeDefaultVarId: [ varId: processor: ;; [varId processor.defaultVarNames.getSize < ~] [ - -1 @processor.@defaultVarNames.pushBack + -1 @processor.@defaultVarNames.append ] while result: varId @processor.@defaultVarNames.at; diff --git a/astOptimizers.mpl b/astOptimizers.mpl index 698526c..0965f47 100644 --- a/astOptimizers.mpl +++ b/astOptimizers.mpl @@ -26,11 +26,11 @@ optimizeLabels: [ current:; current.data.getTag AstNodeType.Label = [ AstNodeType.Label current.data.get.children @parserResult.@memory.at.@nodes [ - @newIndexArray.@nodes.pushBack + @newIndexArray.@nodes.append ] each ] when - @current @newIndexArray.@nodes.pushBack + @current @newIndexArray.@nodes.append ] each @newIndexArray @currentIndexArray set @@ -97,8 +97,8 @@ concatParserResult: [ ] if ] each - @currentArray @mresult.@memory.pushBack + @currentArray @mresult.@memory.append ] each - current.root @mresult.@roots.pushBack + current.root @mresult.@roots.append ]; diff --git a/builtinImpl.mpl b/builtinImpl.mpl index 0ca8231..c7f146d 100644 --- a/builtinImpl.mpl +++ b/builtinImpl.mpl @@ -209,7 +209,7 @@ mplNumberBuiltinOp: [ arg @processor @block createDerefToRegister @irarg.@irNameId set arg @processor getMplSchema.irTypeId @irarg.@irTypeId set FALSE @irarg.@byRef set - irarg @args.pushBack + irarg @args.append result args String @opName FALSE dynamic @processor @block createCallIR retName:; @@ -334,7 +334,7 @@ parseFieldToSignatureCaptureArray: [ VarStruct varStruct.data.get.get.fields [ refToVar: .refToVar; refToVar isVirtual ["input cannot be virtual" @processor block compilerError] when - refToVar @result.pushBack + refToVar @result.append ] each ] when @@ -404,9 +404,9 @@ parseSignature: [ #todo: detect temporality returnVar: return getVar; returnVar.temporary [ - return @result.@outputs.pushBack + return @result.@outputs.append ] [ - @return TRUE dynamic @processor @block createRef @result.@outputs.pushBack + @return TRUE dynamic @processor @block createRef @result.@outputs.append ] if ] if ] when @@ -633,10 +633,10 @@ staticityOfBinResult: [ FALSE @irarg.@byRef set arg1 @processor @block createDerefToRegister @irarg.@irNameId set arg1 @processor getMplSchema.irTypeId @irarg.@irTypeId set - irarg @args.pushBack + irarg @args.append arg2 @processor @block createDerefToRegister @irarg.@irNameId set arg2 @processor getMplSchema.irTypeId @irarg.@irTypeId set - irarg @args.pushBack + irarg @args.append result args String tag VarReal32 = ["@llvm.pow.f32" makeStringView] ["@llvm.pow.f64" makeStringView] if FALSE dynamic @processor @block createCallIR retName:; @@ -736,7 +736,7 @@ staticityOfBinResult: [ field: Field; processor.specialNames.emptyNameInfo @field.@nameInfo set element @field.@refToVar set - field @struct.@fields.pushBack + field @struct.@fields.append i 1 + @i set TRUE ] && ] loop @@ -763,7 +763,7 @@ staticityOfBinResult: [ ] && ] loop - result @block.@candidatesToDie.pushBack + result @block.@candidatesToDie.append result @block push ] when ] when @@ -1129,22 +1129,22 @@ staticityOfBinResult: [ field: Field; varPrev @field.@refToVar set "prev" makeStringView @processor findNameInfo @field.@nameInfo set - @field @struct.@fields.pushBack + @field @struct.@fields.append field: Field; varName @field.@refToVar set "name" makeStringView @processor findNameInfo @field.@nameInfo set - @field @struct.@fields.pushBack + @field @struct.@fields.append field: Field; varLine @field.@refToVar set "line" makeStringView @processor findNameInfo @field.@nameInfo set - @field @struct.@fields.pushBack + @field @struct.@fields.append field: Field; varColumn @field.@refToVar set "column" makeStringView @processor findNameInfo @field.@nameInfo set - @field @struct.@fields.pushBack + @field @struct.@fields.append @struct owner VarStruct @processor @block createVariable @processor.@varForCallTrace set @@ -1477,7 +1477,7 @@ staticityOfBinResult: [ @result @processor @block createAllocIR @processor @block callInit result isAutoStruct [ - result @block.@candidatesToDie.pushBack + result @block.@candidatesToDie.append ] when ] when @@ -1666,7 +1666,7 @@ staticityOfBinResult: [ field: Field; processor.specialNames.emptyNameInfo @field.@nameInfo set @element TRUE dynamic @processor @block createRef @field.@refToVar set - field @struct.@fields.pushBack + field @struct.@fields.append ] each result: @struct owner VarStruct @processor @block createVariable; @@ -1796,8 +1796,8 @@ tryFindInPath: [ errorInfo: processor.files.getSize fullFileName makeStringView loadStringResult.data makeStringView @processor.@multiParserResult @processor.@nameManager addToProcess; errorInfo "" = [ fileId: FALSE fullFileName makeStringView @processor addFileNameToProcessor; - fullFileName @processor.@options.@fileNames.pushBack - fileId @processor.@unfinishedFiles.pushBack + fullFileName @processor.@options.@fileNames.append + fileId @processor.@unfinishedFiles.append @fullFileName @result.@fullFileName set FindInPathResult.UNCOMPILED_FILE @result.!success ] [ @@ -1854,7 +1854,7 @@ tryFindInPath: [ message: ("module not found: " fileName) assembleString; message @processor block compilerError oldSuccess [ - @processor.@result.@errorInfo @processor.@result.@globalErrorInfo.pushBack + @processor.@result.@errorInfo @processor.@result.@globalErrorInfo.append -1 @processor.@result clearProcessorResult ] when ] @@ -1894,7 +1894,7 @@ tryFindInPath: [ gnr: label.nameInfo index @processor @block file getNameWithOverloadIndex; cnr: gnr depth @processor @block file captureName; - {refToVar: cnr.refToVar new; nameInfo: label.nameInfo new; } @addNameData.pushBack + {refToVar: cnr.refToVar new; nameInfo: label.nameInfo new; } @addNameData.append labelCount 1 + !labelCount ] when @@ -1965,7 +1965,7 @@ tryFindInPath: [ message @processor block compilerError oldSuccess [ - @processor.@result.@errorInfo @processor.@result.@globalErrorInfo.pushBack + @processor.@result.@errorInfo @processor.@result.@globalErrorInfo.append -1 @processor.@result clearProcessorResult ] when ] when diff --git a/codeNode.mpl b/codeNode.mpl index 42db7d1..fe2771d 100644 --- a/codeNode.mpl +++ b/codeNode.mpl @@ -69,10 +69,10 @@ addNameInfo: [ forOverload @nameWithOverload.@hasOverloadWord set addNameCase NameCaseLocal = [ - nameWithOverload @block.@labelNames.pushBack + nameWithOverload @block.@labelNames.append ] [ addNameCase NameCaseFromModule = [ - nameWithOverload @block.@fromModuleNames.pushBack + nameWithOverload @block.@fromModuleNames.append ] [ addNameCase NameCaseCapture = [addNameCase NameCaseSelfObjectCapture =] || [addNameCase NameCaseClosureObjectCapture =] || [ FALSE @addInfo set @@ -200,7 +200,7 @@ createVariableWithVirtual: [ 4096 @processor.@variables.last.setReserve ] when - @v @processor.@variables.last.pushBack + @v @processor.@variables.last.append # now forget about v result: RefToVar; @@ -241,7 +241,7 @@ createRefVariable: [ branch.refToVar getVar.storageStaticity Dynamic = [ @result Dynamic @processor @block makeStaticity drop createDependent [ - (result new branch.refToVar new TRUE) @block.@dependentPointers.pushBack + (result new branch.refToVar new TRUE) @block.@dependentPointers.append ] when ] when @@ -299,7 +299,7 @@ updateInputCount: [ } () {} [ entry: block:;; - entry @block.@stack.pushBack + entry @block.@stack.append -1 @block updateInputCount ] "push" exportFunction @@ -309,7 +309,7 @@ updateInputCount: [ } () {} [ entry: block:;; - entry @block.@stack.pushBack + entry @block.@stack.append ] "pushForMatching" exportFunction setTopologyIndex: [ @@ -373,7 +373,7 @@ getPointeeWith: [ @result @processor block unglobalize result.var @pointee.setVar result.mutable @pointee.setMutable - (refToVar new pointee new TRUE) @block.@dependentPointers.pushBack + (refToVar new pointee new TRUE) @block.@dependentPointers.append TRUE @needReallyDeref set ] [ @@ -520,7 +520,7 @@ getFieldWith: [ @newEvent @processor @block addShadowEvent ] [ structIsDynamicStoraged [ - (refToVar new fieldRefToVar new FALSE) @block.@dependentPointers.pushBack + (refToVar new fieldRefToVar new FALSE) @block.@dependentPointers.append ] when ] if ] when @@ -543,7 +543,7 @@ captureEntireStruct: [ refToVar:; unprocessed: RefToVar Array; - refToVar @unprocessed.pushBack + refToVar @unprocessed.append i: 0 dynamic; [ @@ -555,7 +555,7 @@ captureEntireStruct: [ f: 0 dynamic; [ f branch.fields.size < [ - f @current @processor @block getField @unprocessed.pushBack + f @current @processor @block getField @unprocessed.append f 1 + @f set TRUE ] && ] loop @@ -665,8 +665,8 @@ makeVirtualVarReal: [ result isVirtualType ~ [ Static makeValuePair @result getVar.@staticity set - refToVar @unfinishedSrc.pushBack - result @unfinishedDst.pushBack + refToVar @unfinishedSrc.append + result @unfinishedDst.append # first pass: make new variable type [ @@ -689,9 +689,9 @@ makeVirtualVarReal: [ j struct.fields.size < [ srcField: j struct.fields.at; srcField.refToVar isVirtual ~ [ - srcField.refToVar @unfinishedSrc.pushBack + srcField.refToVar @unfinishedSrc.append dstField: j @lastDst @processor @block getField; - dstField @unfinishedDst.pushBack + dstField @unfinishedDst.append @dstField @processor block unglobalize ] [ dstField: j @lastDst @processor @block getField; @@ -710,8 +710,8 @@ makeVirtualVarReal: [ # second pass: create IR code for variable @result @processor block makeVariableType - refToVar @unfinishedSrc.pushBack - @result @processor @block createAllocIR @unfinishedDst.pushBack + refToVar @unfinishedSrc.append + @result @processor @block createAllocIR @unfinishedDst.append [ unfinishedSrc.size 0 > [ @@ -728,9 +728,9 @@ makeVirtualVarReal: [ j struct.fields.size < [ srcField: j struct.fields.at; srcField.refToVar isVirtual ~ [ - srcField.refToVar @unfinishedSrc.pushBack + srcField.refToVar @unfinishedSrc.append dstField: j @lastDst @processor @block getField; - dstField @unfinishedDst.pushBack + dstField @unfinishedDst.append @dstField @processor block unglobalize @dstField j lastDst @processor @block createCheckedStaticGEP ] when @@ -772,7 +772,7 @@ makeVarSchema: [ makeVarVirtual: [ refToVar:; unfinished: RefToVar Array; - refToVar @unfinished.pushBack + refToVar @unfinished.append [ unfinished.size 0 > [ cur: @unfinished.last new; @@ -788,7 +788,7 @@ makeVarVirtual: [ j struct.fields.size < [processor compilable] && [ curField: j struct.fields.at; curField.refToVar isVirtual ~ [ - curField.refToVar @unfinished.pushBack + curField.refToVar @unfinished.append ] when j 1 + @j set TRUE ] && @@ -826,7 +826,7 @@ makeVarVirtual: [ makeVarTreeDirty: [ refToVar: processor: block:;;; unfinishedVars: RefToVar Array; - refToVar @unfinishedVars.pushBack + refToVar @unfinishedVars.append [ unfinishedVars.size 0 > [ @@ -845,7 +845,7 @@ makeVarTreeDirty: [ [ j struct.fields.size < [ j struct.fields.at.refToVar isVirtual ~ [ - j @lastRefToVar @processor @block getField @unfinishedVars.pushBack + j @lastRefToVar @processor @block getField @unfinishedVars.append ] when j 1 + @j set TRUE ] && @@ -854,7 +854,7 @@ makeVarTreeDirty: [ var.data.getTag VarRef = [ lastRefToVar staticityOfVar Static = [ pointee: @lastRefToVar @processor @block getPointeeWhileDynamize; - pointee @unfinishedVars.pushBack + pointee @unfinishedVars.append ] [ [lastRefToVar staticityOfVar Dynamic > ~] "Ref must be only Static or Dynamic!" assert ] if @@ -903,7 +903,7 @@ makeVarDirty: [processor: block: ;; Dirty @processor @block makeVarDynamicOr makeVarTreeDynamicWith: [ refToVar: dynamicStoraged: processor: block: ;;;; unfinishedVars: RefToVar Array; - refToVar @unfinishedVars.pushBack + refToVar @unfinishedVars.append [ unfinishedVars.size 0 > [ @@ -919,7 +919,7 @@ makeVarTreeDynamicWith: [ [ j struct.fields.size < [ j struct.fields.at.refToVar isVirtual ~ [ - dynamicStoraged j @lastRefToVar @processor @block getFieldWith @unfinishedVars.pushBack + dynamicStoraged j @lastRefToVar @processor @block getFieldWith @unfinishedVars.append ] when j 1 + @j set TRUE ] && @@ -1030,10 +1030,10 @@ createNamedVariable: [ block.parent 0 = [ fr: nameInfo @block.@globalVariableNames.find; fr.success [ - newRefToVar @fr.@value.pushBack + newRefToVar @fr.@value.append ] [ newEntry: RefToVar Array; - newRefToVar @newEntry.pushBack + newRefToVar @newEntry.append nameInfo @newEntry @block.@globalVariableNames.insert ] if ] when @@ -1064,7 +1064,7 @@ createNamedVariable: [ nameInfo @newField.@nameInfo set newRefToVar @newField.@refToVar set - newField @block.@struct.@fields.pushBack + newField @block.@struct.@fields.append ] when nameInfo @newRefToVar getVar.@mplNameId set @@ -1122,7 +1122,7 @@ processListNode: [ message toString @processor.@result.@errorInfo.@message set processor.positions.getSize [ currentPosition: processor.positions.getSize 1 - i - processor.positions.at; - currentPosition @processor.@result.@errorInfo.@position.pushBack + currentPosition @processor.@result.@errorInfo.@position.append ] times ] when ] when @@ -1147,7 +1147,7 @@ findPossibleModules: [ ] each labelCount 0 > [ - pair.key @result.pushBack + pair.key @result.append ] when ] each @@ -1275,8 +1275,8 @@ addStableName: [ nameInfo processor.captureTable.stableNames.getSize < ~ [nameInfo 1 + @processor.@captureTable.@stableNames.resize] when current: nameInfo @processor.@captureTable.@stableNames.at; current.getSize 0 = [current.last block.id = ~] || [ - block.id @current.pushBack - nameInfo @block.@stableNames.pushBack + block.id @current.append + nameInfo @block.@stableNames.append newEvent: ShadowEvent; ShadowReasonCapture @newEvent.setTag @@ -1296,13 +1296,13 @@ addToPossibleUnstables: [ nameInfo: processor: block: ;;; nameInfo processor.possibleUnstables.getSize < ~ [nameInfo 1 + @processor.@possibleUnstables.resize] when - block.id nameInfo @processor.@possibleUnstables.at.pushBack + block.id nameInfo @processor.@possibleUnstables.at.append ]; captureFileToBlock: [ fileId: block: ;; [fileId block.capturedFiles.getSize < ~] [ - FALSE @block.@capturedFiles.pushBack + FALSE @block.@capturedFiles.append ] while TRUE fileId @block.@capturedFiles.at set @@ -1371,9 +1371,9 @@ captureName: [ branch: ShadowReasonCapture @newEvent.get; newCapture @branch set - newCapture @block.@buildingMatchingInfo.@captures.pushBack + newCapture @block.@buildingMatchingInfo.@captures.append block.state NodeStateNew = [ - newCapture @block.@matchingInfo.@captures.pushBack + newCapture @block.@matchingInfo.@captures.append ] when @block @shadow setTopologyIndex @@ -1833,7 +1833,7 @@ checkVarForGlobalsFromAnotherFile: [ headVar.capturedTail @resultVar.@capturedPrev set # newTail->oldTail result @headVar.@capturedTail set # head->newTail head @resultVar.@capturedHead set # newTail->head - result @block.@capturedVars.pushBack # remember + result @block.@capturedVars.append # remember ]; dynamicStoraged [ @@ -1951,8 +1951,8 @@ checkVarForGlobalsFromAnotherFile: [ uncopiedSrc: RefToVar Array; uncopiedDst: RefToVar AsRef Array; - refToVar @uncopiedSrc.pushBack - @result AsRef @uncopiedDst.pushBack + refToVar @uncopiedSrc.append + @result AsRef @uncopiedDst.append i: 0 dynamic; [ @@ -1974,12 +1974,12 @@ checkVarForGlobalsFromAnotherFile: [ [ f branchSrc.fields.size < [ fromChild fromType or [ - f branchSrc.fields.at.refToVar @uncopiedSrc.pushBack + f branchSrc.fields.at.refToVar @uncopiedSrc.append ] [ - f @currentSrc @processor @block getField @uncopiedSrc.pushBack + f @currentSrc @processor @block getField @uncopiedSrc.append ] if - f @branchDst.@fields.at.@refToVar AsRef @uncopiedDst.pushBack + f @branchDst.@fields.at.@refToVar AsRef @uncopiedDst.append f 1 + @f set TRUE ] && @@ -2005,8 +2005,8 @@ checkVarForGlobalsFromAnotherFile: [ uncopiedSrc: RefToVar Array; uncopiedDst: RefToVar AsRef Array; - refSrc @uncopiedSrc.pushBack - @refDst AsRef @uncopiedDst.pushBack + refSrc @uncopiedSrc.append + @refDst AsRef @uncopiedDst.append i: 0 dynamic; [ @@ -2026,8 +2026,8 @@ checkVarForGlobalsFromAnotherFile: [ fieldSrc: f @currentSrc @processor @block getField; fieldDst: f @currentDst @processor @block getField; - fieldSrc @uncopiedSrc.pushBack - @fieldDst AsRef @uncopiedDst.pushBack + fieldSrc @uncopiedSrc.append + @fieldDst AsRef @uncopiedDst.append f 1 + @f set TRUE ] && @@ -2099,9 +2099,9 @@ checkVarForGlobalsFromAnotherFile: [ @newEvent @processor @block addShadowEvent #add input - newInput @block.@buildingMatchingInfo.@inputs.pushBack + newInput @block.@buildingMatchingInfo.@inputs.append block.state NodeStateNew = [ - newInput @block.@matchingInfo.@inputs.pushBack + newInput @block.@matchingInfo.@inputs.append ] when forMatching ~ [result getVar.data.getTag VarInvalid = ~] && [ @@ -2304,7 +2304,7 @@ processReal64Node: [makeVarReal64 @block push]; addBlock: [ processor:; - Block owner @processor.@blocks.pushBack + Block owner @processor.@blocks.append processor.blocks.getSize 1 - @processor.@blocks.last.get.!id ]; @@ -2491,7 +2491,7 @@ argRecommendedToCopy: [ ] when TRUE dynamic @refToVar.setMutable - refToVar @uninited.pushBack + refToVar @uninited.append i: 0 dynamic; [ i uninited.size < [ @@ -2503,7 +2503,7 @@ argRecommendedToCopy: [ f 0 > [ f 1 - @f set TRUE f struct.fields.at.refToVar isAutoStruct [ - f @current @processor @block processStaticAt @uninited.pushBack + f @current @processor @block processStaticAt @uninited.append ] when ] && ] loop @@ -2562,8 +2562,8 @@ argRecommendedToCopy: [ unfinishedSrc: RefToVar Array; unfinishedDst: RefToVar Array; - refToSrc @unfinishedSrc.pushBack - refToDst @unfinishedDst.pushBack + refToSrc @unfinishedSrc.append + refToDst @unfinishedDst.append [ unfinishedSrc.size 0 > [ curSrc: @unfinishedSrc.last new; @@ -2607,8 +2607,8 @@ argRecommendedToCopy: [ [ f structSrc.fields.size < [ srcField: f @curSrc @processor @block processStaticAt; - srcField @unfinishedSrc.pushBack - f @curDst @processor @block processStaticAt @unfinishedDst.pushBack + srcField @unfinishedSrc.append + f @curDst @processor @block processStaticAt @unfinishedDst.append f 1 + @f set TRUE ] && ] loop @@ -2634,7 +2634,7 @@ argRecommendedToCopy: [ unkilled: @processor.acquireVarRefArray; @refToVar fullUntemporize TRUE dynamic @refToVar.setMutable - refToVar @unkilled.pushBack + refToVar @unkilled.append [ unkilled.size 0 > [ @@ -2663,7 +2663,7 @@ argRecommendedToCopy: [ [ f struct.fields.size < [ f struct.fields.at.refToVar isAutoStruct [ - f @last @processor @block processStaticAt @unkilled.pushBack + f @last @processor @block processStaticAt @unkilled.append ] when f 1 + @f set TRUE ] && @@ -2802,7 +2802,7 @@ finalizeListNode: [ @curRef makeVarPtrCaptured ] if - newField @struct.@fields.pushBack + newField @struct.@fields.append i 1 + @i set processor compilable ] if ] && @@ -2837,7 +2837,7 @@ finalizeListNode: [ ] loop block.stack.size validOutputCount - @block.@stack.shrink - refToStruct @block.@stack.pushBack + refToStruct @block.@stack.append ] when ]; @@ -2879,7 +2879,7 @@ finalizeObjectNode: [ ] loop ] when - refToStruct @block.@stack.pushBack + refToStruct @block.@stack.append ]; unregCodeNodeNames: [ @@ -2979,13 +2979,13 @@ addMatchingNode: [ matchingNode: astArrayIndex @processor.@matchingNodes.at.get; matchingNode.treeMemory.getSize 0 = [ - MatchingNodeEntry @matchingNode.@treeMemory.pushBack + MatchingNodeEntry @matchingNode.@treeMemory.append ] when matchingNode.count 1 + @matchingNode.@count set 0 @block.@matchingChindIndex set - block.id 0 @matchingNode.@treeMemory.at.@nodeIndexes.pushBack + block.id 0 @matchingNode.@treeMemory.at.@nodeIndexes.append ]; createGlobalAliases: [ @@ -3466,7 +3466,7 @@ makeCompilerPosition: [ [ i block.candidatesToDie.size < [ current: i @block.@candidatesToDie.at; - current @processor.@globalDestructibleVars.pushBack + current @processor.@globalDestructibleVars.append i 1 + @i set TRUE ] && ] loop @@ -3490,7 +3490,7 @@ makeCompilerPosition: [ ] loop retInstruction: retInstructionIndex @block.@program.at new; - @retInstruction @block.@program.pushBack + @retInstruction @block.@program.append FALSE retInstructionIndex @block.@program.at.@enabled set ] if ]; @@ -3673,7 +3673,7 @@ makeCompilerPosition: [ output @newArg.@refToVar set ] if - newArg @block.@outputs.pushBack + newArg @block.@outputs.append i 1 + @i set processor compilable ] && ] loop @@ -3918,9 +3918,9 @@ makeCompilerPosition: [ block.parent 0 = [ [block.nodeCase NodeCaseCode = [block.nodeCase NodeCaseDtor =] ||] "Root node bust be simple code node or dtor node!" assert block.nodeCase NodeCaseCode = [ - block.id @processor.@moduleFunctions.pushBack + block.id @processor.@moduleFunctions.append ] [ - block.id @processor.@dtorFunctions.pushBack + block.id @processor.@dtorFunctions.append ] if ] when @@ -4172,7 +4172,7 @@ addIndexArrayToProcess: [ compilerPositionInfo.file @codeNode.@file.set compilerPositionInfo @codeNode.@beginPosition set - compilerPositionInfo @processor.@positions.pushBack + compilerPositionInfo @processor.@positions.append processor.depthOfRecursion 1 + @processor.@depthOfRecursion set processor.depthOfRecursion processor.maxDepthOfRecursion > [ diff --git a/debugWriter.mpl b/debugWriter.mpl index b5f6475..c3f99bd 100644 --- a/debugWriter.mpl +++ b/debugWriter.mpl @@ -18,7 +18,7 @@ "pathUtils" use addDebugString: [ - @processor.@debugInfo.@strings.pushBack + @processor.@debugInfo.@strings.append ]; addDebugProlog: [ @@ -200,7 +200,7 @@ getTypeDebugDeclaration: [ field: f struct.fields.at; field.refToVar isVirtual ~ [ memberInfo: @offset field f @processor block addMemberInfo; - memberInfo @members.pushBack + memberInfo @members.append ] when f 1 + @f set TRUE ] && @@ -280,7 +280,7 @@ getDebugType: [ splitted.success [ splitted.chars.getSize 1024 > [ 1024 @splitted.@chars.shrink - "..." makeStringView @splitted.@chars.pushBack + "..." makeStringView @splitted.@chars.append ] when ] [ ("Wrong dbgType name encoding" splitted.chars assembleString) assembleString @processor block compilerError @@ -336,7 +336,7 @@ addGlobalVariableDebugInfo: [ ", line: " processor.positions.last.line ", type: !" debugDeclarationIndex ", isLocal: false, isDefinition: true)") assembleString addDebugString result: index 1 -; - result @processor.@debugInfo.@globals.pushBack + result @processor.@debugInfo.@globals.append result ] [ -1 @@ -468,7 +468,7 @@ addLexicalBlockLocation: [ index: processor.debugInfo.lastId new; processor.debugInfo.lastId 1 + @processor.@debugInfo.@lastId set - ("!" index " = !DILexicalBlockFile(scope: !" funcDbgIndex ", file: !" fileDbgIndex ", discriminator: 0)") assembleString @processor.@debugInfo.@strings.pushBack + ("!" index " = !DILexicalBlockFile(scope: !" funcDbgIndex ", file: !" fileDbgIndex ", discriminator: 0)") assembleString @processor.@debugInfo.@strings.append index funcDbgIndex @processor.@debugInfo.@locationIds.insert index ]; diff --git a/defaultImpl.mpl b/defaultImpl.mpl index 525c30c..2f99d0d 100644 --- a/defaultImpl.mpl +++ b/defaultImpl.mpl @@ -395,7 +395,7 @@ addBlockIdTo: [ ] loop result [ - NameInfoCoord @line.pushBack + NameInfoCoord @line.append block @line.last.@block.set file @line.last.@file.set @@ -403,7 +403,7 @@ addBlockIdTo: [ nameInfo @nameWithOverload.@nameInfo set nameOverloadDepth @nameWithOverload.@nameOverloadDepth set #other fields does not matter - nameWithOverload @block.@captureNames.pushBack + nameWithOverload @block.@captureNames.append ] when result @@ -758,10 +758,10 @@ addShadowEvent: [ block.astArrayIndex 0 < ~ [ #begin of var go to matching - event @block.@buildingMatchingInfo.@shadowEvents.pushBack + event @block.@buildingMatchingInfo.@shadowEvents.append block.state NodeStateNew = [ - event @block.@matchingInfo.@shadowEvents.pushBack + event @block.@matchingInfo.@shadowEvents.append ] when block.recursionState NodeRecursionStateNew = [ @@ -775,12 +775,12 @@ addShadowEvent: [ eventHash @matchingNodePair.@eventHash set result @matchingNodePair.@childIndex set - @matchingNodePair @machingMemoryNode.@childIndices.pushBack + @matchingNodePair @machingMemoryNode.@childIndices.append newMatchingNodeEntry: MatchingNodeEntry; event @newMatchingNodeEntry.@parentEvent set currentEntryIndex @newMatchingNodeEntry.@parentIndex set - @newMatchingNodeEntry @matchingNode.@treeMemory.pushBack + @newMatchingNodeEntry @matchingNode.@treeMemory.append result ]; @@ -879,7 +879,7 @@ addShadowEvent: [ @processor @block FALSE deleteMatchingNode currentEntryIndex @block.@matchingChindIndex set currentMemory: currentEntryIndex @matchingNode.@treeMemory.at; - block.id @currentMemory.@nodeIndexes.pushBack + block.id @currentMemory.@nodeIndexes.append ] if ] when ]; diff --git a/irWriter.mpl b/irWriter.mpl index b93356a..502a4df 100644 --- a/irWriter.mpl +++ b/irWriter.mpl @@ -23,7 +23,7 @@ appendInstruction: [ list: block:;; offset: block.programTemplate.size; list @block.@programTemplate.catMany - block.programTemplate.size offset - offset makeInstruction @block.@program.pushBack + block.programTemplate.size offset - offset makeInstruction @block.@program.append ]; getMplSchema: [refToVar: processor: ;; refToVar getVar.mplSchemaId @processor.@schemaBuffer.at]; @@ -38,8 +38,8 @@ getStaticStructIR: [ result: String; unfinishedVars: RefToVar Array; unfinishedTerminators: StringView Array; - refToVar @unfinishedVars.pushBack - ", " makeStringView @unfinishedTerminators.pushBack + refToVar @unfinishedVars.append + ", " makeStringView @unfinishedTerminators.append [ unfinishedVars.getSize 0 > [ current: unfinishedVars.last new; @@ -66,12 +66,12 @@ getStaticStructIR: [ struct.fields.getSize [ current: struct.fields.getSize 1 - i - struct.fields.at.refToVar; current isVirtual ~ [ - current @unfinishedVars.pushBack + current @unfinishedVars.append first [ - struct.homogeneous ["]" makeStringView] ["}" makeStringView] if @unfinishedTerminators.pushBack + struct.homogeneous ["]" makeStringView] ["}" makeStringView] if @unfinishedTerminators.append FALSE dynamic @first set ] [ - ", " makeStringView @unfinishedTerminators.pushBack + ", " makeStringView @unfinishedTerminators.append ] if ] when ] times @@ -133,9 +133,9 @@ createAllocIR: [ [varBlock.file isNil ~] "Topnode in nil file!" assert varBlock.file.usedInParams ~ ] && [ - "; global var from another file" toString @processor.@prolog.pushBack + "; global var from another file" toString @processor.@prolog.append ] [ - (refToVar @processor getIrName " = private local_unnamed_addr global " refToVar @processor getIrType " zeroinitializer") assembleString @processor.@prolog.pushBack + (refToVar @processor getIrName " = private local_unnamed_addr global " refToVar @processor getIrType " zeroinitializer") assembleString @processor.@prolog.append ] if processor.prolog.size 1 - @var.@globalDeclarationInstructionIndex set @@ -158,9 +158,9 @@ createStaticInitIR: [ [varBlock.file isNil ~] "Topnode in nil file!" assert varBlock.file.usedInParams ~ ] && [ - "; global var from another file" toString @processor.@prolog.pushBack + "; global var from another file" toString @processor.@prolog.append ] [ - (refToVar @processor getIrName " = private local_unnamed_addr global " refToVar @processor getStaticStructIR) assembleString @processor.@prolog.pushBack + (refToVar @processor getIrName " = private local_unnamed_addr global " refToVar @processor getStaticStructIR) assembleString @processor.@prolog.append ] if processor.prolog.size 1 - @var.@globalDeclarationInstructionIndex set refToVar new @@ -171,7 +171,7 @@ createVarImportIR: [ var: @refToVar getVar; - (refToVar @processor getIrName " = external global " refToVar @processor getIrType) assembleString @processor.@prolog.pushBack + (refToVar @processor getIrName " = external global " refToVar @processor getIrType) assembleString @processor.@prolog.append processor.prolog.size 1 - @var.@globalDeclarationInstructionIndex set refToVar new @@ -182,7 +182,7 @@ createVarExportIR: [ var: @refToVar getVar; - (refToVar @processor getIrName " = dllexport global " refToVar @processor getIrType " zeroinitializer") assembleString @processor.@prolog.pushBack + (refToVar @processor getIrName " = dllexport global " refToVar @processor getIrType " zeroinitializer") assembleString @processor.@prolog.append processor.prolog.size 1 - @var.@globalDeclarationInstructionIndex set refToVar new @@ -190,7 +190,7 @@ createVarExportIR: [ createGlobalAliasIR: [ alias: aliasee: aliaseeType: processor: ;;;; - (alias @processor getNameById " = alias " aliaseeType @processor getNameById ", " aliaseeType @processor getNameById "* " aliasee @processor getNameById) assembleString @processor.@prolog.pushBack + (alias @processor getNameById " = alias " aliaseeType @processor getNameById ", " aliaseeType @processor getNameById "* " aliasee @processor getNameById) assembleString @processor.@prolog.append ]; createStoreConstant: [ @@ -221,7 +221,7 @@ createStringIR: [ valueImplementation: string getStringImplementation; - (stringName " = private unnamed_addr constant {i32, [" string.size " x i8]} {i32 " string.size ", [" string.size " x i8] c\"" valueImplementation "\"}") assembleString @processor.@prolog.pushBack + (stringName " = private unnamed_addr constant {i32, [" string.size " x i8]} {i32 " string.size ", [" string.size " x i8] c\"" valueImplementation "\"}") assembleString @processor.@prolog.append ]; createGetTextSizeIR: [ @@ -245,7 +245,7 @@ createGetTextSizeIR: [ createTypeDeclaration: [ alias: irType: processor: ;;; - (@alias " = type " @irType) assembleString @processor.@prolog.pushBack + (@alias " = type " @irType) assembleString @processor.@prolog.append ]; createStaticGEP: [ @@ -418,7 +418,7 @@ createCheckedCopyToNewWith: [ prevTmp @dstRef getVar.@temporary set ] if ] if - doDie [dstRef @block.@candidatesToDie.pushBack] when + doDie [dstRef @block.@candidatesToDie.append] when ] [ srcRef isPlain [srcRef staticityOfVar Dynamic >] && [ srcRef dstRef @processor @block createStoreConstant @@ -511,7 +511,7 @@ createCallIR: [ ")" @block.@programTemplate.cat - block.programTemplate.size offset - offset makeInstruction @block.@program.pushBack + block.programTemplate.size offset - offset makeInstruction @block.@program.append @processor @block addDebugLocationForLastInstruction @@ -551,7 +551,7 @@ createComment: [ addStrToProlog: [ what: processor: ;; - what toString @processor.@prolog.pushBack + what toString @processor.@prolog.append ]; createFloatBuiltins: [ @@ -629,7 +629,7 @@ createDtors: [ cur: blockId processor.blocks.at.get; processor.options.partial ~ [cur.file.usedInParams new] || [ id: cur.file.fileId new; - blockId id @dtorByFile.at.pushBack + blockId id @dtorByFile.at.append ] when ] each @@ -661,9 +661,9 @@ addCtorsToBeginFunc: [ previousVersion: @block.@program new; @block.@program.clear - 0 @previousVersion.at @block.@program.pushBack + 0 @previousVersion.at @block.@program.append - block.beginPosition @processor.@positions.pushBack + block.beginPosition @processor.@positions.append processor.moduleFunctions.getSize [ i 0 > [ # skip definitions @@ -682,7 +682,7 @@ addCtorsToBeginFunc: [ previousVersion.getSize [ i 0 > [ current: i @previousVersion.at; - @current @block.@program.pushBack + @current @block.@program.append ] when ] times @@ -700,12 +700,12 @@ addDtorsToEndFunc: [ previousVersion: @block.@program new; @block.@program.clear - block.beginPosition @processor.@positions.pushBack + block.beginPosition @processor.@positions.append previousVersion.getSize [ i block.instructionCountBeforeRet < [ current: i @previousVersion.at; - @current @block.@program.pushBack + @current @block.@program.append ] when ] times @@ -725,7 +725,7 @@ addDtorsToEndFunc: [ previousVersion.getSize block.instructionCountBeforeRet - [ current: i block.instructionCountBeforeRet + @previousVersion.at; - @current @block.@program.pushBack + @current @block.@program.append ] times @processor.@positions.popBack @@ -744,7 +744,7 @@ sortInstructions: [ block.program.getSize [ current: i @block.@program.at; current.fakeAlloca [ - current.irName1 @bannedIds.pushBack + current.irName1 @bannedIds.append FALSE @current.!enabled ] when ] times @@ -759,7 +759,7 @@ sortInstructions: [ current.enabled [ current.irName1 bannedId = [ current.irName2 0 < ~ [ - current.irName2 @bannedIds.pushBack + current.irName2 @bannedIds.append ] when FALSE @current.!enabled @@ -779,35 +779,35 @@ sortInstructions: [ current: i @block.@program.at; i 0 = [current.alloca new] || [ current.fakePointer [ - @current @fakePointersAllocs.pushBack + @current @fakePointersAllocs.append ] [ - @current @allocs.pushBack + @current @allocs.append ] if ] [ current.fakePointer [ - @current @fakePointers.pushBack + @current @fakePointers.append ] [ - @current @noallocs.pushBack + @current @noallocs.append ] if ] if ] times @block.@program.clear - @allocs [@block.@program.pushBack] each - @fakePointersAllocs [@block.@program.pushBack] each - @fakePointers [@block.@program.pushBack] each - @noallocs [@block.@program.pushBack] each + @allocs [@block.@program.append] each + @fakePointersAllocs [@block.@program.append] each + @fakePointers [@block.@program.append] each + @noallocs [@block.@program.append] each ]; addAliasesForUsedNodes: [ processor:; - String @processor.@prolog.pushBack - "; Func aliases" toString @processor.@prolog.pushBack + String @processor.@prolog.append + "; Func aliases" toString @processor.@prolog.append @processor.@blocks [ block0: .get; block0 nodeHasCode [ - @block0.@aliases [@processor.@prolog.pushBack] each + @block0.@aliases [@processor.@prolog.append] each ] when ] each ]; @@ -841,11 +841,11 @@ createCallTraceData: [ tlPrefix: processor.options.threadModel 1 = ["thread_local "] [""] if; - "%type.callTraceInfo = type {%type.callTraceInfo*, i8*, i32, i32}" toString @processor.@prolog.pushBack + "%type.callTraceInfo = type {%type.callTraceInfo*, i8*, i32, i32}" toString @processor.@prolog.append processor.beginFuncIndex 0 < ~ [ - ("@debug.callTracePtr = " tlPrefix "unnamed_addr global %type.callTraceInfo* null") assembleString @processor.@prolog.pushBack + ("@debug.callTracePtr = " tlPrefix "unnamed_addr global %type.callTraceInfo* null") assembleString @processor.@prolog.append ] [ - ("@debug.callTracePtr = external " tlPrefix "unnamed_addr global %type.callTraceInfo*") assembleString @processor.@prolog.pushBack + ("@debug.callTracePtr = external " tlPrefix "unnamed_addr global %type.callTraceInfo*") assembleString @processor.@prolog.append ] if ]; diff --git a/main.mpl b/main.mpl index 2b2d545..36a76ea 100644 --- a/main.mpl +++ b/main.mpl @@ -198,8 +198,8 @@ checkedSaveString: [ multiParserResult: MultiParserResult; nameManager: NameInfoEntry NameManager; - "*builtins" toString @options.@fileNames.pushBack - "*definitions" toString @options.@fileNames.pushBack + "*builtins" toString @options.@fileNames.append + "*definitions" toString @options.@fileNames.append "main" toString @options.@beginFunc set "main" toString @options.@endFunc set @@ -258,7 +258,7 @@ checkedSaveString: [ "Invalid argument: " print option print LF print FALSE @success set ] [ - option simplifyFileName @options.@fileNames.pushBack + option simplifyFileName @options.@fileNames.append ] if ] ) case @@ -268,7 +268,7 @@ checkedSaveString: [ OPT_ANY !nextOption ] OPT_LINKER_OPTION [ - option toString @options.@linkerOptions.pushBack + option toString @options.@linkerOptions.append OPT_ANY !nextOption ] OPT_DEFINITION [ @@ -311,7 +311,7 @@ checkedSaveString: [ OPT_ANY !nextOption ] OPT_INCLUDE_PATH [ - option simplifyFileName @options.@includePaths.pushBack + option simplifyFileName @options.@includePaths.append OPT_ANY !nextOption ] OPT_BEGIN_FUNC [ @@ -333,7 +333,7 @@ checkedSaveString: [ OPT_ANY !nextOption ] OPT_HIDE_PREFIX [ - option simplifyFileName @options.@hidePrefixes.pushBack + option simplifyFileName @options.@hidePrefixes.append OPT_ANY !nextOption ] [] diff --git a/parser.mpl b/parser.mpl index f9cbbc1..933b10d 100644 --- a/parser.mpl +++ b/parser.mpl @@ -42,13 +42,13 @@ addToMainResult: [ astArray:; newIndex: mainResult.memory.size; - @astArray @mainResult.@memory.pushBack + @astArray @mainResult.@memory.append newIndex ]; addToLastUnfinished: [ astNode:; - @astNode @unfinishedNodes.last.@nodes.pushBack + @astNode @unfinishedNodes.last.@nodes.append ]; makeLabelNode: [ @@ -536,7 +536,7 @@ dCheck: [currentCode pc.digits inArray ~ ["wrong number constant" lexicalError] xCheck: [ currentCode pc.digits inArray ~ [ currentCode ascii.xCode = [ - -2 @currentArray.pushBack + -2 @currentArray.append iterate ] [ "wrong number constant" lexicalError @@ -567,7 +567,7 @@ parseDecNumber: [ [ currentCode pc.digits inArray [ - currentCode ascii.zero - 0 cast @currentArray.pushBack + currentCode ascii.zero - 0 cast @currentArray.append iterate TRUE ] [ currentCode ascii.dot = [ @@ -748,7 +748,7 @@ parseHexNumber: [ [ currentCode pc.hexDigits inArray [ - currentCode 0 cast pc.hexToInt.at 0 cast @currentArray.pushBack + currentCode 0 cast pc.hexToInt.at 0 cast @currentArray.append iterate TRUE ] [ currentCode ascii.dot = [ @@ -879,12 +879,12 @@ parseNumber: [ makeLabel: [ name:; - lastPosition @unfinishedPositions.pushBack - ascii.semicolon @unfinishedTerminators.pushBack - name toString @unfinishedLabelNames.pushBack + lastPosition @unfinishedPositions.append + ascii.semicolon @unfinishedTerminators.append + name toString @unfinishedLabelNames.append newAstNodeArray: AstNodeArray; lastPosition @newAstNodeArray.@positionInfo set - @newAstNodeArray @unfinishedNodes.pushBack + @newAstNodeArray @unfinishedNodes.append ]; parseName: [ @@ -917,16 +917,16 @@ parseName: [ currentCode ascii.dot = [ dotState ( DotState.MULTI_DOT [ - currentSymbol @nameSymbols.pushBack + currentSymbol @nameSymbols.append iterate TRUE ] DotState.NOT_A_MEMBER [ - currentSymbol @nameSymbols.pushBack + currentSymbol @nameSymbols.append DotState.MULTI_DOT @dotState set iterate TRUE ] DotState.WAS_FIRST_DOT [ - currentSymbol @nameSymbols.pushBack + currentSymbol @nameSymbols.append DotState.MULTI_DOT @dotState set iterate TRUE ] @@ -936,7 +936,7 @@ parseName: [ ] [ checkFirst checkOffset 1 + @checkOffset set - currentSymbol @nameSymbols.pushBack + currentSymbol @nameSymbols.append DotState.WAS_FIRST_DOT @dotState set iterate TRUE ] if @@ -984,7 +984,7 @@ parseName: [ nameSymbols.getSize 1 > [0 nameSymbols.at "," =] && [ "identifier cannot start from comma" lexicalError ] when - currentSymbol @nameSymbols.pushBack + currentSymbol @nameSymbols.append iterate FALSE @first set TRUE @@ -1072,20 +1072,20 @@ parseComment: [ ]; addNestedNode: [ - currentPosition @unfinishedPositions.pushBack + currentPosition @unfinishedPositions.append newAstNodeArray: AstNodeArray; currentPosition @newAstNodeArray.@positionInfo set - @newAstNodeArray @unfinishedNodes.pushBack + @newAstNodeArray @unfinishedNodes.append currentCode ascii.openRBr = [ - ascii.closeRBr @unfinishedTerminators.pushBack + ascii.closeRBr @unfinishedTerminators.append ] [ currentCode ascii.openFBr = [ - ascii.closeFBr @unfinishedTerminators.pushBack + ascii.closeFBr @unfinishedTerminators.append ] [ currentCode ascii.openSBr = [ - ascii.closeSBr @unfinishedTerminators.pushBack + ascii.closeSBr @unfinishedTerminators.append ] [ "unknown starter for nested node" lexicalError ] if @@ -1219,12 +1219,12 @@ parseNode: [ unfinishedTerminators: Nat32 Array; fileId @currentPosition.@fileId set - currentPosition @unfinishedPositions.pushBack + currentPosition @unfinishedPositions.append newAstNodeArray: AstNodeArray; currentPosition @newAstNodeArray.@positionInfo set - @newAstNodeArray @unfinishedNodes.pushBack + @newAstNodeArray @unfinishedNodes.append - ascii.null @unfinishedTerminators.pushBack + ascii.null @unfinishedTerminators.append iterate parseNode diff --git a/pathUtils.mpl b/pathUtils.mpl index 7956984..5f5ac11 100644 --- a/pathUtils.mpl +++ b/pathUtils.mpl @@ -41,7 +41,7 @@ simplifyPath: [ splittedPath.chars.dataSize 0 > [ position: 0 dynamic; fragments: String Array; - String @fragments.pushBack + String @fragments.append isCurrent: ["." =]; isBack: [".." =]; @@ -62,7 +62,7 @@ simplifyPath: [ @fragments.popBack ] when - String @fragments.pushBack + String @fragments.append ] when ] [ char @lastFragment.cat diff --git a/processSubNodes.mpl b/processSubNodes.mpl index d231ee0..ade79b9 100644 --- a/processSubNodes.mpl +++ b/processSubNodes.mpl @@ -433,7 +433,7 @@ tryMatchNode: [ stackEntry noMatterToCopy ~ [ stackEntry getVar.topologyIndexWhileMatching 0 < [ eventVars.size @stackEntry getVar.@topologyIndexWhileMatching set - stackEntry @eventVars.pushBack + stackEntry @eventVars.append ] when ] when ]; @@ -588,7 +588,7 @@ changeNewNodeState: [ NodeRecursionStateNew @newNode.@recursionState set processor.recursiveNodesStack.getSize 0 = [processor.recursiveNodesStack.last newNodeIndex = ~] || [ - newNodeIndex @processor.@recursiveNodesStack.pushBack + newNodeIndex @processor.@recursiveNodesStack.append ] when NodeStateNoOutput @block.@state set @@ -615,7 +615,7 @@ changeNewExportNodeState: [ NodeRecursionStateNew @newNode.@recursionState set processor.recursiveNodesStack.getSize 0 = [processor.recursiveNodesStack.last newNodeIndex = ~] || [ - newNodeIndex @processor.@recursiveNodesStack.pushBack + newNodeIndex @processor.@recursiveNodesStack.append ] when NodeStateHasOutput @block.@state set @@ -690,7 +690,7 @@ fixOutputRefsRec: [ stackEntry: appliedVars: ;; unfinishedStack: @processor.acquireVarRefArray; - stackEntry @unfinishedStack.pushBack + stackEntry @unfinishedStack.append i: 0 dynamic; [ @@ -724,7 +724,7 @@ fixOutputRefsRec: [ fixedPointer: currentFromStack appliedVars fixRef; fixedPointer staticityOfVar Dynamic > [ fixed: fixedPointer @processor @block getPointeeNoDerefIR; - fixed @unfinishedStack.pushBack + fixed @unfinishedStack.append ] when ] [ sourceVar.topologyIndex 0 < ~ [ @@ -743,7 +743,7 @@ fixOutputRefsRec: [ j stackStruct.fields.size < [ stackEntryVar.storageStaticity Static = [j stackStruct.fields.at.usedHere new] || [ stackField: j currentFromStack @processor @block getField; - stackField @unfinishedStack.pushBack + stackField @unfinishedStack.append ] when j 1 + @j set TRUE @@ -893,7 +893,7 @@ applyNodeChanges: [ stackEntry: @processor @block popForMatching; cacheEntry: branch.refToVar; stackEntry cacheEntry @appliedVars addAppliedVar - stackEntry @pops.pushBack + stackEntry @pops.append ] ShadowReasonCapture [ branch:; @@ -997,7 +997,7 @@ applyNodeChanges: [ outputRef: currentOutput.refToVar @processor @block copyVarFromChild; # output is to inner var outputRef appliedVars fixOutputRefsRec # it is End - outputRef @appliedVars.@fixedOutputs.pushBack + outputRef @appliedVars.@fixedOutputs.append i 1 + @i set processor compilable ] && ] loop @@ -1092,7 +1092,7 @@ applyNamedStackChanges: [ i: 0 dynamic; [ i newNode.matchingInfo.inputs.getSize < [ - @processor @block popForMatching @inputs.pushBack + @processor @block popForMatching @inputs.append i 1 + @i set TRUE ] && ] loop @@ -1103,10 +1103,10 @@ applyNamedStackChanges: [ [ i appliedVars.fixedOutputs.getSize < [ outputRef: i @appliedVars.@fixedOutputs.at; - outputRef @outputs.pushBack + outputRef @outputs.append outputRef getVar.data.getTag VarStruct = [ @outputRef markAsAbleToDie - outputRef @block.@candidatesToDie.pushBack + outputRef @block.@candidatesToDie.append ] when outputRef @block push i 1 + @i set TRUE @@ -1117,7 +1117,7 @@ applyNamedStackChanges: [ inputs @outputs newNode forcedName makeNamedCallInstruction implicitDerefInfo: @processor.@condArray; - newNode.outputs [.argCase isImplicitDeref @implicitDerefInfo.pushBack] each + newNode.outputs [.argCase isImplicitDeref @implicitDerefInfo.append] each implicitDerefInfo appliedVars.fixedOutputs.getSize @block derefNEntries @implicitDerefInfo.clear ] when @@ -1168,7 +1168,7 @@ makeCallInstructionWith: [ currentInput @processor @block createDerefToRegister @arg.@irNameId set ] when - arg @argList.pushBack + arg @argList.append ] if i 1 + @i set TRUE @@ -1197,7 +1197,7 @@ makeCallInstructionWith: [ refToVar @processor getMplSchema.irTypeId @arg.@irTypeId set TRUE @arg.@byRef set - arg @argList.pushBack + arg @argList.append ] if ] if @@ -1235,7 +1235,7 @@ makeCallInstructionWith: [ ] when ] if - arg @argList.pushBack + arg @argList.append ] when ] when @@ -1338,7 +1338,7 @@ useMatchingInfoOnly: [ cacheEntry: branch.refToVar; stackEntry: @processor @block popForMatching; stackEntry cacheEntry addEventVar - stackEntry @pops.pushBack + stackEntry @pops.append ] ShadowReasonCapture [ branch:; @@ -1436,7 +1436,7 @@ useMatchingInfoOnly: [ result: 0 newNode.outputs.at.refToVar @processor @block copyVarFromChild; TRUE @newNode.@deleted set @result @processor @block createStaticInitIR @block push - result @block.@candidatesToDie.pushBack + result @block.@candidatesToDie.append ] [ forcedName: forcedNameString makeStringView dynamic; newNodeIndex forcedName processNamedCallByNode @@ -1672,9 +1672,9 @@ useMatchingInfoOnly: [ unfinishedV2: @processor.acquireVarRefArray; unfinishedD: @processor.acquireVarRefArray; - value1 @unfinishedV1.pushBack - value2 @unfinishedV2.pushBack - refToDst @unfinishedD .pushBack + value1 @unfinishedV1.append + value2 @unfinishedV2.append + refToDst @unfinishedD .append [ unfinishedD.size 0 > [ @@ -1701,9 +1701,9 @@ useMatchingInfoOnly: [ f: 0; [ f structD.fields.size < [ - f structV1.fields.at.refToVar @unfinishedV1.pushBack - f structV2.fields.at.refToVar @unfinishedV2.pushBack - f structD .fields.at.refToVar @unfinishedD .pushBack + f structV1.fields.at.refToVar @unfinishedV1.append + f structV2.fields.at.refToVar @unfinishedV2.append + f structD .fields.at.refToVar @unfinishedD .append f 1 + @f set TRUE ] && ] loop @@ -1788,18 +1788,18 @@ useMatchingInfoOnly: [ outputElse.mutable outputThen.mutable and @newOutput.setMutable outputElse varIsMoved outputThen varIsMoved and @newOutput.setMoved outputThen outputElse newOutput mergeValuesRec - i newNodeThen.outputs.size + longestOutputSize < ~ [newOutput @outputsThen.pushBack] when - i newNodeElse.outputs.size + longestOutputSize < ~ [newOutput @outputsElse.pushBack] when + i newNodeThen.outputs.size + longestOutputSize < ~ [newOutput @outputsThen.append] when + i newNodeElse.outputs.size + longestOutputSize < ~ [newOutput @outputsElse.append] when newOutput isVirtual [ - @newOutput @outputs.pushBack + @newOutput @outputs.append ] [ - @newOutput @processor @block createAllocIR @outputs.pushBack + @newOutput @processor @block createAllocIR @outputs.append ] if ] [ ("branch types mismatch; in 'then' type is " outputThen @processor block getMplType "; in 'else' type is " outputElse @processor block getMplType) assembleString @processor block compilerError ] if - isOutputImplicitDerefThen @implicitDerefInfo.pushBack + isOutputImplicitDerefThen @implicitDerefInfo.append ] [ "branch return cases mismatch" @processor block compilerError ] if @@ -1813,9 +1813,9 @@ useMatchingInfoOnly: [ [ i longestInputSize < [ a: @processor @block pop; - a @inputs.pushBack - i newNodeThen.matchingInfo.inputs.size < [a @inputsThen.pushBack] when - i newNodeElse.matchingInfo.inputs.size < [a @inputsElse.pushBack] when + a @inputs.append + i newNodeThen.matchingInfo.inputs.size < [a @inputsThen.append] when + i newNodeElse.matchingInfo.inputs.size < [a @inputsElse.append] when i 1 + @i set TRUE ] && ] loop @@ -1826,7 +1826,7 @@ useMatchingInfoOnly: [ outputRef: i @outputs.at; outputRef getVar.data.getTag VarStruct = [ @outputRef markAsAbleToDie - outputRef @block.@candidatesToDie.pushBack + outputRef @block.@candidatesToDie.append ] when outputRef @block push @@ -1981,7 +1981,7 @@ processDynamicLoop: [ i: 0 dynamic; [ i newNode.matchingInfo.inputs.size < [ - @processor @block pop @inputs.pushBack + @processor @block pop @inputs.append i 1 + @i set TRUE ] && ] loop @@ -1990,9 +1990,9 @@ processDynamicLoop: [ [ i appliedVars.fixedOutputs.getSize < [ curOutput: i appliedVars.fixedOutputs.at; - curOutput @outputs.pushBack + curOutput @outputs.append curOutput getVar.data.getTag VarStruct = [ - curOutput @block.@candidatesToDie.pushBack + curOutput @block.@candidatesToDie.append ] when i 1 + newNode.outputs.size < [ @@ -2007,7 +2007,7 @@ processDynamicLoop: [ [ i inputs.getSize < [ curNodeInput: i inputs.at @processor @block copyVar; - curNodeInput @nodeInputs.pushBack + curNodeInput @nodeInputs.append curNodeInput isVirtual ~ [ (curNodeInput @processor getIrType "*") assembleString makeStringView # with * @@ -2031,7 +2031,7 @@ processDynamicLoop: [ nodeInputs @outputs newNode makeCallInstruction implicitDerefInfo: @processor.@condArray; - newNode.outputs [.argCase isImplicitDeref @implicitDerefInfo.pushBack] each + newNode.outputs [.argCase isImplicitDeref @implicitDerefInfo.append] each implicitDerefInfo outputs.getSize 1 - @block derefNEntries processor.options.verboseIR ["loop end prepare..." @block createComment] when 1 outputs.last @processor @block createBranch @@ -2298,7 +2298,7 @@ processDynamicLoop: [ ] if oldSuccess processor compilable ~ and processor.depthOfPre 0 = and processor.result.findModuleFail ~ and processor.result.passErrorThroughPRE ~ and [ - @processor.@result.@errorInfo @processor.@result.@globalErrorInfo.pushBack + @processor.@result.@errorInfo @processor.@result.@globalErrorInfo.append oldRecursiveNodesStackSize @processor.@recursiveNodesStack.shrink -1 @processor.@result clearProcessorResult @@ -2323,7 +2323,7 @@ fixSourcesRec: [ refToVar:; unfinished: @processor.acquireVarRefArray; - refToVar @unfinished.pushBack + refToVar @unfinished.append i: 0 dynamic; @@ -2334,7 +2334,7 @@ fixSourcesRec: [ current @currentVar.@sourceOfValue set currentVar.data.getTag VarStruct = [ VarStruct currentVar.data.get.get.fields [ - .refToVar @unfinished.pushBack + .refToVar @unfinished.append ] each ] when i 1 + !i TRUE @@ -2383,7 +2383,7 @@ callImportWith: [ ] when ] [ nodeMutable [stackEntry @processor @block makeVarTreeDirty] when - input @inputs.pushBack + input @inputs.append ] ) sequence i 1 + @i set processor compilable @@ -2401,7 +2401,7 @@ callImportWith: [ varStruct: VarStruct varargs.data.get.get; varStruct.fields.getSize [ field: i @refToVarargs @processor @block processStaticAt; - field @inputs.pushBack + field @inputs.append ] times @refToVarargs @processor @block makeVarRealCaptured @@ -2419,9 +2419,9 @@ callImportWith: [ current @current getVar.@sourceOfValue set Dynamic makeValuePair @current getVar.@staticity set - current @outputs.pushBack + current @outputs.append current getVar.data.getTag VarStruct = [ - current @block.@candidatesToDie.pushBack + current @block.@candidatesToDie.append ] when i 1 + @i set processor compilable @@ -2441,7 +2441,7 @@ callImportWith: [ ] [ implicitDerefInfo: @processor.@condArray; outputs [ - getVar.data.getTag VarRef = @implicitDerefInfo.pushBack + getVar.data.getTag VarRef = @implicitDerefInfo.append ] each implicitDerefInfo outputs.getSize @block derefNEntries diff --git a/processor.mpl b/processor.mpl index 2a62920..9a95755 100644 --- a/processor.mpl +++ b/processor.mpl @@ -223,7 +223,7 @@ Processor: [{ ]; releaseVarRefArray: [ - @varRefArrays.pushBack + @varRefArrays.append @varRefArrays.last.clear ]; diff --git a/processorImpl.mpl b/processorImpl.mpl index 3ca5050..0bb8047 100644 --- a/processorImpl.mpl +++ b/processorImpl.mpl @@ -77,7 +77,7 @@ debugMemory [ newFile.name @processor addFileDebugInfo @newFile.!debugId ] when - @newFile owner @processor.@files.pushBack + @newFile owner @processor.@files.append #here we can implement search in cmd fileId ] "addFileNameToProcessor" exportFunction @@ -180,7 +180,7 @@ debugMemory [ 1 @compilerPositionInfo.@line set 1 @compilerPositionInfo.@column set file @compilerPositionInfo.@file.set - compilerPositionInfo @processor.@positions.pushBack + compilerPositionInfo @processor.@positions.append topNodeIndex: StringView 0 NodeCaseCode astArrayIndex CFunctionSignature @processor astNodeToCodeNode; @processor.@positions.popBack @@ -189,10 +189,10 @@ debugMemory [ ("postpone compilation of \"" file.name "\" because \"" processor.result.errorInfo.missedModule "\" is not compiled yet") addLog fr: processor.result.errorInfo.missedModule makeStringView @dependedFiles.find; fr.success [ - n @fr.@value.pushBack + n @fr.@value.append ] [ a: Int32 Array; - n @a.pushBack + n @a.append @processor.result.@errorInfo.@missedModule @a @dependedFiles.insert ] if @@ -214,7 +214,7 @@ debugMemory [ i fr.value.size < [ numberOfDependent: fr.value.size 1 - i - fr.value.at; (numberOfDependent processor.files.at.get.name " is dependent from it, try to recompile") addLog - numberOfDependent @processor.@unfinishedFiles.pushBack + numberOfDependent @processor.@unfinishedFiles.append i 1 + @i set TRUE ] && ] loop @@ -229,7 +229,7 @@ debugMemory [ n: 0 dynamic; [ n processor.multiParserResult.roots.size < [ - processor.multiParserResult.roots.size n - @processor.@unfinishedFiles.pushBack + processor.multiParserResult.roots.size n - @processor.@unfinishedFiles.append n 1 + @n set TRUE ] && ] loop @@ -248,7 +248,7 @@ debugMemory [ ] when processor.result.success ~ [ - @processor.@result.@errorInfo @processor.@result.@globalErrorInfo.pushBack + @processor.@result.@errorInfo @processor.@result.@globalErrorInfo.append ] when processor.result.globalErrorInfo.getSize 0 > [ @@ -294,7 +294,7 @@ debugMemory [ ] when processor.result.success ~ [ - @processor.@result.@errorInfo @processor.@result.@globalErrorInfo.pushBack + @processor.@result.@errorInfo @processor.@result.@globalErrorInfo.append ] when ] when ] when diff --git a/schemas.mpl b/schemas.mpl index b5cf9c4..bf5191e 100644 --- a/schemas.mpl +++ b/schemas.mpl @@ -86,7 +86,7 @@ getVariableSchemaId: [ ] [ schemaId: processor.schemaBuffer.getSize; varSchema schemaId @processor.@schemaTable.insert - @varSchema @processor.@schemaBuffer.pushBack + @varSchema @processor.@schemaBuffer.append schemaId new ] if ]; diff --git a/variable.mpl b/variable.mpl index 7ed83c8..0c55e41 100644 --- a/variable.mpl +++ b/variable.mpl @@ -58,7 +58,7 @@ isStaticData: [ var: refToVar getVar; refToVar isVirtual ~ [var.data.getTag VarStruct =] && [ unfinished: RefToVar Array; - refToVar @unfinished.pushBack + refToVar @unfinished.append result: TRUE dynamic; [ result [unfinished.getSize 0 >] && [ @@ -74,7 +74,7 @@ isStaticData: [ curVar: current getVar; curVar.data.getTag VarStruct = [ struct: VarStruct curVar.data.get.get; - struct.fields [.refToVar @unfinished.pushBack] each + struct.fields [.refToVar @unfinished.append] each ] [ FALSE dynamic @result set ] if @@ -473,10 +473,10 @@ makeDbgTypeId: [ ] when fieldi.refToVar isVirtual [ - -1 @branch.@realFieldIndexes.pushBack + -1 @branch.@realFieldIndexes.append ] [ FALSE @branch.@fullVirtual set - realFieldCount @branch.@realFieldIndexes.pushBack + realFieldCount @branch.@realFieldIndexes.append realFieldCount 1 + @realFieldCount set ] if