Graphviz 13.0.0~dev.20241220.2304
Loading...
Searching...
No Matches
exlib.h File Reference
#include <ast/ast.h>
#include <sfio/sfio.h>
#include <stdio.h>
#include <util/agxbuf.h>
#include <expr/expr.h>
#include <ctype.h>
#include <ast/error.h>
Include dependency graph for exlib.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  Exinput_s
 
struct  Print_s
 
struct  Switch_s
 
struct  Exassoc_s
 
struct  Exstate_s
 

Macros

#define _EX_DATA_PRIVATE_
 
#define _EX_NODE_PRIVATE_    int subop; /* operator qualifier */
 
#define _EX_PROG_PRIVATE_
 
#define id_string   (&exbuiltin[0])
 
#define exunlex(p, c)   ((p)->linep--,(p)->input->peek=(c))
 
#define putcontext(p, c)   (((p)->linep>=&(p)->line[sizeof((p)->line)]?(p)->linep=(p)->line,(p)->linewrap=1:0),*(p)->linep++=(c))
 
#define setcontext(p)   ((p)->linep=(p)->line,(p)->linewrap=0)
 

Typedefs

typedef struct Exinput_s Exinput_t
 
typedef struct Print_s Print_t
 
typedef struct Switch_s Switch_t
 
typedef struct Exassoc_s Exassoc_t
 
typedef struct Exstate_s Exstate_t
 

Functions

int ex_parse (void)
 

Variables

Exid_t exbuiltin []
 
const char * exversion
 
Exstate_t expr
 

Macro Definition Documentation

◆ _EX_DATA_PRIVATE_

#define _EX_DATA_PRIVATE_

Definition at line 51 of file exlib.h.

◆ _EX_NODE_PRIVATE_

#define _EX_NODE_PRIVATE_    int subop; /* operator qualifier */

Definition at line 96 of file exlib.h.

◆ _EX_PROG_PRIVATE_

#define _EX_PROG_PRIVATE_
Value:
Vmalloc_t* ve; /* eval tmp region */ \
Dt_t* frame; /* frame symbol table */ \
Dtdisc_t symdisc; /* Expr_t.symbols discipline */ \
Exdisc_t* disc; /* user discipline */ \
Exinput_t* input; /* input stack */ \
Expr_t* program; /* previous program on stack */ \
agxbuf tmp; /* tmp string buffer */ \
Extype_t loopret; /* return value */ \
Exid_t main; /* main procedure */ \
char line[512]; /* last few input tokens */ \
char* linep; /* line[] pointer */ \
int eof; /* lex hit eof */ \
int errors; /* fatal error count */ \
int linewrap; /* linep wrapped around line[] */ \
long long loopcount; /* break|continue|return count */ \
long loopop; /* break|continue|return op */ \
int nesting; /* exstatement() nesting */
static Dtdisc_t disc
Definition exparse.y:209
static int errors
Definition gmlscan.c:846
Definition expr.h:93
Definition expr.h:200
Definition cdt.h:100
int main()

Definition at line 99 of file exlib.h.

◆ exunlex

#define exunlex (   p,
 
)    ((p)->linep--,(p)->input->peek=(c))

Definition at line 124 of file exlib.h.

◆ id_string

#define id_string   (&exbuiltin[0])

Definition at line 122 of file exlib.h.

◆ putcontext

#define putcontext (   p,
 
)    (((p)->linep>=&(p)->line[sizeof((p)->line)]?(p)->linep=(p)->line,(p)->linewrap=1:0),*(p)->linep++=(c))

Definition at line 125 of file exlib.h.

◆ setcontext

#define setcontext (   p)    ((p)->linep=(p)->line,(p)->linewrap=0)

Definition at line 126 of file exlib.h.

Typedef Documentation

◆ Exassoc_t

typedef struct Exassoc_s Exassoc_t

◆ Exinput_t

typedef struct Exinput_s Exinput_t

◆ Exstate_t

typedef struct Exstate_s Exstate_t

◆ Print_t

typedef struct Print_s Print_t

◆ Switch_t

typedef struct Switch_s Switch_t

Function Documentation

◆ ex_parse()

int ex_parse ( void  )
extern

Variable Documentation

◆ exbuiltin

Exid_t exbuiltin[]
extern

Definition at line 24 of file exdata.c.

Referenced by exopen().

◆ expr

◆ exversion

const char* exversion
extern

Definition at line 22 of file exdata.c.