Bug #39
LABELS FOLLOWING PROCEDURES CAUSING INTERNAL ERROR AND CALL CAUSES SYNTAX
Start date:
01/21/2020
Due date:
% Done:
0%
Estimated time:
Affected version:
Description
TEST
Gosub SUBROUTINE
Procedure TEST
Print "HELLO WORLD"
End Proc
SUBROUTINE:
Print "Doesn't work"
Return
Updated by Francois Lionet over 4 years ago
- Status changed from New to Resolved
Corrected, the example works.
Updated by Baptiste Pillot over 4 years ago
- Status changed from Resolved to Closed
- source : https://www.amos2.fr/ide/Amos2/Ide/Program/416
- run : https://www.amos2.fr/run/tickleman/39/
Result of the compilation using 0.9.2.6 :
Error during compilation AOZ Transpiler Version 0.9.2.6 - 17/01/2020 By Francois 'Amos' Lionet (c) AOZ Studio 2019 Website: https://aoz.studio Support the project on Patreon: http://www.patreon.com/francoislionet --------------------------------------------------------------------- PATH->Z:/home/amos2/compiler/0.9.2.6/languages Removing directory: /home/amos2/ide/input/tickleman/39/html Compiling /home/amos2/ide/input/tickleman/39, emulation: PC, speed: fast. First pass... main.aoz:3:5: error: syntax error main.aoz:3:5: error: label not defined main.aoz:9:11: error: internal error main.aoz:9:11: error: message not found crash_error:(pass: 1 cannot set property 'labelblock' of undefined typeerror: cannot set property 'labelblock' of undefined at firstpass (c:\snapshot\compiler\compiler.js) at object.compile (c:\snapshot\compiler\compiler.js) at compile (c:\snapshot\compiler\aoz.js) at aoz (c:\snapshot\compiler\aoz.js) at object. (c:\snapshot\compiler\aoz.js) at module._compile (pkg/prelude/bootstrap.js:1261:22) at object.module._extensions..js (internal/modules/cjs/loader.js:993:10) at module.load (internal/modules/cjs/loader.js:813:32) at function.module._load (internal/modules/cjs/loader.js:725:14) at function.module.runmain (pkg/prelude/bootstrap.js:1316:12), , , ) Task failed, no code generated...
Result of the execution using 0.9.3.1 :
HELLO WORLD Doesn't work Doesn't work
OK.
Note : "Doesn't work" is displayed twice : the first by the call by "Gosub", the second one by the direct execution of the Print after the label "SUBROUTINE:".