Esempio n. 1
0
struct parser *init_parse_v(void) {
	struct parser *p = parser_new();
	parser_setpriv(p, NULL);
	parser_reg(p, "N uint index str name", parse_v_n);
	parser_reg(p, "X uint type int rating uint height uint width uint min_lev uint max_lev", parse_v_x);
	parser_reg(p, "D str text", parse_v_d);
	return p;
}
Esempio n. 2
0
errr register_sound_pref_parser(struct parser *p)
{
#ifdef SOUND
	return parser_reg(p, SOUND_PRF_FORMAT, parse_prefs_sound);
#else
	return parser_reg(p, SOUND_PRF_FORMAT, parse_prefs_dummy);
#endif
}
Esempio n. 3
0
struct parser *init_parse_quest(void) {
	struct parser *p = parser_new();
	parser_setpriv(p, NULL);
	parser_reg(p, "name str name", parse_quest_name);
	parser_reg(p, "level uint level", parse_quest_level);
	parser_reg(p, "race str race", parse_quest_race);
	parser_reg(p, "number uint number", parse_quest_number);
	return p;
}
Esempio n. 4
0
static struct parser *init_parse_room(void) {
	struct parser *p = parser_new();
	parser_setpriv(p, NULL);
	parser_reg(p, "V sym version", ignored);
	parser_reg(p, "N uint index str name", parse_room_n);
	parser_reg(p, "X uint type int rating uint height uint width uint doors uint tval", parse_room_x);
	parser_reg(p, "D str text", parse_room_d);
	return p;
}
Esempio n. 5
0
static struct parser *init_parse_grafmode(void) {
	struct parser *p = parser_new();
	parser_setpriv(p, NULL);

	parser_reg(p, "V sym version", ignored);
	parser_reg(p, "N uint index str menuname", parse_graf_n);
	parser_reg(p, "I uint wid uint hgt str filename", parse_graf_i);
	parser_reg(p, "P str prefname", parse_graf_p);
	parser_reg(p, "X uint alpha uint row uint max", parse_graf_x);

	return p;
}
Esempio n. 6
0
int test_uint1(void *state) {
	errr r = parser_reg(state, "test-uint1 uint u0", ignored);
	enum parser_error e = parser_parse(state, "test-uint1:-2");
	eq(r, 0);
	eq(e, PARSE_ERROR_NOT_NUMBER);
	ok;
}
Esempio n. 7
0
int test_str0(void *state) {
	int wasok = 0;
	errr r = parser_reg(state, "test-str0 str s0", helper_str0);
	eq(r, 0);
	parser_setpriv(state, &wasok);
	r = parser_parse(state, "test-str0:foo:bar:baz quxx...");
	eq(r, PARSE_ERROR_NONE);
	eq(wasok, 1);
	ok;
}
Esempio n. 8
0
int test_int1(void *state) {
	int wasok = 0;
	errr r = parser_reg(state, "test-int1 int i0", helper_int1);
	eq(r, 0);
	parser_setpriv(state, &wasok);
	r = parser_parse(state, "test-int1:-3");
	eq(r, PARSE_ERROR_NONE);
	eq(wasok, 1);
	ok;
}
Esempio n. 9
0
int test_rand1(void *state) {
	int wasok = 0;
	errr r = parser_reg(state, "test-rand1 rand r0 rand r1", helper_rand1);
	eq(r, 0);
	parser_setpriv(state, &wasok);
	r = parser_parse(state, "test-rand1:2d3:4d5");
	eq(r, 0);
	eq(wasok, 1);
	ok;
}
Esempio n. 10
0
int test_sym1(void *state) {
	int wasok = 0;
	errr r = parser_reg(state, "test-sym1 sym foo sym baz", helper_sym1);
	eq(r, 0);
	parser_setpriv(state, &wasok);
	r = parser_parse(state, "test-sym1:bar:quxx");
	eq(r, PARSE_ERROR_NONE);
	eq(wasok, 1);
	ok;
}
Esempio n. 11
0
int test_int0(void *state) {
	int wasok = 0;
	errr r = parser_reg(state, "test-int0 int i0 int i1", helper_int0);
	eq(r, 0);
	parser_setpriv(state, &wasok);
	r = parser_parse(state, "test-int0:42:81");
	eq(r, PARSE_ERROR_NONE);
	eq(wasok, 1);
	ok;
}
Esempio n. 12
0
int test_sym0(void *state) {
	int wasok = 0;
	errr r = parser_reg(state, "test-sym0 sym foo", helper_sym0);
	eq(r, 0);
	parser_setpriv(state, &wasok);
	r = parser_parse(state, "test-sym0:bar");
	eq(r, PARSE_ERROR_NONE);
	eq(wasok, 1);
	ok;
}
Esempio n. 13
0
int test_rand0(void *state) {
	int wasok = 0;
	errr r = parser_reg(state, "test-rand0 rand r0", helper_rand0);
	eq(r, 0);
	parser_setpriv(state, &wasok);
	r = parser_parse(state, "test-rand0:2d3");
	eq(r, 0);
	eq(wasok, 1);
	ok;
}
Esempio n. 14
0
int test_char1(void *state) {
	int wasok = 0;
	errr r = parser_reg(state, "test-char1 char c0 int i0 char c1 str s", helper_char1);
	enum parser_error e;
	eq(r, 0);
	parser_setpriv(state, &wasok);
	e = parser_parse(state, "test-char1:::34:::lala");
	eq(e, PARSE_ERROR_NONE);
	eq(wasok, 1);
	ok;
}
Esempio n. 15
0
struct parser *init_parse_vault(void) {
	struct parser *p = parser_new();
	parser_setpriv(p, NULL);
	parser_reg(p, "name str name", parse_vault_name);
	parser_reg(p, "type str type", parse_vault_type);
	parser_reg(p, "rating int rating", parse_vault_rating);
	parser_reg(p, "rows uint height", parse_vault_rows);
	parser_reg(p, "columns uint width", parse_vault_columns);
	parser_reg(p, "min-depth uint min_lev", parse_vault_min_depth);
	parser_reg(p, "max-depth uint max_lev", parse_vault_max_depth);
	parser_reg(p, "D str text", parse_vault_d);
	return p;
}
Esempio n. 16
0
static struct parser *init_parse_room(void) {
	struct parser *p = parser_new();
	parser_setpriv(p, NULL);
	parser_reg(p, "name str name", parse_room_name);
	parser_reg(p, "type uint type", parse_room_type);
	parser_reg(p, "rating int rating", parse_room_rating);
	parser_reg(p, "rows uint height", parse_room_height);
	parser_reg(p, "columns uint width", parse_room_width);
	parser_reg(p, "doors uint doors", parse_room_doors);
	parser_reg(p, "tval sym tval", parse_room_tval);
	parser_reg(p, "D str text", parse_room_d);
	return p;
}
Esempio n. 17
0
struct parser *init_parse_stores(void) {
	struct parser *p = parser_new();
	parser_setpriv(p, NULL);
	parser_reg(p, "store uint index str name", parse_store);
	parser_reg(p, "owner uint purse str name", parse_owner);
	parser_reg(p, "slots uint min uint max", parse_slots);
	parser_reg(p, "turnover uint turnover", parse_turnover);
	parser_reg(p, "normal sym tval sym sval", parse_normal);
	parser_reg(p, "always sym tval sym sval", parse_always);
	parser_reg(p, "buy str base", parse_buy);
	parser_reg(p, "buy-flag sym flag str base", parse_buy_flag);
	return p;
}
Esempio n. 18
0
int test_char0(void *state) {
	int wasok = 0;
	errr r = parser_reg(state, "test-char0 char c", helper_char0);
	enum parser_error e;
	eq(r, 0);
	parser_setpriv(state, &wasok);
	e = parser_parse(state, "test-char0:C");
	eq(e, PARSE_ERROR_NONE);
	eq(wasok, 1);
	ok;
}
Esempio n. 19
0
int test_uint0(void *state) {
	int wasok = 0;
	errr r = parser_reg(state, "test-uint0 uint u0", helper_uint0);
	enum parser_error e;
	eq(r, 0);
	parser_setpriv(state, &wasok);
	e = parser_parse(state, "test-uint0:42");
	eq(e, PARSE_ERROR_NONE);
	eq(wasok, 1);
	ok;

}
Esempio n. 20
0
int test_syntax2(void *state) {
	struct parser_state s;
	int v;
	errr r = parser_reg(state, "test-syntax2 int i0 sym s1", ignored);
	eq(r, 0);
	r = parser_parse(state, "test-syntax2::test");
	eq(r, PARSE_ERROR_NOT_NUMBER);
	v = parser_getstate(state, &s);
	require(v);
	eq(s.line, 7);
	eq(s.col, 2);
	ok;
}
Esempio n. 21
0
int test_syntax0(void *state) {
	struct parser_state s;
	int v;
	errr r = parser_reg(state, "test-syntax0 str s0", ignored);
	eq(r, 0);
	r = parser_parse(state, "test-syntax0");
	eq(r, PARSE_ERROR_MISSING_FIELD);
	v = parser_getstate(state, &s);
	require(v);
	eq(s.line, 5);
	eq(s.col, 2);
	ok;
}
Esempio n. 22
0
struct parser *init_parse_rb(void) {
	struct parser *p = parser_new();
	parser_setpriv(p, NULL);

