ugBASIC 1.18
An isomorphic BASIC language compiler for retrocomputers
Loading...
Searching...
No Matches
exit_proc.c
Go to the documentation of this file.
1/*****************************************************************************
2 * ugBASIC - an isomorphic BASIC language compiler for retrocomputers *
3 *****************************************************************************
4 * Copyright 2021-2026 Marco Spedaletti (asimov@mclink.it)
5 *
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
17 *----------------------------------------------------------------------------
18 * Concesso in licenza secondo i termini della Licenza Apache, versione 2.0
19 * (la "Licenza"); è proibito usare questo file se non in conformità alla
20 * Licenza. Una copia della Licenza è disponibile all'indirizzo:
21 *
22 * http://www.apache.org/licenses/LICENSE-2.0
23 *
24 * Se non richiesto dalla legislazione vigente o concordato per iscritto,
25 * il software distribuito nei termini della Licenza è distribuito
26 * "COSÌ COM'È", SENZA GARANZIE O CONDIZIONI DI ALCUN TIPO, esplicite o
27 * implicite. Consultare la Licenza per il testo specifico che regola le
28 * autorizzazioni e le limitazioni previste dalla medesima.
29 ****************************************************************************/
30
31/****************************************************************************
32 * INCLUDE SECTION
33 ****************************************************************************/
34
35#include "../../ugbc.h"
36
37/****************************************************************************
38 * CODE SECTION
39 ****************************************************************************/
40
46/* <usermanual>
47@keyword EXIT PROCEDURE
48
49@english
50
51The ''EXIT PROCEDURE'' command is used to stop execution of a specific procedure,
52and transfer control of the program to the first statement following the calling
53of that procedure.
54
55The command is useful to exit when an error or unexpected condition occurs, and it
56can be used to end the procedure and handle the error appropriately. In some cases,
57using ''EXIT PROCEDURE'' can make your code more efficient by avoiding executing unnecessary
58statements. ''EXIT PROCEDURE'' allows you to create more complex control flows and
59make dynamic decisions during program execution. Excessive use of ''EXIT PROCEDURE'', however,
60can make your code more difficult to read and maintain.
61
62@italian
63
64Il comando ''EXIT PROCEDURE'' viene utilizzato per interrompere l'esecuzione
65di una procedura specifica e trasferire il controllo del programma alla prima
66istruzione successiva alla chiamata di tale procedura.
67
68Il comando è utile per uscire quando si verifica un errore o una condizione imprevista,
69e può essere utilizzato per terminare la procedura e gestire l'errore in modo appropriato.
70In alcuni casi, l'utilizzo di ''EXIT PROCEDURE'' può rendere il codice più efficiente
71evitando di eseguire istruzioni non necessarie. ''EXIT PROCEDURE'' consente di creare
72flussi di controllo più complessi e prendere decisioni dinamiche durante l'esecuzione
73del programma. Tuttavia, un utilizzo eccessivo di ''EXIT PROCEDURE'' può rendere il
74codice più difficile da leggere e gestire.
75
76@syntax EXIT PROCEDURE
77
78@example PROCEDURE test[ x AS INTEGER ]
79@example IF x > 10 THEN EXIT PROCEDURE
80@example PRINT "X is less or equal to 10"
81@example ENDIF
82@example END PROC
83
84@alias POP PROCEDURE
85@alias EXIT PROC
86
87</usermanual> */
88
89/* <usermanual>
90@keyword POP PROCEDURE
91
92@english
93
94@italian
95
96@syntax POP PROCEDURE
97
98@example POP PROCEDURE
99
100@usedInExample procedures_jumping_02.bas
101
102@alias EXIT PROCEDURE
103@alias EXIT PROC
104</usermanual> */
105
106/* <usermanual>
107@keyword EXIT PROC
108
109@english
110
111@italian
112
113@syntax EXIT PROC
114
115@example EXIT PROC
116
117@usedInExample procedures_jumping_02.bas
118
119@alias POP PROCEDURE
120@alias EXIT PROCEDURE
121
122</usermanual> */
123
124void exit_procedure( Environment * _environment ) {
125
126 cpu_return( _environment );
127
128}
129
void cpu_return(Environment *_environment)
Definition 6309.c:4030
void exit_procedure(Environment *_environment)
Emit code for POP PROC / EXIT PROC.
Definition exit_proc.c:124
struct _Environment Environment
Structure of compilation environment.