Graphviz 12.0.1~dev.20240716.0800
Loading...
Searching...
No Matches
exparse.y File Reference
#include <assert.h>
#include <cgraph/gv_ctype.h>
#include <cgraph/streq.h>
#include <expr/exop.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ast/ast.h>
#include <expr/exgram.h>

Go to the source code of this file.

Functions

 if (expr.procedure) exerror("no nested function definitions")
 
 if (!(disc=calloc(1, sizeof(Dtdisc_t)))) exnospace()
 
 if (expr.assigned &&!streq($1->name, "begin"))
 
 if (expr.program->frame)
 
 if ($4 && $4->op==S2B)
 
else if (! $2) $$
 

Variables

require define api prefix
 
action_list __pad0__
 
action __pad1__
 
$1 lex = PROCEDURE
 
expr procedure = $1->value = exnewnode(expr.program, PROCEDURE, 1, $1->type, NULL, NULL)
 
expr procedure type = INTEGER
 
disc key = offsetof(Exid_t, name)
 
 statement_list
 
$1 value data operand right = excast(expr.program, $4, $1->type, NULL, 0)
 
statement_list __pad2__
 
statement_list statement
 
else $$ = exnewnode(expr.program, ';', 1, $2->type, $1, $2)
 
statement __pad3__
 
 expr_opt
 
static DECLARE {expr.declare=$3->type
 
 dcl_list
 
expr declare = 0
 

Function Documentation

◆ if() [1/6]

else if ( $2)

References $$, $1, $2, exfreenode(), expr, and Exstate_s::program.

Here is the call graph for this function:

◆ if() [2/6]

if ( disc=calloc(1, sizeof(Dtdisc_t)))

◆ if() [3/6]

else if (   $4 && $4-> = S2B)

Definition at line 230 of file exparse.y.

References Exnode_s::data, exfreenode(), expr, Exdata_u::left, Exdata_u::operand, and Exstate_s::program.

Here is the call graph for this function:

◆ if() [4/6]

if ( expr.assigned &&!  streq $1->name, "begin")

Definition at line 215 of file exparse.y.

References Exnode_s::data, dtopen(), Dtset, dtview(), exnospace(), expr, Exstate_s::procedure, Exstate_s::program, and Expr_s::symbols.

Here is the call graph for this function:

◆ if() [5/6]

if ( expr.  procedure)

◆ if() [6/6]

if ( expr.program->  frame)

Definition at line 224 of file exparse.y.

References dtview(), expr, NULL, Exstate_s::program, and Expr_s::symbols.

Here is the call graph for this function:

Variable Documentation

◆ $$

else $$ = exnewnode(expr.program, ';', 1, $2->type, $1, $2)

Definition at line 258 of file exparse.y.

Referenced by if().

◆ __pad0__

action_list __pad0__

Definition at line 200 of file exparse.y.

◆ __pad1__

action __pad1__

Definition at line 204 of file exparse.y.

◆ __pad2__

statement_list __pad2__

Definition at line 243 of file exparse.y.

◆ __pad3__

statement __pad3__

Definition at line 262 of file exparse.y.

◆ dcl_list

dcl_list

Definition at line 270 of file exparse.y.

◆ DECLARE

DECLARE {expr.declare=$3->type

Definition at line 270 of file exparse.y.

◆ declare

expr declare = 0

Definition at line 273 of file exparse.y.

◆ expr_opt

expr_opt

Definition at line 266 of file exparse.y.

◆ key

◆ lex

$1 lex = PROCEDURE

Definition at line 209 of file exparse.y.

Referenced by extoken_fn().

◆ prefix

require define api prefix

Definition at line 17 of file exparse.y.

◆ procedure

expr procedure = $1->value = exnewnode(expr.program, PROCEDURE, 1, $1->type, NULL, NULL)

Definition at line 210 of file exparse.y.

◆ right

$1 value data operand right = excast(expr.program, $4, $1->type, NULL, 0)

Definition at line 239 of file exparse.y.

◆ statement

statement_list statement
Initial value:
{
if (!$1)
$$ = $2
else $$
Definition exparse.y:258
alist $2
Definition gmlparse.y:323
glistitem $1
Definition gmlparse.y:278

Definition at line 247 of file exparse.y.

◆ statement_list

statement_list
Initial value:
{
Exstate_t expr
Exnode_t * procedure
Definition exlib.h:158

Definition at line 221 of file exparse.y.

◆ type

Definition at line 211 of file exparse.y.

Referenced by attached_clustering(), colorx(), convert(), dthash(), dtlist(), dtrestore(), dttree(), dtvsearch(), emit_edge_label(), evaldyn(), exexpr(), extype(), exzero(), free_swig(), getdyn(), gvloadimage(), gvplugin_install(), gvplugin_list(), gvplugin_package_record(), gvrender_begin_label(), Import_coord_clusters_from_dot(), keyval(), makeRandom(), map_path(), print_member_function_swig(), print_swig_aux(), Ruby_Format_TypeError(), size_of_matrix_type(), SparseMatrix_from_coordinate_arrays(), SparseMatrix_from_coordinate_arrays_internal(), SparseMatrix_from_coordinate_arrays_not_compacted(), SparseMatrix_general_new(), SparseMatrix_get_augmented(), SparseMatrix_import_dot(), SparseMatrix_import_matrix_market(), SparseMatrix_init(), SparseMatrix_is_symmetric(), SparseMatrix_multiply(), SparseMatrix_multiply3(), SparseMatrix_new(), SparseMatrix_sum_repeat_entries(), SparseMatrix_transpose(), SWIG_Guile_ConvertMember(), SWIG_Guile_ConvertPtr(), SWIG_Guile_IsPointerOfType(), SWIG_Guile_MustGetPtr(), SWIG_Guile_NewMemberObj(), SWIG_Guile_NewPointerObj(), SWIG_InitializeModule(), SWIG_Lua_AddMetatable(), SWIG_Lua_class_do_get(), SWIG_Lua_class_do_get_item(), SWIG_Lua_class_do_set(), SWIG_Lua_class_get(), SWIG_Lua_class_set(), SWIG_Lua_ConvertPacked(), SWIG_Lua_ConvertPtr(), SWIG_Lua_MustGetPtr(), SWIG_Lua_NewPackedObj(), SWIG_Lua_NewPointerObj(), SWIG_Perl_MakePackedObj(), SWIG_Perl_NewPackedObj(), SWIG_Perl_TypeProxyName(), swig_ptr_cast_object(), SWIG_Python_AddErrMesg(), SWIG_Python_AddErrorMsg(), SWIG_Python_ErrorType(), SWIG_Python_InstallConstants(), SWIG_Python_NewPackedObj(), SWIG_Python_NewPointerObj(), SWIG_Python_RaiseOrModifyTypeError(), SWIG_Python_TypeError(), SWIG_Python_TypeQuery(), SWIG_Ruby_define_class(), SWIG_Ruby_ErrorType(), SWIG_Ruby_NewClassInstance(), SWIG_Ruby_NewPackedObj(), SWIG_Ruby_NewPointerObj(), SWIG_SetPointerZval(), SWIG_Tcl_ErrorType(), SWIG_Tcl_InstallConstants(), SWIG_Tcl_InstallMethodLookupTables(), SWIG_Tcl_NewInstanceObj(), SWIG_Tcl_NewPackedObj(), SWIG_Tcl_NewPointerObj(), SWIG_TypePrettyName(), SwigPyObject_dealloc(), SwigPyObject_type(), SwigPyPacked_type(), write_attrs(), xConvert(), and XS().