Parser does not need to know all programmer types now, new programmers

will update only the table in pgm_type.c.
  * config_gram.y, lexer.l: removed programmer type keywords,
    use now locate_programmer_type() function
  * pgm_type.[ch]: added new files for table of programmer types
  * main.c: allow list of programmer types by -c ?type
  * avrdude.conf.in: changed all type keywords to quoted strings
  * doc/avrdude.texi: changed description of type definition, list
    of valid types is now included from generated file
  * doc/Makefile.am: generate list of programmer types for doc
  * all programmers [hc]: add xxx_desc string for description of programmer


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1051 81a1dc3b-b13d-400b-aceb-764788c761c2
This commit is contained in:
Rene Liebscher
2012-01-31 17:03:43 +00:00
parent 1a154d2fcd
commit c1095de822
45 changed files with 442 additions and 214 deletions

View File

@@ -57,10 +57,10 @@ extern char * yytext;
void cleanup_config(void)
{
ldestroy_cb(part_list,avr_free_part);
ldestroy_cb(programmers,pgm_free);
ldestroy_cb(string_list,free_token);
ldestroy_cb(number_list,free_token);
ldestroy_cb(part_list, (void(*)(void*))avr_free_part);
ldestroy_cb(programmers, (void(*)(void*))pgm_free);
ldestroy_cb(string_list, (void(*)(void*))free_token);
ldestroy_cb(number_list, (void(*)(void*))free_token);
}
int init_config(void)
@@ -89,7 +89,7 @@ int yywrap()
int yyerror(char * errmsg)
{
fprintf(stderr, "%s at %s:%d\n", errmsg, infile, lineno);
fprintf(stderr, "%s: %s at %s:%d\n", progname, errmsg, infile, lineno);
exit(1);
}
@@ -291,6 +291,11 @@ char * dup_string(const char * str)
return s;
}
#ifdef HAVE_YYLEX_DESTROY
/* reset lexer and free any allocated memory */
extern int yylex_destroy(void);
#endif
int read_config(const char * file)
{
FILE * f;