Talk:Jump anywhere: Difference between revisions
Content added Content deleted
(It depends on the language) |
Walterpachl (talk | contribs) (→Signal use in Rexx: new section) |
||
Line 23: | Line 23: | ||
:::: Yeah. It depends on the language. A local jump within the same procedure would probably not need an unwind. A global jumb could need an unwind, and the unwind may be done at source, prior to the jump or at destination following the jump. Jumping out of a procedure (following a call) is not usually a good idea, although it may be for a critical reason, such as an abort. I would just stick a note saying "the stack will need to be unwound, before this jump is performed" and cross reference to the stack unwinding task. Some languages may have a garbage collector, which removes the need to unwind the stack. Maybe it would be tidier to split the task into Jumps/Local, Jumps/Global and Jumps/With stack unwinding. --[[User:Markhobley|Markhobley]] 10:20, 11 June 2011 (UTC) |
:::: Yeah. It depends on the language. A local jump within the same procedure would probably not need an unwind. A global jumb could need an unwind, and the unwind may be done at source, prior to the jump or at destination following the jump. Jumping out of a procedure (following a call) is not usually a good idea, although it may be for a critical reason, such as an abort. I would just stick a note saying "the stack will need to be unwound, before this jump is performed" and cross reference to the stack unwinding task. Some languages may have a garbage collector, which removes the need to unwind the stack. Maybe it would be tidier to split the task into Jumps/Local, Jumps/Global and Jumps/With stack unwinding. --[[User:Markhobley|Markhobley]] 10:20, 11 June 2011 (UTC) |
||
== Signal use in Rexx == |
|||
__Warning__: Not only jumping into Do loops (as noted under REXX) is usually an error. |
|||
Jumping into or within Do groups is equally wrong. |
|||
Please consider Signal only for condition handling or very global jumps such as Signal end_of_job. |
|||
Example: |
|||
<lang rexx> Do |
|||
Signal label |
|||
label: Say 'label reached' |
|||
End</lang> |