|
@@ -103,7 +103,7 @@ return (function(modules) {
|
|
|
|
|
|
(function(module) {
|
|
|
|
|
|
-module.exports = {"version":"2019_03_08 15_20"};
|
|
|
+module.exports = {"version":"2019_03_12 16_36"};
|
|
|
|
|
|
}),
|
|
|
|
|
@@ -187,7 +187,7 @@ module.exports =
|
|
|
|
|
|
(function(module, exports, __webpack_require__) {
|
|
|
|
|
|
-
|
|
|
+
|
|
|
|
|
|
var antlr4 = __webpack_require__(2);
|
|
|
|
|
@@ -769,7 +769,7 @@ module.exports =
|
|
|
|
|
|
(function(module, exports, __webpack_require__) {
|
|
|
|
|
|
-
|
|
|
+
|
|
|
|
|
|
var antlr4 = __webpack_require__(2);
|
|
|
|
|
@@ -1409,7 +1409,7 @@ module.exports =
|
|
|
|
|
|
(function(module, exports, __webpack_require__) {
|
|
|
|
|
|
-
|
|
|
+
|
|
|
|
|
|
var antlr4 = __webpack_require__(2);
|
|
|
|
|
@@ -1874,7 +1874,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
$length: "comprimento",
|
|
|
$uppercase: "caixa_alta",
|
|
|
$lowercase: "caixa_baixa",
|
|
|
- $charAt: "char_at",
|
|
|
+ $charAt: "texto_na_posicao",
|
|
|
$isReal: "e_real",
|
|
|
$isInt: "e_inteiro",
|
|
|
$isBool: "e_logico",
|
|
@@ -3579,14 +3579,13 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
var decimal_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( "./node_modules/decimal.js/decimal.js");
|
|
|
var decimal_js__WEBPACK_IMPORTED_MODULE_0___default = __webpack_require__.n(decimal_js__WEBPACK_IMPORTED_MODULE_0__);
|
|
|
var line_i18n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( "./node_modules/line-i18n/dist/index.js");
|
|
|
- var _ast_ivprogParser__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( "./js/ast/ivprogParser.js");
|
|
|
- var _processor_semantic_semanticAnalyser__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__( "./js/processor/semantic/semanticAnalyser.js");
|
|
|
- var _processor_ivprogProcessor__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__( "./js/processor/ivprogProcessor.js");
|
|
|
- var _util_inputTest__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__( "./js/util/inputTest.js");
|
|
|
- var _util_outputTest__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__( "./js/util/outputTest.js");
|
|
|
- var _io_domConsole__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__( "./js/io/domConsole.js");
|
|
|
- var _services_localizedStringsService__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__( "./js/services/localizedStringsService.js");
|
|
|
- var _util_config__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__( "./js/util/config.js");
|
|
|
+ var _processor_semantic_semanticAnalyser__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( "./js/processor/semantic/semanticAnalyser.js");
|
|
|
+ var _processor_ivprogProcessor__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__( "./js/processor/ivprogProcessor.js");
|
|
|
+ var _util_inputTest__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__( "./js/util/inputTest.js");
|
|
|
+ var _util_outputTest__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__( "./js/util/outputTest.js");
|
|
|
+ var _io_domConsole__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__( "./js/io/domConsole.js");
|
|
|
+ var _services_localizedStringsService__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__( "./js/services/localizedStringsService.js");
|
|
|
+ var _util_config__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__( "./js/util/config.js");
|
|
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
|
|
|
|
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|
@@ -3602,8 +3601,7 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
|
-var LocalizedStrings = _services_localizedStringsService__WEBPACK_IMPORTED_MODULE_8__["getInstance"]();
|
|
|
+var LocalizedStrings = _services_localizedStringsService__WEBPACK_IMPORTED_MODULE_7__["getInstance"]();
|
|
|
var StringTypes = line_i18n__WEBPACK_IMPORTED_MODULE_1__["default"].StringTypes;
|
|
|
var IVProgAssessment =
|
|
|
|
|
@@ -3622,20 +3620,17 @@ function () {
|
|
|
var _this = this;
|
|
|
|
|
|
try {
|
|
|
-
|
|
|
- var parser = _ast_ivprogParser__WEBPACK_IMPORTED_MODULE_2__["IVProgParser"].createParser(this.textCode);
|
|
|
- var semantic = new _processor_semantic_semanticAnalyser__WEBPACK_IMPORTED_MODULE_3__["SemanticAnalyser"](parser.parseTree());
|
|
|
- var validTree = semantic.analyseTree();
|
|
|
+ var validTree = _processor_semantic_semanticAnalyser__WEBPACK_IMPORTED_MODULE_2__["SemanticAnalyser"].analyseFromSource(this.textCode);
|
|
|
|
|
|
var partialTests = this.testCases.map(function (t, name) {
|
|
|
- return _this.partialEvaluateTestCase(new _processor_ivprogProcessor__WEBPACK_IMPORTED_MODULE_4__["IVProgProcessor"](validTree), t.input, t.output, name);
|
|
|
+ return _this.partialEvaluateTestCase(new _processor_ivprogProcessor__WEBPACK_IMPORTED_MODULE_3__["IVProgProcessor"](validTree), t.input, t.output, name);
|
|
|
});
|
|
|
var testResult = partialTests.reduce(function (acc, curr) {
|
|
|
return acc.then(curr);
|
|
|
}, Promise.resolve(0));
|
|
|
return testResult.then(function (total) {
|
|
|
var grade = total / _this.testCases.length;
|
|
|
- var channel = grade == 1 ? _io_domConsole__WEBPACK_IMPORTED_MODULE_7__["DOMConsole"].INFO : _io_domConsole__WEBPACK_IMPORTED_MODULE_7__["DOMConsole"].ERR;
|
|
|
+ var channel = grade == 1 ? _io_domConsole__WEBPACK_IMPORTED_MODULE_6__["DOMConsole"].INFO : _io_domConsole__WEBPACK_IMPORTED_MODULE_6__["DOMConsole"].ERR;
|
|
|
|
|
|
_this.writeToConsole(channel, StringTypes.MESSAGE, "test_suite_grade", grade * 100);
|
|
|
|
|
@@ -3659,8 +3654,8 @@ function () {
|
|
|
key: "evaluateTestCase",
|
|
|
value: function evaluateTestCase(prog, inputList, expectedOutputs, name, accumulator) {
|
|
|
var outerThis = this;
|
|
|
- var input = new _util_inputTest__WEBPACK_IMPORTED_MODULE_5__["InputTest"](inputList);
|
|
|
- var output = new _util_outputTest__WEBPACK_IMPORTED_MODULE_6__["OutputTest"]();
|
|
|
+ var input = new _util_inputTest__WEBPACK_IMPORTED_MODULE_4__["InputTest"](inputList);
|
|
|
+ var output = new _util_outputTest__WEBPACK_IMPORTED_MODULE_5__["OutputTest"]();
|
|
|
prog.registerInput(input);
|
|
|
prog.registerOutput(output);
|
|
|
var startTime = Date.now();
|
|
@@ -3736,16 +3731,10 @@ function () {
|
|
|
|
|
|
castNumberA = new decimal_js__WEBPACK_IMPORTED_MODULE_0__["Decimal"](castNumberA);
|
|
|
castNumberB = new decimal_js__WEBPACK_IMPORTED_MODULE_0__["Decimal"](castNumberB);
|
|
|
- var decimalPlaces = Math.min(castNumberB.dp(), _util_config__WEBPACK_IMPORTED_MODULE_9__["Config"].decimalPlaces);
|
|
|
- decimal_js__WEBPACK_IMPORTED_MODULE_0__["Decimal"].set({
|
|
|
- rounding: decimal_js__WEBPACK_IMPORTED_MODULE_0__["Decimal"].ROUND_FLOOR
|
|
|
- });
|
|
|
- castNumberA = new decimal_js__WEBPACK_IMPORTED_MODULE_0__["Decimal"](castNumberA.toFixed(decimalPlaces));
|
|
|
- castNumberB = new decimal_js__WEBPACK_IMPORTED_MODULE_0__["Decimal"](castNumberB.toFixed(decimalPlaces));
|
|
|
+ var decimalPlaces = Math.min(castNumberB.dp(), _util_config__WEBPACK_IMPORTED_MODULE_8__["Config"].decimalPlaces);
|
|
|
+ castNumberA = new decimal_js__WEBPACK_IMPORTED_MODULE_0__["Decimal"](castNumberA.toFixed(decimalPlaces, decimal_js__WEBPACK_IMPORTED_MODULE_0__["Decimal"].ROUND_FLOOR));
|
|
|
+ castNumberB = new decimal_js__WEBPACK_IMPORTED_MODULE_0__["Decimal"](castNumberB.toFixed(decimalPlaces, decimal_js__WEBPACK_IMPORTED_MODULE_0__["Decimal"].ROUND_FLOOR));
|
|
|
var aEqualsB = castNumberA.eq(castNumberB);
|
|
|
- decimal_js__WEBPACK_IMPORTED_MODULE_0__["Decimal"].set({
|
|
|
- rounding: decimal_js__WEBPACK_IMPORTED_MODULE_0__["Decimal"].ROUND_HALF_UP
|
|
|
- });
|
|
|
|
|
|
if (!aEqualsB) {
|
|
|
return false;
|
|
@@ -3786,19 +3775,19 @@ function () {
|
|
|
msg = LocalizedStrings.processString(msg, args);
|
|
|
|
|
|
switch (channel) {
|
|
|
- case _io_domConsole__WEBPACK_IMPORTED_MODULE_7__["DOMConsole"].ERR:
|
|
|
+ case _io_domConsole__WEBPACK_IMPORTED_MODULE_6__["DOMConsole"].ERR:
|
|
|
{
|
|
|
this.domConsole.err(msg);
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
- case _io_domConsole__WEBPACK_IMPORTED_MODULE_7__["DOMConsole"].INFO:
|
|
|
+ case _io_domConsole__WEBPACK_IMPORTED_MODULE_6__["DOMConsole"].INFO:
|
|
|
{
|
|
|
this.domConsole.info(msg);
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
- case _io_domConsole__WEBPACK_IMPORTED_MODULE_7__["DOMConsole"].USER:
|
|
|
+ case _io_domConsole__WEBPACK_IMPORTED_MODULE_6__["DOMConsole"].USER:
|
|
|
{
|
|
|
this.domConsole.write(msg);
|
|
|
break;
|
|
@@ -8939,73 +8928,31 @@ function () {
|
|
|
var _this4 = this;
|
|
|
|
|
|
this.context.push(_context__WEBPACK_IMPORTED_MODULE_5__["Context"].BREAKABLE);
|
|
|
-
|
|
|
- var auxCaseFun = function auxCaseFun(promise, switchExp, aCase) {
|
|
|
- return promise.then(function (result) {
|
|
|
- var sto = result.sto;
|
|
|
-
|
|
|
- if (_this4.ignoreSwitchCases(sto)) {
|
|
|
- return Promise.resolve(result);
|
|
|
- } else if (result.wasTrue || aCase.isDefault) {
|
|
|
- var $newSto = _this4.executeCommands(result.sto, aCase.commands);
|
|
|
-
|
|
|
- return $newSto.then(function (nSto) {
|
|
|
- return Promise.resolve({
|
|
|
- wasTrue: true,
|
|
|
- sto: nSto
|
|
|
- });
|
|
|
+ var outerRef = this;
|
|
|
+ var caseSequence = cmd.cases.reduce(function (prev, next) {
|
|
|
+ return prev.then(function (tuple) {
|
|
|
+ if (outerRef.ignoreSwitchCases(tuple[1])) {
|
|
|
+ return Promise.resolve(tuple);
|
|
|
+ } else if (tuple[0] || next.isDefault) {
|
|
|
+ return outerRef.executeCommands(tuple[1], next.commands).then(function (nSto) {
|
|
|
+ return Promise.resolve([true, nSto]);
|
|
|
});
|
|
|
} else {
|
|
|
- var $value = _this4.evaluateExpression(sto, new _ast_expressions___WEBPACK_IMPORTED_MODULE_11__["InfixApp"](_ast_operators__WEBPACK_IMPORTED_MODULE_7__["Operators"].EQ, switchExp, aCase.expression));
|
|
|
-
|
|
|
- return $value.then(function (vl) {
|
|
|
- if (vl.value) {
|
|
|
- var _$newSto = _this4.executeCommands(result.sto, aCase.commands);
|
|
|
-
|
|
|
- return _$newSto.then(function (nSto) {
|
|
|
- return Promise.resolve({
|
|
|
- wasTrue: true,
|
|
|
- sto: nSto
|
|
|
- });
|
|
|
+ return outerRef.evaluateExpression(tuple[1], new _ast_expressions___WEBPACK_IMPORTED_MODULE_11__["InfixApp"](_ast_operators__WEBPACK_IMPORTED_MODULE_7__["Operators"].EQ, cmd.expression, next.expression)).then(function (equalityResult) {
|
|
|
+ if (equalityResult.value) {
|
|
|
+ return _this4.executeCommands(tuple[1], next.commands).then(function (nSto) {
|
|
|
+ return Promise.resolve([true, nSto]);
|
|
|
});
|
|
|
} else {
|
|
|
- return Promise.resolve({
|
|
|
- wasTrue: false,
|
|
|
- sto: sto
|
|
|
- });
|
|
|
+ return Promise.resolve(tuple);
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
});
|
|
|
- };
|
|
|
-
|
|
|
- try {
|
|
|
- var breakLoop = false;
|
|
|
- var $result = Promise.resolve({
|
|
|
- wasTrue: false,
|
|
|
- sto: store
|
|
|
- });
|
|
|
-
|
|
|
- for (var index = 0; index < cmd.cases.length && !breakLoop; index++) {
|
|
|
- var aCase = cmd.cases[index];
|
|
|
- $result = auxCaseFun($result, cmd.expression, aCase);
|
|
|
- $result.then(function (r) {
|
|
|
- return breakLoop = _this4.ignoreSwitchCases(r.sto);
|
|
|
- });
|
|
|
- }
|
|
|
-
|
|
|
- return $result.then(function (r) {
|
|
|
- _this4.context.pop();
|
|
|
-
|
|
|
- if (r.sto.mode === _modes__WEBPACK_IMPORTED_MODULE_4__["Modes"].BREAK) {
|
|
|
- r.sto.mode = _modes__WEBPACK_IMPORTED_MODULE_4__["Modes"].RUN;
|
|
|
- }
|
|
|
-
|
|
|
- return r.sto;
|
|
|
- });
|
|
|
- } catch (error) {
|
|
|
- return Promise.reject(error);
|
|
|
- }
|
|
|
+ }, Promise.resolve([false, store]));
|
|
|
+ return caseSequence.then(function (tuple) {
|
|
|
+ return tuple[1];
|
|
|
+ });
|
|
|
}
|
|
|
}, {
|
|
|
key: "executeFor",
|
|
@@ -10695,6 +10642,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
var _typeSystem_multiType__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__( "./js/typeSystem/multiType.js");
|
|
|
var _util_config__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__( "./js/util/config.js");
|
|
|
var _store_store__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__( "./js/processor/store/store.js");
|
|
|
+ var _ast_ivprogParser__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__( "./js/ast/ivprogParser.js");
|
|
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
|
|
|
|
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|
@@ -10713,9 +10661,19 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
|
|
|
|
|
|
|
|
|
|
|
|
+
|
|
|
var SemanticAnalyser =
|
|
|
|
|
|
function () {
|
|
|
+ _createClass(SemanticAnalyser, null, [{
|
|
|
+ key: "analyseFromSource",
|
|
|
+ value: function analyseFromSource(stringCode) {
|
|
|
+ var parser = _ast_ivprogParser__WEBPACK_IMPORTED_MODULE_12__["IVProgParser"].createParser(stringCode);
|
|
|
+ var semantic = new SemanticAnalyser(parser.parseTree());
|
|
|
+ return semantic.analyseTree();
|
|
|
+ }
|
|
|
+ }]);
|
|
|
+
|
|
|
function SemanticAnalyser(ast) {
|
|
|
_classCallCheck(this, SemanticAnalyser);
|
|
|
|
|
@@ -27247,19 +27205,17 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
var _code_generator__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__( "./js/visualUI/code_generator.js");
|
|
|
var _commands_variable_value_menu__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__( "./js/visualUI/commands/variable_value_menu.js");
|
|
|
var _io_domConsole__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__( "./js/io/domConsole.js");
|
|
|
- var _ast_ivprogParser__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__( "./js/ast/ivprogParser.js");
|
|
|
- var _processor_ivprogProcessor__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__( "./js/processor/ivprogProcessor.js");
|
|
|
- var melanke_watchjs__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__( "./node_modules/melanke-watchjs/src/watch.js");
|
|
|
- var melanke_watchjs__WEBPACK_IMPORTED_MODULE_12___default = __webpack_require__.n(melanke_watchjs__WEBPACK_IMPORTED_MODULE_12__);
|
|
|
- var _processor_semantic_semanticAnalyser__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__( "./js/processor/semantic/semanticAnalyser.js");
|
|
|
- var _assessment_ivprogAssessment__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__( "./js/assessment/ivprogAssessment.js");
|
|
|
- var _algorithm__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__( "./js/visualUI/algorithm.js");
|
|
|
- var _utils__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__( "./js/visualUI/utils.js");
|
|
|
- var _ima_version_json__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__( "./.ima_version.json");
|
|
|
-var _ima_version_json__WEBPACK_IMPORTED_MODULE_17___namespace = __webpack_require__.t( "./.ima_version.json", 1);
|
|
|
- var _Sortable_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__( "./js/Sortable.js");
|
|
|
- var _Sortable_js__WEBPACK_IMPORTED_MODULE_18___default = __webpack_require__.n(_Sortable_js__WEBPACK_IMPORTED_MODULE_18__);
|
|
|
-
|
|
|
+ var _processor_ivprogProcessor__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__( "./js/processor/ivprogProcessor.js");
|
|
|
+ var melanke_watchjs__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__( "./node_modules/melanke-watchjs/src/watch.js");
|
|
|
+ var melanke_watchjs__WEBPACK_IMPORTED_MODULE_11___default = __webpack_require__.n(melanke_watchjs__WEBPACK_IMPORTED_MODULE_11__);
|
|
|
+ var _processor_semantic_semanticAnalyser__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__( "./js/processor/semantic/semanticAnalyser.js");
|
|
|
+ var _assessment_ivprogAssessment__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__( "./js/assessment/ivprogAssessment.js");
|
|
|
+ var _algorithm__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__( "./js/visualUI/algorithm.js");
|
|
|
+ var _utils__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__( "./js/visualUI/utils.js");
|
|
|
+ var _ima_version_json__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__( "./.ima_version.json");
|
|
|
+var _ima_version_json__WEBPACK_IMPORTED_MODULE_16___namespace = __webpack_require__.t( "./.ima_version.json", 1);
|
|
|
+ var _Sortable_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__( "./js/Sortable.js");
|
|
|
+ var _Sortable_js__WEBPACK_IMPORTED_MODULE_17___default = __webpack_require__.n(_Sortable_js__WEBPACK_IMPORTED_MODULE_17__);
|
|
|
|
|
|
|
|
|
|
|
@@ -27280,7 +27236,7 @@ var _ima_version_json__WEBPACK_IMPORTED_MODULE_17___namespace = __w
|
|
|
|
|
|
var counter_new_functions = 0;
|
|
|
var counter_new_parameters = 0;
|
|
|
-var ivprog_version = _ima_version_json__WEBPACK_IMPORTED_MODULE_17__.version;
|
|
|
+var ivprog_version = _ima_version_json__WEBPACK_IMPORTED_MODULE_16__.version;
|
|
|
var globalChangeListeners = [];
|
|
|
var functionsChangeListeners = [];
|
|
|
var domConsole = null;
|
|
@@ -27325,36 +27281,36 @@ program.addFunction(mainFunction);
|
|
|
window.program_obj = program;
|
|
|
window.generator = _code_generator__WEBPACK_IMPORTED_MODULE_7__["generate"];
|
|
|
window.runCodeAssessment = runCodeAssessment;
|
|
|
-window.renderAlgorithm = _algorithm__WEBPACK_IMPORTED_MODULE_15__["renderAlgorithm"];
|
|
|
+window.renderAlgorithm = _algorithm__WEBPACK_IMPORTED_MODULE_14__["renderAlgorithm"];
|
|
|
window.insertContext = false;
|
|
|
-window.watchW = melanke_watchjs__WEBPACK_IMPORTED_MODULE_12___default.a;
|
|
|
-melanke_watchjs__WEBPACK_IMPORTED_MODULE_12___default.a.watch(window.program_obj.globals, function () {
|
|
|
+window.watchW = melanke_watchjs__WEBPACK_IMPORTED_MODULE_11___default.a;
|
|
|
+melanke_watchjs__WEBPACK_IMPORTED_MODULE_11___default.a.watch(window.program_obj.globals, function () {
|
|
|
if (window.insertContext) {
|
|
|
setTimeout(function () {
|
|
|
- _algorithm__WEBPACK_IMPORTED_MODULE_15__["renderAlgorithm"]();
|
|
|
+ _algorithm__WEBPACK_IMPORTED_MODULE_14__["renderAlgorithm"]();
|
|
|
globalChangeListeners.forEach(function (x) {
|
|
|
return x();
|
|
|
});
|
|
|
}, 300);
|
|
|
window.insertContext = false;
|
|
|
} else {
|
|
|
- _algorithm__WEBPACK_IMPORTED_MODULE_15__["renderAlgorithm"]();
|
|
|
+ _algorithm__WEBPACK_IMPORTED_MODULE_14__["renderAlgorithm"]();
|
|
|
globalChangeListeners.forEach(function (x) {
|
|
|
return x();
|
|
|
});
|
|
|
}
|
|
|
}, 1);
|
|
|
-melanke_watchjs__WEBPACK_IMPORTED_MODULE_12___default.a.watch(window.program_obj.functions, function () {
|
|
|
+melanke_watchjs__WEBPACK_IMPORTED_MODULE_11___default.a.watch(window.program_obj.functions, function () {
|
|
|
if (window.insertContext) {
|
|
|
setTimeout(function () {
|
|
|
- _algorithm__WEBPACK_IMPORTED_MODULE_15__["renderAlgorithm"]();
|
|
|
+ _algorithm__WEBPACK_IMPORTED_MODULE_14__["renderAlgorithm"]();
|
|
|
functionsChangeListeners.forEach(function (x) {
|
|
|
return x();
|
|
|
});
|
|
|
}, 300);
|
|
|
window.insertContext = false;
|
|
|
} else {
|
|
|
- _algorithm__WEBPACK_IMPORTED_MODULE_15__["renderAlgorithm"]();
|
|
|
+ _algorithm__WEBPACK_IMPORTED_MODULE_14__["renderAlgorithm"]();
|
|
|
functionsChangeListeners.forEach(function (x) {
|
|
|
return x();
|
|
|
});
|
|
@@ -28005,7 +27961,7 @@ function runCodeAssessment() {
|
|
|
toggleConsole(true);
|
|
|
if (domConsole == null) domConsole = new _io_domConsole__WEBPACK_IMPORTED_MODULE_9__["DOMConsole"]("#ivprog-term");
|
|
|
jquery__WEBPACK_IMPORTED_MODULE_0___default()("#ivprog-term").slideDown(500);
|
|
|
- var runner = new _assessment_ivprogAssessment__WEBPACK_IMPORTED_MODULE_14__["IVProgAssessment"](strCode, testCases, domConsole);
|
|
|
+ var runner = new _assessment_ivprogAssessment__WEBPACK_IMPORTED_MODULE_13__["IVProgAssessment"](strCode, testCases, domConsole);
|
|
|
runner.runTest().then(function (grade) {
|
|
|
if (!is_iassign) {
|
|
|
parent.getEvaluationCallback(grade);
|
|
@@ -28029,10 +27985,8 @@ function runCode() {
|
|
|
jquery__WEBPACK_IMPORTED_MODULE_0___default()("#ivprog-term").slideDown(500);
|
|
|
|
|
|
try {
|
|
|
- var parser = _ast_ivprogParser__WEBPACK_IMPORTED_MODULE_10__["IVProgParser"].createParser(strCode);
|
|
|
- var analyser = new _processor_semantic_semanticAnalyser__WEBPACK_IMPORTED_MODULE_13__["SemanticAnalyser"](parser.parseTree());
|
|
|
- var data = analyser.analyseTree();
|
|
|
- var proc = new _processor_ivprogProcessor__WEBPACK_IMPORTED_MODULE_11__["IVProgProcessor"](data);
|
|
|
+ var data = _processor_semantic_semanticAnalyser__WEBPACK_IMPORTED_MODULE_12__["SemanticAnalyser"].analyseFromSource(strCode);
|
|
|
+ var proc = new _processor_ivprogProcessor__WEBPACK_IMPORTED_MODULE_10__["IVProgProcessor"](data);
|
|
|
proc.registerInput(domConsole);
|
|
|
proc.registerOutput(domConsole);
|
|
|
jquery__WEBPACK_IMPORTED_MODULE_0___default()("#ivprog-term").addClass('ivprog-term-active');
|
|
@@ -28196,12 +28150,12 @@ function updateParameterName(parameter_var, new_name, parameter_obj_dom, functio
|
|
|
|
|
|
if (isValidIdentifier(new_name)) {
|
|
|
if (variableNameAlreadyExists(new_name, function_obj)) {
|
|
|
- _utils__WEBPACK_IMPORTED_MODULE_16__["renderErrorMessage"](parameter_obj_dom.find('.parameter_div_edit'), _services_localizedStringsService__WEBPACK_IMPORTED_MODULE_3__["LocalizedStrings"].getUI('inform_valid_variable_duplicated'));
|
|
|
+ _utils__WEBPACK_IMPORTED_MODULE_15__["renderErrorMessage"](parameter_obj_dom.find('.parameter_div_edit'), _services_localizedStringsService__WEBPACK_IMPORTED_MODULE_3__["LocalizedStrings"].getUI('inform_valid_variable_duplicated'));
|
|
|
} else {
|
|
|
parameter_var.name = new_name;
|
|
|
}
|
|
|
} else {
|
|
|
- _utils__WEBPACK_IMPORTED_MODULE_16__["renderErrorMessage"](parameter_obj_dom.find('.parameter_div_edit'), _services_localizedStringsService__WEBPACK_IMPORTED_MODULE_3__["LocalizedStrings"].getUI('inform_valid_name'));
|
|
|
+ _utils__WEBPACK_IMPORTED_MODULE_15__["renderErrorMessage"](parameter_obj_dom.find('.parameter_div_edit'), _services_localizedStringsService__WEBPACK_IMPORTED_MODULE_3__["LocalizedStrings"].getUI('inform_valid_name'));
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -28232,12 +28186,12 @@ function updateFunctionName(function_var, new_name, function_obj_dom) {
|
|
|
|
|
|
if (isValidIdentifier(new_name)) {
|
|
|
if (functionNameAlreadyExists(new_name)) {
|
|
|
- _utils__WEBPACK_IMPORTED_MODULE_16__["renderErrorMessage"](function_obj_dom.find('.function_name_div'), _services_localizedStringsService__WEBPACK_IMPORTED_MODULE_3__["LocalizedStrings"].getUI('inform_valid_name_duplicated'));
|
|
|
+ _utils__WEBPACK_IMPORTED_MODULE_15__["renderErrorMessage"](function_obj_dom.find('.function_name_div'), _services_localizedStringsService__WEBPACK_IMPORTED_MODULE_3__["LocalizedStrings"].getUI('inform_valid_name_duplicated'));
|
|
|
} else {
|
|
|
function_var.name = new_name;
|
|
|
}
|
|
|
} else {
|
|
|
- _utils__WEBPACK_IMPORTED_MODULE_16__["renderErrorMessage"](function_obj_dom.find('.function_name_div'), _services_localizedStringsService__WEBPACK_IMPORTED_MODULE_3__["LocalizedStrings"].getUI('inform_valid_name'));
|
|
|
+ _utils__WEBPACK_IMPORTED_MODULE_15__["renderErrorMessage"](function_obj_dom.find('.function_name_div'), _services_localizedStringsService__WEBPACK_IMPORTED_MODULE_3__["LocalizedStrings"].getUI('inform_valid_name'));
|
|
|
}
|
|
|
}
|
|
|
|