assignment
static arith_t assignment(int var, int noeval);
result = assignment(op, noeval);
b = assignment(yylex(), noeval | !a);
result = assignment(yylex(), noeval);
result = assignment(yylex(), 0);
find_var(char **env, char *assignment, size_t len)
if(strncmp(env[i], assignment, len) == 0)
extern struct assignment *assignment;
assignment = (yyvsp[(1) - (1)].assignment);
(yyvsp[(1) - (2)].assignment)->next = (yyvsp[(2) - (2)].assignment);
(yyval.assignment) = (yyvsp[(1) - (2)].assignment);
(yyval.assignment) = malloc(sizeof(*(yyval.assignment)));
(yyval.assignment)->name = (yyvsp[(1) - (3)].string);
(yyval.assignment)->type = a_value;
(yyval.assignment)->lineno = lineno;
(yyval.assignment)->u.value = (yyvsp[(3) - (3)].string);
(yyval.assignment)->next = NULL;
(yyval.assignment) = malloc(sizeof(*(yyval.assignment)));
(yyval.assignment)->name = (yyvsp[(1) - (5)].string);
(yyval.assignment)->type = a_assignment;
(yyval.assignment)->lineno = lineno;
(yyval.assignment)->u.assignment = (yyvsp[(4) - (5)].assignment);
(yyval.assignment)->next = NULL;
struct assignment *assignment;
struct assignment *assignment;
ex(struct assignment *a, const char *fmt, ...)
check_option(struct assignment *as)
struct assignment *a;
check_command(struct assignment *as)
struct assignment *a;
ret += check_option(a->u.assignment);
check(struct assignment *as)
struct assignment *a;
ret += check_command(a->u.assignment);
static struct assignment *
find_next(struct assignment *as, const char *name)
static struct assignment *
find(struct assignment *as, const char *name)
gen_command(struct assignment *as)
struct assignment *a, *b;
make_name(struct assignment *as)
struct assignment *lopt;
struct assignment *type;
static void defval_int(const char *name, struct assignment *defval)
static void defval_neg_flag(const char *name, struct assignment *defval)
static void defval_string(const char *name, struct assignment *defval)
static void defval_strings(const char *name, struct assignment *defval)
void (*defval)(const char*, struct assignment*);
static struct type_handler *find_handler(struct assignment *type)
gen_options(struct assignment *opt1, const char *name)
struct assignment *tmp;
struct assignment *type;
s = make_name(tmp->u.assignment);
type = find(tmp->u.assignment, "type");
gen_wrapper(struct assignment *as)
struct assignment *name;
struct assignment *arg;
struct assignment *opt1;
struct assignment *function;
struct assignment *tmp;
struct assignment *type = find(tmp->u.assignment, "type");
struct assignment *lopt = find(tmp->u.assignment, "long");
struct assignment *sopt = find(tmp->u.assignment, "short");
struct assignment *aarg = find(tmp->u.assignment, "argument");
struct assignment *help = find(tmp->u.assignment, "help");
struct assignment *type = find(tmp->u.assignment, "type");
struct assignment *defval = find(tmp->u.assignment, "default");
s = make_name(tmp->u.assignment);
s = make_name(tmp->u.assignment);
struct assignment *type = find(tmp->u.assignment, "type");
s = make_name(tmp->u.assignment);
struct assignment *type = find(tmp->u.assignment, "type");
s = make_name(tmp->u.assignment);
gen(struct assignment *as)
struct assignment *a;
gen_wrapper(a->u.assignment);
gen_command(a->u.assignment);
if(check(assignment) == 0) {
gen(assignment);
struct assignment *assignment;
$$->u.assignment = $4;
struct assignment *assignment;
ex(struct assignment *a, const char *fmt, ...)
check_option(struct assignment *as)
struct assignment *a;
check_command(struct assignment *as)
struct assignment *a;
ret += check_option(a->u.assignment);
check(struct assignment *as)
struct assignment *a;
ret += check_command(a->u.assignment);
static struct assignment *
find_next(struct assignment *as, const char *name)
static struct assignment *
find(struct assignment *as, const char *name)
gen_command(struct assignment *as)
struct assignment *a, *b;
make_name(struct assignment *as)
struct assignment *lopt;
struct assignment *type;
static void defval_int(const char *name, struct assignment *defval)
static void defval_neg_flag(const char *name, struct assignment *defval)
static void defval_string(const char *name, struct assignment *defval)
static void defval_strings(const char *name, struct assignment *defval)
void (*defval)(const char*, struct assignment*);
static struct type_handler *find_handler(struct assignment *type)
gen_options(struct assignment *opt1, const char *name)
struct assignment *tmp;
struct assignment *type;
s = make_name(tmp->u.assignment);
type = find(tmp->u.assignment, "type");
extern struct assignment *assignment;
gen_wrapper(struct assignment *as)
struct assignment *name;
struct assignment *arg;
struct assignment *opt1;
struct assignment *function;
struct assignment *tmp;
struct assignment *type = find(tmp->u.assignment, "type");
struct assignment *lopt = find(tmp->u.assignment, "long");
struct assignment *sopt = find(tmp->u.assignment, "short");
struct assignment *aarg = find(tmp->u.assignment, "argument");
struct assignment *help = find(tmp->u.assignment, "help");
struct assignment *type = find(tmp->u.assignment, "type");
struct assignment *defval = find(tmp->u.assignment, "default");
s = make_name(tmp->u.assignment);
s = make_name(tmp->u.assignment);
struct assignment *assignment;
%type <assignment> assignment assignments
struct assignment *type = find(tmp->u.assignment, "type");
s = make_name(tmp->u.assignment);
struct assignment *type = find(tmp->u.assignment, "type");
s = make_name(tmp->u.assignment);
gen(struct assignment *as)
struct assignment *a;
gen_wrapper(a->u.assignment);
gen_command(a->u.assignment);
assignment = $1;
assignments : assignment assignments
if(check(assignment) == 0) {
gen(assignment);
| assignment
assignment : LITERAL '=' STRING
struct assignment *assignment;
struct assignment *next;
if (l->assignment) {
f_print(fout, " = %s", l->assignment);
last = l->assignment;
elist->assignment = NULL;
elist->assignment = tok.str;
const char *assignment;