Graphviz 12.0.1~dev.20240716.0800
Loading...
Searching...
No Matches
compile.h File Reference
#include <sfio/sfio.h>
#include <parse.h>
#include <gprstate.h>
#include <expr/expr.h>
#include <stddef.h>
#include <stdio.h>
Include dependency graph for compile.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  case_stmt
 
struct  nval_t
 
struct  gval_t
 
struct  uval_t
 
struct  comp_block
 
struct  comp_prog
 

Macros

#define UDATA   "userval"
 
#define OBJ(p)   ((Agobj_t*)p)
 
#define nData(n)   ((ndata*)(aggetrec(n,UDATA,0)))
 
#define gData(g)   ((gdata*)(aggetrec(g,UDATA,0)))
 
#define SRCOUT   0x1
 
#define INDUCE   0x2
 
#define CLONE   0x4
 
#define WALKSG   0x1
 
#define BEGG   0x2
 
#define ENDG   0x4
 

Typedefs

typedef nval_t ndata
 
typedef uval_t edata
 
typedef gval_t gdata
 

Functions

comp_progcompileProg (parse_prog *, Gpr_t *, int)
 
void freeCompileProg (comp_prog *p)
 
int usesGraph (comp_prog *)
 
int walksGraph (comp_block *)
 
Agraph_treadG (FILE *fp)
 
Agraph_topenG (char *name, Agdesc_t)
 
Agraph_topenSubg (Agraph_t *g, char *name)
 
Agnode_topenNode (Agraph_t *g, char *name)
 
Agedge_topenEdge (Agraph_t *g, Agnode_t *t, Agnode_t *h, char *key)
 

Macro Definition Documentation

◆ BEGG

#define BEGG   0x2

Definition at line 60 of file compile.h.

◆ CLONE

#define CLONE   0x4

Definition at line 57 of file compile.h.

◆ ENDG

#define ENDG   0x4

Definition at line 61 of file compile.h.

◆ gData

#define gData (   g)    ((gdata*)(aggetrec(g,UDATA,0)))

Definition at line 53 of file compile.h.

◆ INDUCE

#define INDUCE   0x2

Definition at line 56 of file compile.h.

◆ nData

#define nData (   n)    ((ndata*)(aggetrec(n,UDATA,0)))

Definition at line 52 of file compile.h.

◆ OBJ

#define OBJ (   p)    ((Agobj_t*)p)

Definition at line 46 of file compile.h.

◆ SRCOUT

#define SRCOUT   0x1

Definition at line 55 of file compile.h.

◆ UDATA

#define UDATA   "userval"

Definition at line 29 of file compile.h.

◆ WALKSG

#define WALKSG   0x1

Definition at line 59 of file compile.h.

Typedef Documentation

◆ edata

typedef uval_t edata

Definition at line 49 of file compile.h.

◆ gdata

typedef gval_t gdata

Definition at line 50 of file compile.h.

◆ ndata

typedef nval_t ndata

Definition at line 48 of file compile.h.

Function Documentation

◆ compileProg()

comp_prog * compileProg ( parse_prog inp,
Gpr_t state,
int  flags 
)
extern

Definition at line 2430 of file compile.c.

References comp_prog::begin_stmt, parse_prog::begin_stmt, BITS_PER_BYTE, comp_prog::blocks, parse_prog::blocks, codePhase, compile(), doFlags(), comp_prog::end_stmt, parse_prog::end_stmt, ENDG, comp_prog::endg_stmt, parse_prog::endg_stmt, error(), ERROR_ERROR, exinit(), exopen(), flags, comp_prog::flags, freeCompileProg(), G, getErrorErrors(), gv_calloc(), initDisc(), parse_prog::l_begin, parse_prog::l_end, parse_prog::l_endg, mkBlock(), comp_prog::n_blocks, parse_prog::n_blocks, _parse_block::next, NULL, comp_prog::prog, setErrorLine(), parse_prog::source, state, symbols, T_graph, TBITS, tchk, Exid_s::type, VOIDTYPE, and Y.

Referenced by gvpr_core().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ freeCompileProg()

void freeCompileProg ( comp_prog p)
extern

Definition at line 2515 of file compile.c.

References comp_prog::blocks, comp_block::edge_stmts, exclose(), free(), comp_prog::n_blocks, comp_block::node_stmts, and comp_prog::prog.

Referenced by compileProg(), and gvpr().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ openEdge()

Agedge_t * openEdge ( Agraph_t g,
Agnode_t t,
Agnode_t h,
char *  key 
)
extern

Definition at line 2612 of file compile.c.

References agbindrec(), agedge(), aggetrec(), key, sameG(), and UDATA.

Referenced by cloneO(), copy(), and getval().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ openG()

Agraph_t * openG ( char *  name,
Agdesc_t  desc 
)
extern

Definition at line 2570 of file compile.c.

References agbindrec(), AgIdDisc, agopen(), gprDisc, Agdisc_s::id, and UDATA.

Referenced by cloneG(), cloneO(), copy(), and getval().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ openNode()

Agnode_t * openNode ( Agraph_t g,
char *  name 
)
extern

Definition at line 2599 of file compile.c.

References agbindrec(), aggetrec(), agnode(), and UDATA.

Referenced by cloneO(), copy(), and getval().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ openSubg()

Agraph_t * openSubg ( Agraph_t g,
char *  name 
)
extern

Definition at line 2586 of file compile.c.

References agbindrec(), aggetrec(), agsubg(), and UDATA.

Referenced by cloneO(), compOf(), copy(), getval(), and traverse().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ readG()

Agraph_t * readG ( FILE *  fp)
extern

Definition at line 2552 of file compile.c.

References AGEDGE, AgIdDisc, aginit(), AGNODE, AGRAPH, agread(), gprDisc, Agdisc_s::id, and UDATA.

Referenced by freadFile(), ing_read(), and readFile().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ usesGraph()

int usesGraph ( comp_prog p)
extern

Definition at line 2543 of file compile.c.

References comp_prog::flags.

Referenced by gvpr_core().

Here is the caller graph for this function:

◆ walksGraph()

int walksGraph ( comp_block p)
extern

Definition at line 2534 of file compile.c.

References comp_block::walks.

Referenced by gvpr_core().

Here is the caller graph for this function: