Graphviz 13.0.0~dev.20241220.2304
Loading...
Searching...
No Matches
compile.h File Reference
#include <sfio/sfio.h>
#include <parse.h>
#include <gprstate.h>
#include <expr/expr.h>
#include <stdbool.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  lock_t
 
struct  gval_t
 
struct  edata
 
struct  compflags_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)))
 

Typedefs

typedef nval_t ndata
 
typedef gval_t gdata
 

Functions

comp_progcompileProg (parse_prog *, Gpr_t *, compflags_t)
 
void freeCompileProg (comp_prog *p)
 
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

◆ gData

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

Definition at line 58 of file compile.h.

◆ nData

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

Definition at line 57 of file compile.h.

◆ OBJ

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

Definition at line 52 of file compile.h.

◆ UDATA

#define UDATA   "userval"

Definition at line 30 of file compile.h.

Typedef Documentation

◆ gdata

typedef gval_t gdata

Definition at line 55 of file compile.h.

◆ ndata

typedef nval_t ndata

Definition at line 54 of file compile.h.

Function Documentation

◆ compileProg()

comp_prog * compileProg ( parse_prog inp,
Gpr_t state,
compflags_t  flags 
)

Definition at line 2369 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(), Gpr_t::dp, comp_prog::end_stmt, parse_prog::end_stmt, comp_prog::endg_stmt, parse_prog::endg_stmt, error, ERROR_ERROR, exinit(), exopen(), flags, freeCompileProg(), G, getErrorErrors(), gv_calloc(), initDisc(), parse_prog::l_begin, parse_prog::l_end, parse_prog::l_endg, mkBlock(), comp_prog::n_blocks, NULL, comp_prog::prog, setErrorLine(), parse_prog::source, symbols, T_graph, TBITS, tchk, Exid_s::type, comp_prog::uses_graph, 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 2449 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 2526 of file compile.c.

References agbindrec(), agedge(), aggetrec(), 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 2487 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 2514 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 2502 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 2469 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: