ugBASIC 1.18
An isomorphic BASIC language compiler for retrocomputers
Loading...
Searching...
No Matches
pow.c File Reference
#include "../../ugbc.h"

Go to the source code of this file.

Functions

Variablepowering (Environment *_environment, char *_base, char *_exponential)
 Emit code to raise a variable to a given variable.

Variables

char DATATYPE_AS_STRING [][16]
 Emit code for BEGIN COPPER.

Function Documentation

◆ powering()

Variable * powering ( Environment * _environment,
char * _base,
char * _exponential )

Emit code to raise a variable to a given variable.

This function allows you to emit a code that raise a variable to a given variable.

Precondition
_base and _exponential variables must exist
Parameters
_environmentCurrent calling environment
_baseBase variable's name
_exponentialExponential variable's name
Returns
Variable* The result of calculation

Definition at line 91 of file pow.c.

Variable Documentation

◆ DATATYPE_AS_STRING

char DATATYPE_AS_STRING[][16]
extern

Emit code for BEGIN COPPER.

This variable defines as an array of constant pointers. Each element of the array represents the "human" name of a ugBASIC's data type. The main reason is to map an IDto a readable string. If ugBASIC encounters an error, you don't want it to print "Error in type 2," but rather "Error in type FLOAT.". Note that it's vital that the order of strings in the array exactly reflects the order of the IDs in your enum. If you move an element to one, you must also move it to the other, otherwise the mapping will be staggered. Often, a final NULL or UNKNOWN string is added to handle error cases or to allow you to loop through the array without knowing its size beforehand.

Definition at line 133 of file _infrastructure.c.