ugBASIC 1.18
An isomorphic BASIC language compiler for retrocomputers
Loading...
Searching...
No Matches
_optimizer.c File Reference
#include "../../ugbc.h"
#include <stdarg.h>
#include <ctype.h>
#include <string.h>

Go to the source code of this file.

Data Structures

struct  _UnusedSymbol

Macros

#define DIRECT_PAGE   0x2100
#define LOOK_AHEAD   10
#define ALLOW_UNSAFE   0
#define KEEP_COMMENTS   1
#define DO_DIRECT_PAGE   1
#define DO_INLINE   1
#define DO_UNREAD   1
#define R__(X)
#define R_(X)
#define RULE   "r" R_(__LINE__) " "
#define NO_REORG   1
#define NO_DP   2
#define NO_INLINE   4
#define NO_REMOVE   8

Typedefs

typedef struct _UnusedSymbol UnusedSymbol

Functions

int isAComment (POBuffer buf)
struct var * vars_get (POBuffer _name)
void target_peephole_optimizer (Environment *_environment)
void target_finalize (Environment *_environment)

Macro Definition Documentation

◆ ALLOW_UNSAFE

#define ALLOW_UNSAFE   0

Definition at line 86 of file _optimizer.c.

◆ DIRECT_PAGE

#define DIRECT_PAGE   0x2100

Definition at line 84 of file _optimizer.c.

◆ DO_DIRECT_PAGE

#define DO_DIRECT_PAGE   1

Definition at line 89 of file _optimizer.c.

◆ DO_INLINE

#define DO_INLINE   1

Definition at line 90 of file _optimizer.c.

◆ DO_UNREAD

#define DO_UNREAD   1

Definition at line 91 of file _optimizer.c.

◆ KEEP_COMMENTS

#define KEEP_COMMENTS   1

Definition at line 87 of file _optimizer.c.

◆ LOOK_AHEAD

#define LOOK_AHEAD   10

Definition at line 85 of file _optimizer.c.

◆ NO_DP

#define NO_DP   2

Definition at line 1302 of file _optimizer.c.

◆ NO_INLINE

#define NO_INLINE   4

Definition at line 1303 of file _optimizer.c.

◆ NO_REMOVE

#define NO_REMOVE   8

Definition at line 1304 of file _optimizer.c.

◆ NO_REORG

#define NO_REORG   1

Definition at line 1301 of file _optimizer.c.

◆ R_

#define R_ ( X)
Value:
#define R__(X)
Definition _optimizer.c:142
@ X
Definition ugbc.tab.h:950

Definition at line 219 of file _optimizer.c.

◆ R__

#define R__ ( X)
Value:
#X

Definition at line 218 of file _optimizer.c.

◆ RULE

#define RULE   "r" R_(__LINE__) " "

Definition at line 220 of file _optimizer.c.

Typedef Documentation

◆ UnusedSymbol

typedef struct _UnusedSymbol UnusedSymbol

Function Documentation

◆ isAComment()

int isAComment ( POBuffer buf)

Definition at line 109 of file _optimizer.c.

◆ target_finalize()

void target_finalize ( Environment * _environment)

Definition at line 2793 of file _optimizer.c.

◆ target_peephole_optimizer()

void target_peephole_optimizer ( Environment * _environment)

Definition at line 2753 of file _optimizer.c.

◆ vars_get()

struct var * vars_get ( POBuffer _name)

Definition at line 1331 of file _optimizer.c.

Variable Documentation

◆ bank_read

int bank_read

Definition at line 1311 of file _optimizer.c.

◆ capacity

int capacity

Definition at line 1313 of file _optimizer.c.

◆ flags

int flags

Definition at line 1305 of file _optimizer.c.

◆ init

char* init

Definition at line 1310 of file _optimizer.c.

◆ name

char* name

Definition at line 1300 of file _optimizer.c.

◆ nb_rd

int nb_rd

Definition at line 1307 of file _optimizer.c.

◆ nb_wr

int nb_wr

Definition at line 1308 of file _optimizer.c.

◆ offset

int offset

Definition at line 1309 of file _optimizer.c.

◆ page0_max

int page0_max

Definition at line 1315 of file _optimizer.c.

◆ size

int size

Definition at line 1306 of file _optimizer.c.

◆ [struct]

struct { ... } ::var * tab