/
lencodigitexer3
/
codeiq
Обзор
Документация
Войти
/
lencodigitexer3
/
codeiq
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
main
lib/@vexcode/blockly/cpp_compressed.js
79 строк
19 KB
Илья Евсеенко
Минимальной работающий интерфейс
14 июн 2025, 03:19
14 июн 2025, 03:19
b2d20b5
Код
Авторство
О чём код?
// Do not edit this file; automatically generated by gulp. /* eslint-disable */ ;(function(root, factory) { if (typeof define === 'function' && define.amd) { // AMD define(['./blockly_compressed.js'], factory); } else if (typeof exports === 'object') { // Node.js module.exports = factory(require('./blockly_compressed.js')); } else { // Browser root.Blockly.CPP = factory(root.Blockly); } }(this, function(Blockly) { /* Visual Blocks Language Copyright 2012 Google Inc. https://developers.google.com/blockly/ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ Blockly.CPP=new Blockly.Generator("CPP");Blockly.CPP.addReservedWords("alignas,alignof,and,and_eq,asm,atomic_cancel,atomic_commit,atomic_noexcept,auto,bitand,bitor,bool,break,case,catch,char,char16_t,char32_t,class,compl,concept,const,constexpr,const_cast,continue,co_await,co_return,co_yield,decltype,default,delete,do,double,dynamic_cast,else,enum,explicit,export,extern,false,float,for,friend,goto,if,import,inline,inline,int,long,module,mutable,namespace,new,noexcept,not,not_eq,nullptr,operator,or,or_eq,private,protected,public,register,reinterpret_cast,requires,return,short,signed,sizeof,static,static_assert,static_cast,struct,switch,synchronized,template,this,thread_local,throw,true,try,typedef,typeid,typename,union,unsigned,using,virtual,void,volatile,wchar_t,while,xor,xor_eq"); Blockly.CPP.ORDER_ATOMIC=0;Blockly.CPP.ORDER_SCOPE_RESOLUTION=1;Blockly.CPP.ORDER_MEMBER=2;Blockly.CPP.ORDER_FUNCTION_CALL=2;Blockly.CPP.ORDER_SUBSCRIPT=2;Blockly.CPP.ORDER_FUNCTIONAL_CAST=2;Blockly.CPP.ORDER_INCREMENT=3;Blockly.CPP.ORDER_DECREMENT=3;Blockly.CPP.ORDER_UNARY_PLUS=3;Blockly.CPP.ORDER_UNARY_NEGATION=3;Blockly.CPP.ORDER_LOGICAL_NOT=3;Blockly.CPP.ORDER_BITWISE_NOT=3;Blockly.CPP.ORDER_C_CAST=3;Blockly.CPP.ORDER_INDIRECTION=3;Blockly.CPP.ORDER_ADDRESS_OF=3;Blockly.CPP.ORDER_SIZE_OF=3; Blockly.CPP.ORDER_DYNAMIC_MEM_ALLOC=3;Blockly.CPP.ORDER_DYNAMIC_MEM_DEALLOC=3;Blockly.CPP.ORDER_POINTER=4;Blockly.CPP.ORDER_MULTIPLICATION=5;Blockly.CPP.ORDER_DIVISION=5;Blockly.CPP.ORDER_MODULUS=5;Blockly.CPP.ORDER_ADDITION=6;Blockly.CPP.ORDER_SUBTRACTION=6;Blockly.CPP.ORDER_BITWISE_SHIFT=7;Blockly.CPP.ORDER_THREE_WAY_COMP=8;Blockly.CPP.ORDER_RELATIONAL=9;Blockly.CPP.ORDER_EQUALITY=10;Blockly.CPP.ORDER_BITWISE_AND=11;Blockly.CPP.ORDER_BITWISE_XOR=12;Blockly.CPP.ORDER_BITWISE_OR=13; Blockly.CPP.ORDER_LOGICAL_AND=14;Blockly.CPP.ORDER_LOGICAL_OR=15;Blockly.CPP.ORDER_CONDITIONAL=16;Blockly.CPP.ORDER_THROW=16;Blockly.CPP.ORDER_ASSIGNMENT=16;Blockly.CPP.ORDER_COMMA=17;Blockly.CPP.ORDER_NONE=99; Blockly.CPP.init=function(a){Blockly.CPP.definitions_=Object.create(null);Blockly.CPP.functionNames_=Object.create(null);Blockly.CPP.systemEvents_=Object.create(null);Blockly.CPP.driverEvents_=Object.create(null);Blockly.CPP.autonEvents_=Object.create(null);Blockly.CPP.procedurePrototypes_=Object.create(null);Blockly.CPP.mainFunctions_=[];Blockly.CPP.variableDB_?Blockly.CPP.variableDB_.reset():Blockly.CPP.variableDB_=new Blockly.Names(Blockly.CPP.RESERVED_WORDS_);Blockly.CPP.variableDB_.setVariableMap(a.getVariableMap()); for(var b=[],d=[],c=[],e=[],f=[],g=Blockly.Variables.allDeveloperVariablesData(a),k=0;k<g.length;k++){var h=g[k];if(h&&"object"===typeof h&&h.name){var l=Blockly.CPP.variableDB_.getName(h.name,Blockly.Variables.DEVELOPER_VARIABLE_TYPE);null!==h.type&&void 0!==h.type?h.type===Blockly.LIST_VARIABLE_TYPE?e.push(`float ${l}[${h.arrayLength}];`):h.type===Blockly.ARRAY2D_VARIABLE_TYPE?e.push(`float ${l}[${h.arrayLength}][${h.arrayWidth}];`):h.type===Blockly.BOOL_VARIABLE_TYPE?c.push(l+" = False"):h.type=== Blockly.BROADCAST_MESSAGE_VARIABLE_TYPE?f.push(l):"int"===h.type?d.push(l+" = 0"):b.push(l+" = 0"):h.initValue?b.push(l+" = "+h.initValue):b.push(l)}else b.push(l)}a=a.getAllVariables();for(k=0;k<a.length;k++)g=a[k],g.type===Blockly.LIST_VARIABLE_TYPE?(l=Blockly.CPP.variableDB_.getName(g.getId(),Blockly.Variables.NAME_TYPE),e.push(`float ${l}[${g.arrayLength}];`)):g.type===Blockly.ARRAY2D_VARIABLE_TYPE?(l=Blockly.CPP.variableDB_.getName(g.getId(),Blockly.Variables.NAME_TYPE),e.push(`float ${l}[${g.arrayLength}][${g.arrayWidth}];`)): g.type===Blockly.BOOL_VARIABLE_TYPE?(l=Blockly.CPP.variableDB_.getName(g.id_,Blockly.Variables.NAME_TYPE),c.push(l)):g.type===Blockly.BROADCAST_MESSAGE_VARIABLE_TYPE?f.push(g):b.push(Blockly.CPP.variableDB_.getName(g.getId(),Blockly.Variables.NAME_TYPE));d.length&&(Blockly.CPP.definitions_.int_variables="int "+d.join(", ")+";");b.length&&(Blockly.CPP.definitions_.variables="float "+b.join(", ")+";");c.length&&(Blockly.CPP.definitions_.bool_variables="bool "+c.join(", ")+";");e.length&&(Blockly.CPP.definitions_.list_variables= e.join("\n"));f.length&&(b=f.map(n=>`event ${Blockly.CPP.variableDB_.getName(n.getId(),Blockly.Variables.NAME_TYPE)} = event();`),Blockly.CPP.definitions_.event_variables=b.join("\n"))}; Blockly.CPP.finish=function(a){let b="";const d=[];if(Blockly.CPP.mainFunctions_.length)for(var c=0;c<Blockly.CPP.mainFunctions_.length;c++){var e=Blockly.CPP.mainFunctions_[c];0===c?b=Blockly.CPP.INDENT+`${e}();\n`:d.push(Blockly.CPP.INDENT+`vex::task ws${c}(${e});`)}e=[];for(var f in Blockly.CPP.procedurePrototypes_)e.push(Blockly.CPP.procedurePrototypes_[f]+";");var g=[];for(f in Blockly.CPP.definitions_){var k=Blockly.CPP.definitions_[f];"object"===typeof k&&k.ishidden?console.log("skipping hidden function"): g.push(k)}k=[];for(f in Blockly.CPP.systemEvents_){var h=Blockly.CPP.systemEvents_[f];for(l in h.functions)c=h.functions[l],k.push(Blockly.CPP.INDENT+h.setter+"("+c+");")}0<k.length&&k.splice(0,0,Blockly.CPP.INDENT+"// register event handlers");var l=k.join("\n");var n=0<Object.entries(Blockly.CPP.driverEvents_).length||0<Object.entries(Blockly.CPP.autonEvents_).length?!0:!1;k=[];for(f in Blockly.CPP.autonEvents_){h=Blockly.CPP.autonEvents_[f];for(var m in h.functions)c=h.functions[m],k.push(c)}h= [];for(f in Blockly.CPP.driverEvents_){var p=Blockly.CPP.driverEvents_[f];for(m in p.functions)c=p.functions[m],h.push(c)}c=f="";if(n){f=Blockly.CPP.INDENT+"vex::competition::bStopTasksBetweenModes = false;\n"+Blockly.CPP.INDENT+"Competition.autonomous(VEXcode_auton_task);\n"+Blockly.CPP.INDENT+"Competition.drivercontrol(VEXcode_driver_task);";n=c=p=m="";m=[];p=[];var r=[];n=[];for(c=0;c<h.length;c++){var q="vex::task drive"+c+"("+h[c]+");";m.push(q);q="drive"+c+".stop();";p.push(q)}m=m.join("\n"); p=p.join("\n");for(c=0;c<k.length;c++)q="vex::task auto"+c+"("+k[c]+");",r.push(q),q="auto"+c+".stop();",n.push(q);c=r.join("\n");n=n.join("\n");c="\n\nvoid VEXcode_driver_task() {\n"+Blockly.CPP.INDENT+"// Start the driver control tasks....\n"+Blockly.CPP.INDENT+m+(Blockly.CPP.RC_TASK_START?"\n"+Blockly.CPP.INDENT+Blockly.CPP.RC_TASK_START:"")+"\n"+Blockly.CPP.INDENT+"while(Competition.isDriverControl() && Competition.isEnabled()) {this_thread::sleep_for(10);}\n"+Blockly.CPP.INDENT+p+(Blockly.CPP.RC_TASK_STOP? "\n"+Blockly.CPP.INDENT+Blockly.CPP.RC_TASK_STOP:"")+"\n"+Blockly.CPP.INDENT+"return;\n}\n\nvoid VEXcode_auton_task() {\n"+Blockly.CPP.INDENT+"// Start the auton control tasks....\n"+Blockly.CPP.INDENT+c+"\n"+Blockly.CPP.INDENT+"while(Competition.isAutonomous() && Competition.isEnabled()) {this_thread::sleep_for(10);}\n"+Blockly.CPP.INDENT+n+"\n"+Blockly.CPP.INDENT+"return;\n}\n"}["// initialize the random number system","srand(Brain.Timer.system());"].map(t=>Blockly.CPP.INDENT+t).join("\n");k=Blockly.CPP.INDENT+ Blockly.CPP.DRIVETRAIN_CALIBRATE;h=Blockly.CPP.INDENT+Blockly.CPP.CTE_ARM_INIT;delete Blockly.CPP.definitions_;delete Blockly.CPP.functionNames_;delete Blockly.CPP.systemEvents_;Blockly.CPP.variableDB_.reset();m="";m="int main() {\n"+(f?f+"\n\n":"")+(k.trim()?k+"\n\n":"")+(h.trim()?h+"\n\n":"")+(Blockly.CPP.preEventRegistration?Blockly.CPP.INDENT+"// pre event registration\n":"")+Blockly.CPP.preEventRegistration+(l?l+"\n\n":"")+(l?Blockly.CPP.INDENT+"wait(15, msec);\n":"")+(Blockly.CPP.postEventRegistration? Blockly.CPP.INDENT+"// post event registration\n":"")+Blockly.CPP.postEventRegistration+(a.trim()?a+"\n":"")+(0<d.length?d.join("\n")+"\n":"")+b+"}";return e.join("\n")+"\n\n"+g.join("\n\n")+c+"\n\n\n"+m};Blockly.CPP.scrubNakedValue=function(a){return a+";\n"};Blockly.CPP.quote_=function(a){a=a.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/"/g,'\\"').replace(/\?/g,"\\?");a=a.replace(/\\\\n/g,"\\n");return"'"+a+"'"}; Blockly.CPP.scrub_=function(a,b){var d="";if(!a.outputConnection||!a.outputConnection.targetConnection){var c=a.getCommentText();c&&(c=Blockly.utils.string.wrap(c,Blockly.CPP.COMMENT_WRAP-3),d=a.getProcedureDef?d+("/**\n"+Blockly.CPP.prefixLines(c+"\n"," * ")+" */\n"):d+Blockly.CPP.prefixLines(c+"\n","// "));for(var e=0;e<a.inputList.length;e++)a.inputList[e].type==Blockly.INPUT_VALUE&&(c=a.inputList[e].connection.targetBlock())&&(c=Blockly.CPP.allNestedComments(c))&&(d+=Blockly.CPP.prefixLines(c, "// "))}if(a.isHatBlock()&&null===a.previousConnection)return d+b;a=a.nextConnection&&a.nextConnection.targetBlock();a=Blockly.CPP.blockToCode(a);return d+b+a}; Blockly.CPP.getAdjusted=function(a,b,d,c,e){d=d||0;e=e||Blockly.CPP.ORDER_NONE;a.workspace.options.oneBasedIndex&&d--;var f=a.workspace.options.oneBasedIndex?"1":"0";a=0<d?Blockly.CPP.valueToCode(a,b,Blockly.CPP.ORDER_ADDITION)||f:0>d?Blockly.CPP.valueToCode(a,b,Blockly.CPP.ORDER_SUBTRACTION)||f:c?Blockly.CPP.valueToCode(a,b,Blockly.CPP.ORDER_UNARY_NEGATION)||f:Blockly.CPP.valueToCode(a,b,e)||f;if(Blockly.isNumber(a))a=parseFloat(a)+d,c&&(a=-a);else{if(0<d){a=a+" + "+d;var g=Blockly.CPP.ORDER_ADDITION}else 0> d&&(a=a+" - "+-d,g=Blockly.CPP.ORDER_SUBTRACTION);c&&(a=d?"-("+a+")":"-"+a,g=Blockly.CPP.ORDER_UNARY_NEGATION);g=Math.floor(g);e=Math.floor(e);g&&e>=g&&(a="("+a+")")}return a}; Blockly.CPP.addDriverEventFunction=function(a,b,d,c){Blockly.CPP.driverEvents_[b]||(Blockly.CPP.driverEvents_[b]={setter:c,functions:[]});c=Blockly.CPP.variableDB_.getDistinctName("ondriver_"+b+"_"+Blockly.CPP.driverEvents_[b].functions.length,Blockly.Procedures.NAME_TYPE);if(Blockly.CPP.STATEMENT_PREFIX){var e=a.id.replace(/\$/g,"$$$$");d=Blockly.CPP.prefixLines(Blockly.CPP.STATEMENT_PREFIX.replace(/%1/g,"'"+e+"'"),Blockly.CPP.INDENT)+d}Blockly.CPP.INFINITE_LOOP_TRAP&&(d=Blockly.CPP.INFINITE_LOOP_TRAP.replace(/%1/g, "'"+a.id+"'")+d);d='// "when driver control" hat block \nint '+c+"() {\n"+d+Blockly.CPP.INDENT+"return 0;\n}";d=Blockly.CPP.scrub_(a,d);Blockly.CPP.definitions_["%"+c]=d;Blockly.CPP.driverEvents_[b].functions.push(c);return null}; Blockly.CPP.addAutonEventFunction=function(a,b,d,c){Blockly.CPP.autonEvents_[b]||(Blockly.CPP.autonEvents_[b]={setter:c,functions:[]});c=Blockly.CPP.variableDB_.getDistinctName("onauton_"+b+"_"+Blockly.CPP.autonEvents_[b].functions.length,Blockly.Procedures.NAME_TYPE);if(Blockly.CPP.STATEMENT_PREFIX){var e=a.id.replace(/\$/g,"$$$$");d=Blockly.CPP.prefixLines(Blockly.CPP.STATEMENT_PREFIX.replace(/%1/g,"'"+e+"'"),Blockly.CPP.INDENT)+d}Blockly.CPP.INFINITE_LOOP_TRAP&&(d=Blockly.CPP.INFINITE_LOOP_TRAP.replace(/%1/g, "'"+a.id+"'")+d);d='// "when autonomous" hat block \nint '+c+"() {\n"+d+Blockly.CPP.INDENT+"return 0;\n}";d=Blockly.CPP.scrub_(a,d);Blockly.CPP.definitions_["%"+c]=d;Blockly.CPP.autonEvents_[b].functions.push(c);return null}; Blockly.CPP.addSystemEventFunction=function(a,b,d,c){Blockly.CPP.systemEvents_[b]||(Blockly.CPP.systemEvents_[b]={setter:c,functions:[]});var e=Blockly.CPP.variableDB_.getDistinctName("onevent_"+b+"_"+Blockly.CPP.systemEvents_[b].functions.length,Blockly.Procedures.NAME_TYPE);if(Blockly.CPP.STATEMENT_PREFIX){var f=a.id.replace(/\$/g,"$$$$");d=Blockly.CPP.prefixLines(Blockly.CPP.STATEMENT_PREFIX.replace(/%1/g,"'"+f+"'"),Blockly.CPP.INDENT)+d}Blockly.CPP.INFINITE_LOOP_TRAP&&(d=Blockly.CPP.INFINITE_LOOP_TRAP.replace(/%1/g, "'"+a.id+"'")+d);c=b.toLowerCase().includes("controller")?`${c.split(".").join(" ")}`:b.replace(/_/g," ");a=Blockly.CPP.scrub_(a,`// "when ${c}" hat block `+"\nvoid "+e+"() {\n"+d+"}");Blockly.CPP.definitions_["%"+e]=a;Blockly.CPP.systemEvents_[b].functions.push(e);return null}; Blockly.CPP.addSystemEventArgumentFunction=function(a,b,d,c,e){Blockly.CPP.systemEvents_[b]||(Blockly.CPP.systemEvents_[b]={setter:c,functions:[]});c=Blockly.CPP.variableDB_.getDistinctName("onevent_"+b+"_"+Blockly.CPP.systemEvents_[b].functions.length,Blockly.Procedures.NAME_TYPE);if(Blockly.CPP.STATEMENT_PREFIX){var f=a.id.replace(/\$/g,"$$$$");d=Blockly.CPP.prefixLines(Blockly.CPP.STATEMENT_PREFIX.replace(/%1/g,"'"+f+"'"),Blockly.CPP.INDENT)+d}Blockly.CPP.INFINITE_LOOP_TRAP&&(d=Blockly.CPP.INFINITE_LOOP_TRAP.replace(/%1/g, "'"+a.id+"'")+d);d=`// "when ${b.replace(/_/g," ")}" hat block `+"\nvoid "+c+"() {\n"+d+"}";d=Blockly.CPP.scrub_(a,d);Blockly.CPP.definitions_["%"+c]=d;Blockly.CPP.systemEvents_[b].functions.push(c+","+e);return null}; Blockly.CPP.addUserEventFunction=function(a,b,d,c){Blockly.CPP.systemEvents_[b]||(Blockly.CPP.systemEvents_[b]={setter:c,functions:[]});c=Blockly.CPP.variableDB_.getDistinctName("onevent_"+b+"_"+Blockly.CPP.systemEvents_[b].functions.length,Blockly.Procedures.NAME_TYPE);if(Blockly.CPP.STATEMENT_PREFIX){var e=a.id.replace(/\$/g,"$$$$");d=Blockly.CPP.prefixLines(Blockly.CPP.STATEMENT_PREFIX.replace(/%1/g,"'"+e+"'"),Blockly.CPP.INDENT)+d}Blockly.CPP.INFINITE_LOOP_TRAP&&(d=Blockly.CPP.INFINITE_LOOP_TRAP.replace(/%1/g, "'"+a.id+"'")+d);a=Blockly.CPP.scrub_(a,`// "when I receive ${b}" hat block `+"\nvoid "+c+"() {\n"+d+"}");Blockly.CPP.definitions_["%"+c]=a;Blockly.CPP.systemEvents_[b].functions.push(c);return null}; Blockly.CPP.addWhenStartedFunction=function(a,b){const d=Blockly.CPP.variableDB_.getDistinctName(`whenStarted${Blockly.CPP.mainFunctions_.length+1}`,Blockly.Procedures.NAME_TYPE);if(Blockly.CPP.STATEMENT_PREFIX){var c=a.id.replace(/\$/g,"$$$$");b=Blockly.CPP.prefixLines(Blockly.CPP.STATEMENT_PREFIX.replace(/%1/g,"'"+c+"'"),Blockly.CPP.INDENT)+b}Blockly.CPP.INFINITE_LOOP_TRAP&&(b=Blockly.CPP.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+a.id+"'")+b);b='// "when started" hat block \nint '+d+"() {\n"+b+Blockly.CPP.INDENT+ "return 0;\n}";b=Blockly.CPP.scrub_(a,b);Blockly.CPP.definitions_["%"+d]=b;Blockly.CPP.mainFunctions_.push(d);return null};Blockly.CPP.events={};Blockly.CPP.event_started=a=>{var b=a.getNextBlock();b=Blockly.CPP.eventStackToCode(b);if(Blockly.CPP.STATEMENT_PREFIX){const d=a.id.replace(/\$/g,"$$$$");b=Blockly.CPP.prefixLines(Blockly.CPP.STATEMENT_PREFIX.replace(/%1/g,"'"+d+"'"),Blockly.CPP.INDENT)+b}Blockly.CPP.addWhenStartedFunction(a,b);return null};Blockly.CPP.variables={};Blockly.CPP.data_variable=function(a){return[Blockly.CPP.variableDB_.getName(a.getFieldValue("VARIABLE"),Blockly.Variables.NAME_TYPE),Blockly.CPP.ORDER_ATOMIC]};Blockly.CPP.data_setvariableto=function(a){var b=Blockly.CPP.valueToCode(a,"VALUE",Blockly.CPP.ORDER_ASSIGNMENT)||"0";return Blockly.CPP.variableDB_.getName(a.getFieldValue("VARIABLE"),Blockly.Variables.NAME_TYPE)+" = "+b+";\n"}; Blockly.CPP.data_changevariableby=function(a){var b=Blockly.CPP.valueToCode(a,"VALUE",Blockly.CPP.ORDER_ASSIGNMENT)||"0";a=Blockly.CPP.variableDB_.getName(a.getFieldValue("VARIABLE"),Blockly.Variables.NAME_TYPE);return a+" = "+a+" + "+b+";\n"};Blockly.CPP.data_bool_variable=function(a){return[Blockly.CPP.variableDB_.getName(a.getFieldValue("VARIABLE"),Blockly.Variables.NAME_TYPE),Blockly.CPP.ORDER_ATOMIC]}; Blockly.CPP.data_setboolvariableto=function(a){var b=Blockly.CPP.valueToCode(a,"VALUE",Blockly.CPP.ORDER_ASSIGNMENT)||"0";return Blockly.CPP.variableDB_.getName(a.getFieldValue("VARIABLE"),Blockly.Variables.NAME_TYPE)+" = "+b+";\n"};Blockly.CPP.bool_input=function(a){return[a.getFieldValue("VALUE"),Blockly.CPP.ORDER_ATOMIC]};Blockly.CPP.data_listcontents=function(a){return[Blockly.CPP.variableDB_.getName(a.getFieldValue("LIST"),Blockly.Variables.NAME_TYPE),Blockly.CPP.ORDER_ATOMIC]}; Blockly.CPP.data_replaceitemoflist=function(a){var b=Blockly.CPP.valueToCode(a,"INDEX",Blockly.CPP.ORDER_ASSIGNMENT)||"1",d=a.getFieldValue("LIST"),c=a.workspace.getVariableById(d).arrayLength,e=parseInt(b);if(!isNaN(e)&&(1>e||e>c))throw new RangeError(`index ${e} is out of range (1-${c}) for list ${d}`);a=Blockly.CPP.valueToCode(a,"ITEM",Blockly.CPP.ORDER_ASSIGNMENT)||"0";return`${Blockly.CPP.variableDB_.getName(d,Blockly.Variables.NAME_TYPE)}[static_cast<int>(${b}) - 1] = ${a};\n`}; Blockly.CPP.data_itemoflist=function(a){var b=Blockly.CPP.valueToCode(a,"INDEX",Blockly.CPP.ORDER_ASSIGNMENT)||"1",d=a.getFieldValue("LIST");a=a.workspace.getVariableById(d).arrayLength;var c=parseInt(b);if(!isNaN(c)&&(1>c||c>a))throw new RangeError(`index ${c} is out of range (1-${a}) for list ${d}`);return[`${Blockly.CPP.variableDB_.getName(d,Blockly.Variables.NAME_TYPE)}[static_cast<int>(${b}) - 1]`,Blockly.CPP.ORDER_SUBSCRIPT]}; Blockly.CPP.data_listsetvalue=function(a){var b=a.getFieldValue("LIST"),d=a.workspace.getVariableById(b).arrayLength;b=Blockly.CPP.variableDB_.getName(b,Blockly.Variables.NAME_TYPE);let c=[];for(var e=0;e<d;e++){var f=Blockly.CPP.valueToCode(a,`VALUE${e}`,Blockly.CPP.ORDER_ASSIGNMENT)||"1";c.push(`${b}[${e}] = ${f};`)}return c.join("\n")};Blockly.CPP.data_lengthoflist=function(a){var b=a.getFieldValue("LIST");return[`${a.workspace.getVariableById(b).arrayLength}`,Blockly.CPP.ORDER_ATOMIC]}; Blockly.CPP.data_itemof2darray=function(a){var b=Blockly.CPP.valueToCode(a,"ROW",Blockly.CPP.ORDER_ASSIGNMENT)||"1",d=Blockly.CPP.valueToCode(a,"COLUMN",Blockly.CPP.ORDER_ASSIGNMENT)||"1",c=a.getFieldValue("ARRAY");a=a.workspace.getVariableById(c);var e=a.arrayLength,f=parseInt(b);if(!isNaN(f)&&(1>f||f>e))throw new RangeError(`row ${f} is out of range (1-${e}) for 2d array ${c}`);a=a.arrayWidth;e=parseInt(d);if(!isNaN(e)&&(1>e||e>a))throw new RangeError(`column ${e} is out of range (1-${a}) for 2d array ${c}`); return[`${Blockly.CPP.variableDB_.getName(c,Blockly.Variables.NAME_TYPE)}[static_cast<int>(${b}) - 1][static_cast<int>(${d}) - 1]`,Blockly.CPP.ORDER_SUBSCRIPT]}; Blockly.CPP.data_setitemof2darray=function(a){var b=Blockly.CPP.valueToCode(a,"ROW",Blockly.CPP.ORDER_ASSIGNMENT)||"1",d=Blockly.CPP.valueToCode(a,"COLUMN",Blockly.CPP.ORDER_ASSIGNMENT)||"1",c=a.getFieldValue("ARRAY"),e=a.workspace.getVariableById(c),f=e.arrayLength,g=parseInt(b);if(!isNaN(g)&&(1>g||g>f))throw new RangeError(`row ${g} is out of range (1-${f}) for 2d array ${c}`);e=e.arrayWidth;f=parseInt(d);if(!isNaN(f)&&(1>f||f>e))throw new RangeError(`column ${f} is out of range (1-${e}) for 2d array ${c}`); a=Blockly.CPP.valueToCode(a,"VALUE",Blockly.CPP.ORDER_ASSIGNMENT)||"0";return`${Blockly.CPP.variableDB_.getName(c,Blockly.Variables.NAME_TYPE)}[static_cast<int>(${b}) - 1][static_cast<int>(${d}) - 1] = ${a};\n`}; Blockly.CPP.data_set2darrayto=function(a){var b=a.getFieldValue("ARRAY"),d=a.workspace.getVariableById(b),c=d.arrayLength;d=d.arrayWidth;b=Blockly.CPP.variableDB_.getName(b,Blockly.Variables.NAME_TYPE);let e=[];for(var f=0;f<c;f++){const k=a.getInput(`ROW${f}`).connection.targetConnection.sourceBlock_;for(var g=0;g<d;g++){const h=Blockly.CPP.valueToCode(k,`VALUE${g}`,Blockly.CPP.ORDER_ASSIGNMENT)||"1";e.push(`${b}[${f}][${g}] = ${h};`)}}return e.join("\n")}; Blockly.CPP.data_lengthof2darray=function(a){var b=a.getFieldValue("ARRAY"),d=a.getFieldValue("DIRECTION");b=a.workspace.getVariableById(b);a=b.arrayLength;b=b.arrayWidth;return[`${"rows"===d?a:b}`,Blockly.CPP.ORDER_ATOMIC]}; return Blockly.CPP; })); //# sourceMappingURL=cpp_compressed.js.map