	parser_reg(p, "V sym version", ignored);
	parser_reg(p, "N str name", parse_rb_n);
	parser_reg(p, "G char glyph", parse_rb_g);
	parser_reg(p, "M uint pain", parse_rb_m);
	parser_reg(p, "F ?str flags", parse_rb_f);
	parser_reg(p, "S ?str spells", parse_rb_s);
	parser_reg(p, "D str desc", parse_rb_d);
	return p;
}
Esempio n. 23
0
struct parser *init_parse_summon(void) {
	struct parser *p = parser_new();
	parser_setpriv(p, NULL);

	parser_reg(p, "name str name", parse_summon_name);
	parser_reg(p, "msgt sym type", parse_summon_message_type);
	parser_reg(p, "uniques int allowed", parse_summon_unique);
	parser_reg(p, "base sym base", parse_summon_base);
	parser_reg(p, "race-flag sym flag", parse_summon_race_flag);
	parser_reg(p, "fallback str fallback", parse_summon_fallback);
	parser_reg(p, "desc str desc", parse_summon_desc);
	return p;
}
Esempio n. 24
0
static struct parser *init_parse_profile(void) {
	struct parser *p = parser_new();
	parser_setpriv(p, NULL);
	parser_reg(p, "name str name", parse_profile_name);
	parser_reg(p, "params int block int rooms int unusual int rarity", parse_profile_params);
	parser_reg(p, "tunnel int rnd int chg int con int pen int jct", parse_profile_tunnel);
	parser_reg(p, "streamer int den int rng int mag int mc int qua int qc", parse_profile_streamer);
	parser_reg(p, "room sym name int height int width int level int pit int rarity int cutoff", parse_profile_room);
	parser_reg(p, "cutoff int cutoff", parse_profile_cutoff);
	return p;
}
Esempio n. 25
0
int test_opt0(void *state) {
	int wasok = 0;
	errr r = parser_reg(state, "test-opt0 sym s0 ?sym s1", helper_opt0);
	eq(r, 0);
	parser_setpriv(state, &wasok);
	r = parser_parse(state, "test-opt0:foo");
	eq(r, 0);
	eq(wasok, 1);
	require(parser_hasval(state, "s0"));
	require(!parser_hasval(state, "s1"));
	r = parser_parse(state, "test-opt0:foo:bar");
	eq(r, 0);
	eq(wasok, 2);
	require(parser_hasval(state, "s0"));
	require(parser_hasval(state, "s1"));
	ok;
}
Esempio n. 26
0
static struct parser *init_parse_prefs(bool user)
{
	struct parser *p = parser_new();
	struct prefs_data *pd = mem_zalloc(sizeof *pd);
	int i;

	parser_setpriv(p, pd);
	pd->user = user;
	for (i = 0; i < ANGBAND_TERM_MAX; i++) {
		pd->loaded_window_flag[i] = FALSE;
	}

	parser_reg(p, "% str file", parse_prefs_load);
	parser_reg(p, "? str expr", parse_prefs_expr);
	parser_reg(p, "K sym tval sym sval int attr int char", parse_prefs_k);
	parser_reg(p, "R uint idx int attr int char", parse_prefs_r);
	parser_reg(p, "F uint idx sym lighting int attr int char",
			   parse_prefs_f);
	parser_reg(p, "N uint idx int attr int char", parse_prefs_n);
	parser_reg(p, "GF sym type sym direction uint attr uint char",
			   parse_prefs_gf);
	parser_reg(p, "L uint idx int attr int char", parse_prefs_l);
	parser_reg(p, "E sym tval int attr", parse_prefs_e);
	parser_reg(p, "Q sym idx sym n ?sym sval ?sym flag", parse_prefs_q);
		/* XXX should be split into two kinds of line */
	parser_reg(p, "B uint idx str text", parse_prefs_b);
	/* XXX idx should be {tval,sval} pair! */
	parser_reg(p, "A str act", parse_prefs_a);
	parser_reg(p, "C int mode str key", parse_prefs_c);
	parser_reg(p, "M sym type sym attr", parse_prefs_m);
	parser_reg(p, "V uint idx int k int r int g int b", parse_prefs_v);
	parser_reg(p, "W int window uint flag uint value", parse_prefs_w);
	parser_reg(p, "X str option", parse_prefs_x);
	parser_reg(p, "Y str option", parse_prefs_y);

	return p;
}
Esempio n. 27
0
int test_reg_str(void *state) {
	errr r = parser_reg(state, "test-reg-str str baz", ignored);
	eq(r, 0);
	ok;
}
Esempio n. 28
0
int test_reg_sym(void *state) {
	errr r = parser_reg(state, "test-reg-sym sym bar", ignored);
	eq(r, 0);
	ok;
}
Esempio n. 29
0
int test_reg_int(void *state) {
	errr r = parser_reg(state, "test-reg-int int foo", ignored);
	eq(r, 0);
	ok;
}
Esempio n. 30
0
int test_reg5(void *state) {
	errr r = parser_reg(state, "abc str foo int bar", ignored);
	eq(r, -EINVAL);
	ok;
}