V10/cmd/cyntax/cem/var.h

Compare this file to the similar file:
Show the results in this format:

/*
 *	Structures for variables, initialisations
 *	and argument lists.
 */
typedef struct arg	arg;
typedef struct args	args;
typedef struct defn	defn;
typedef struct init	init;

struct arg
{
	args	*a_head;
	args	**a_tail;
	int	a_count;
	symbol	*a_file;
	long	a_line;
	arg	*a_next;
};

struct args
{
	type	*a_type;
	args	*a_next;
};

struct defn
{
	obj_vars d_what;
	type	*d_type;
	symbol	*d_file;
	long	d_line;
	defn	*d_next;
};

struct init
{
	symbol	*i_file;
	long	i_line;
	int	i_varargs;
	init	*i_next;
};

struct inst
{
	symbol	*i_name;
	arg	*i_argdefn;
	arg	*i_args;
	arg	**i_tail;
	defn	*i_defn;
	init	*i_init;
	inst	*i_next;
};

struct var
{
	obj_vars v_what;
	symbol	*v_name;
	type	*v_type;
	symbol	*v_file;
	long	v_line;
	symbol	*v_ifile;
	long	v_iline;
	long	v_index;
	int	v_varargs;
	arg	*v_argdefn;
	arg	*v_args;
	arg	**v_tail;
	var	*v_next;
};