ugBASIC 1.18
An isomorphic BASIC language compiler for retrocomputers
Loading...
Searching...
No Matches
spc.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
41/* <usermanual>
42@keyword SPC
43
44@english
45The function ''SPC'' can be used to set a number of spaces, which are printed
46onto screen. ''SPC'' can be used several times in a sentence.
47
48Also note that ''SPC'' will not overwrite and erase things already printed
49on screen, so ''PRINT SPC(3)'' is not the same as ''PRINT" "'' in that respect.
50
51@italian
52La funzione ''SPC'' può essere utilizzata per impostare un numero di spazi,
53che verranno stampati sullo schermo. ''SPC'' può essere utilizzato più volte
54in un comando.
55
56Si noti inoltre che ''SPC'' non sovrascriverà né cancellerà le cose già
57stampate sullo schermo, quindi ''PRINT SPC(3)'' non è la stessa cosa di
58''PRINT" "'' sotto questo aspetto.
59
60@syntax PRINT SPC(spaces)
61
62@example PRINT SPC(10);"*"
63
64@usedInExample texts_position_11.bas
65
66@target all
67</usermanual> */
68void spc( Environment * _environment, char * _spaces ) {
69
70 Variable * spaces = variable_retrieve_or_define( _environment, _spaces, VT_BYTE, 0 );
71
72 cmove( _environment, spaces->name, NULL );
73
74}
Variable * variable_retrieve_or_define(Environment *_environment, char *_name, VariableType _type, int _value)
void cmove(Environment *_environment, char *_dx, char *_dy)
Emit code for CMOVE.
Definition cmove.c:100
void spc(Environment *_environment, char *_spaces)
Definition spc.c:68
char * name
Definition ugbc.h:979
struct _Variable Variable
Structure of a single variable.
struct _Environment Environment
Structure of compilation environment.
@ VT_BYTE
Definition ugbc.h:450