X-Git-Url: https://jxself.org/git/?p=zilutils.git;a=blobdiff_plain;f=zilasm%2Fdirectives.c;h=7c4eb193569fabd88466794a52cce2b1d334c2d1;hp=b5aaf1a463bb4d578d1e4637fb9f9a48316e85d8;hb=82b0f84ab797141758929d16894d42e12ef79af7;hpb=e66bff85f58de39f1b850a713413b0d9c10bb9a1 diff --git a/zilasm/directives.c b/zilasm/directives.c index b5aaf1a..7c4eb19 100644 --- a/zilasm/directives.c +++ b/zilasm/directives.c @@ -19,177 +19,202 @@ * SPDX-License-Identifier: AGPL-3.0-or-later */ -#include /* bsearch */ -#include /* strcmp */ +#include /* bsearch */ +#include /* strcmp */ #include "directives.h" #define ARRAY_SIZE(x) ((sizeof(x)) / (sizeof(x[0]))) -static int byte_handler(const char *args) +static int +byte_handler (const char *args) { - /* !!! TODO !!! */ - return 0; + /* !!! TODO !!! */ + return 0; } -static int end_handler(const char *args) +static int +end_handler (const char *args) { - /* !!! TODO !!! */ - return 0; + /* !!! TODO !!! */ + return 0; } -static int endi_handler(const char *args) +static int +endi_handler (const char *args) { - /* !!! TODO !!! */ - return 0; + /* !!! TODO !!! */ + return 0; } -static int endt_handler(const char *args) +static int +endt_handler (const char *args) { - /* !!! TODO !!! */ - return 0; + /* !!! TODO !!! */ + return 0; } -static int fstr_handler(const char *args) +static int +fstr_handler (const char *args) { - /* !!! TODO !!! */ - return 0; + /* !!! TODO !!! */ + return 0; } -static int funct_handler(const char *args) +static int +funct_handler (const char *args) { - /* !!! TODO !!! */ - return 0; + /* !!! TODO !!! */ + return 0; } -static int gstr_handler(const char *args) +static int +gstr_handler (const char *args) { - /* !!! TODO !!! */ - return 0; + /* !!! TODO !!! */ + return 0; } -static int gvar_handler(const char *args) +static int +gvar_handler (const char *args) { - /* !!! TODO !!! */ - return 0; + /* !!! TODO !!! */ + return 0; } -static int insert_handler(const char *args) +static int +insert_handler (const char *args) { - /* !!! TODO !!! */ - return 0; + /* !!! TODO !!! */ + return 0; } -static int len_handler(const char *args) +static int +len_handler (const char *args) { - /* !!! TODO !!! */ - return 0; + /* !!! TODO !!! */ + return 0; } -static int new_handler(const char *args) +static int +new_handler (const char *args) { - /* !!! TODO !!! */ - return 0; + /* !!! TODO !!! */ + return 0; } -static int object_handler(const char *args) +static int +object_handler (const char *args) { - /* !!! TODO !!! */ - return 0; + /* !!! TODO !!! */ + return 0; } -static int prop_handler(const char *args) +static int +prop_handler (const char *args) { - /* !!! TODO !!! */ - return 0; + /* !!! TODO !!! */ + return 0; } -static int str_handler(const char *args) +static int +str_handler (const char *args) { - /* !!! TODO !!! */ - return 0; + /* !!! TODO !!! */ + return 0; } -static int strl_handler(const char *args) +static int +strl_handler (const char *args) { - /* !!! TODO !!! */ - return 0; + /* !!! TODO !!! */ + return 0; } -static int table_handler(const char *args) +static int +table_handler (const char *args) { - /* !!! TODO !!! */ - return 0; + /* !!! TODO !!! */ + return 0; } -static int vocbeg_handler(const char *args) +static int +vocbeg_handler (const char *args) { - /* !!! TODO !!! */ - return 0; + /* !!! TODO !!! */ + return 0; } -static int vocend_handler(const char *args) +static int +vocend_handler (const char *args) { - /* !!! TODO !!! */ - return 0; + /* !!! TODO !!! */ + return 0; } -static int word_handler(const char *args) +static int +word_handler (const char *args) { - /* !!! TODO !!! */ - return 0; + /* !!! TODO !!! */ + return 0; } -static int zword_handler(const char *args) +static int +zword_handler (const char *args) { - /* !!! TODO !!! */ - return 0; + /* !!! TODO !!! */ + return 0; } // Sorted array static Directive Directives[] = { - "BYTE", byte_handler, - "END", end_handler, - "ENDI", endi_handler, - "ENDT", endt_handler, - "FSTR", fstr_handler, - "FUNCT", funct_handler, - "GSTR", gstr_handler, - "GVAR", gvar_handler, - "INSERT", insert_handler, - "LEN", len_handler, - "NEW", new_handler, - "OBJECT", object_handler, - "PROP", prop_handler, - "STR", str_handler, - "STRL", strl_handler, - "TABLE", table_handler, - "VOCBEG", vocbeg_handler, - "VOCEND", vocend_handler, - "WORD", word_handler, - "ZWORD", zword_handler + "BYTE", byte_handler, + "END", end_handler, + "ENDI", endi_handler, + "ENDT", endt_handler, + "FSTR", fstr_handler, + "FUNCT", funct_handler, + "GSTR", gstr_handler, + "GVAR", gvar_handler, + "INSERT", insert_handler, + "LEN", len_handler, + "NEW", new_handler, + "OBJECT", object_handler, + "PROP", prop_handler, + "STR", str_handler, + "STRL", strl_handler, + "TABLE", table_handler, + "VOCBEG", vocbeg_handler, + "VOCEND", vocend_handler, + "WORD", word_handler, + "ZWORD", zword_handler }; -typedef struct { - const char *contents; - unsigned length; +typedef struct +{ + const char *contents; + unsigned length; } Name; -static int namecmp(const void *key, const void *elem) +static int +namecmp (const void *key, const void *elem) { - const Name *p = (Name *)key; - const Directive *d = (Directive*)elem; + const Name *p = (Name *) key; + const Directive *d = (Directive *) elem; - int len1 = p->length; - int len2 = strlen(d->name); + int len1 = p->length; + int len2 = strlen (d->name); - int rc = memcmp(p->contents, elem, len1 < len2 ? len1 : len2); - return rc ? rc : (len1 - len2); + int rc = memcmp (p->contents, elem, len1 < len2 ? len1 : len2); + return rc ? rc : (len1 - len2); } -Directive_handler directive_lookup(const char *name, unsigned namelen) +Directive_handler +directive_lookup (const char *name, unsigned namelen) { - Name n = { name, namelen }; - Directive *p = (Directive*)bsearch(&n, Directives, ARRAY_SIZE(Directives), sizeof(Directive), namecmp); - return p ? p->handler : NULL; + Name n = { name, namelen }; + Directive *p = + (Directive *) bsearch (&n, Directives, ARRAY_SIZE (Directives), + sizeof (Directive), namecmp); + return p ? p->handler : NULL; }