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
51
The ''EXIT PROCEDURE'' command is used to stop execution of a specific procedure,
52
and transfer control of the program to the first statement following the calling
53
of that procedure.
54
55
The command is useful to exit when an error or unexpected condition occurs, and it
56
can be used to end the procedure and handle the error appropriately. In some cases,
57
using ''EXIT PROCEDURE'' can make your code more efficient by avoiding executing unnecessary
58
statements. ''EXIT PROCEDURE'' allows you to create more complex control flows and
59
make dynamic decisions during program execution. Excessive use of ''EXIT PROCEDURE'', however,
60
can make your code more difficult to read and maintain.
61
62
@italian
63
64
Il comando ''EXIT PROCEDURE'' viene utilizzato per interrompere l'esecuzione
65
di una procedura specifica e trasferire il controllo del programma alla prima
66
istruzione successiva alla chiamata di tale procedura.
67
68
Il comando è utile per uscire quando si verifica un errore o una condizione imprevista,
69
e può essere utilizzato per terminare la procedura e gestire l'errore in modo appropriato.
70
In alcuni casi, l'utilizzo di ''EXIT PROCEDURE'' può rendere il codice più efficiente
71
evitando di eseguire istruzioni non necessarie. ''EXIT PROCEDURE'' consente di creare
72
flussi di controllo più complessi e prendere decisioni dinamiche durante l'esecuzione
73
del programma. Tuttavia, un utilizzo eccessivo di ''EXIT PROCEDURE'' può rendere il
74
codice 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
124
void
exit_procedure
(
Environment
* _environment ) {
125
126
cpu_return
( _environment );
127
128
}
129
cpu_return
void cpu_return(Environment *_environment)
Definition
6309.c:4030
exit_procedure
void exit_procedure(Environment *_environment)
Emit code for POP PROC / EXIT PROC.
Definition
exit_proc.c:124
ugbc.h
Environment
struct _Environment Environment
Structure of compilation environment.
Z:
ugbasic
ugbc
src
targets
common
exit_proc.c
Generated by
1.16.1