From ba6d5b2571acd4010c929901b490bcd836c4ca3c Mon Sep 17 00:00:00 2001 From: Pixel <> Date: Sun, 15 Apr 2001 02:21:56 +0000 Subject: Inclusion du simulateur. --- include/Makefile.am | 2 +- lib/Makefile.am | 6 +- lib/assembler.c | 71 +++++++----- po/POTFILES.in | 12 +- po/ProjetArchi.pot | 295 ++++++++++++++++++++++++++----------------------- po/cat-id-tbl.c | 159 ++++++++++++++------------- po/fr.po | 311 +++++++++++++++++++++++++++++++++++++++++++++++----- src/Makefile.am | 6 +- 8 files changed, 588 insertions(+), 274 deletions(-) diff --git a/include/Makefile.am b/include/Makefile.am index 1efe00a..c0bc500 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -1 +1 @@ -include_HEADERS = hash.h assembler.h meta.h parser.h numbers.h exceptions.h types.h +include_HEADERS = alu.h archi.h assembler.h exceptions.h fpu.h hash.h interne.h memoire.h meta.h numbers.h parser.h registre.h types.h diff --git a/lib/Makefile.am b/lib/Makefile.am index b463138..f6172b3 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -2,10 +2,12 @@ localedir = $(datadir)/locale DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@ AM_CFLAGS = -O3 -Wall -Wstrict-prototypes $(CFLAGS) INCLUDES = -I. -I.. -I$(includedir) -I../include -lib_LTLIBRARIES = libCompilo.la +lib_LTLIBRARIES = libCompilo.la libSimul.la libCompilo_la_SOURCES = assembler.c parser.c meta.c numbers.c hash.c exceptions.c +libSimul_la_SOURCES = alu.c archi.c exceptions.c fpu.c interne.c memoire.c registre.c libCompilo_la_LDFLAGS = -version-info $(ProjetArchi_VERSION_INFO) +libSimul_la_LFDLAGS = -version-info $(ProjetArchi_VERSION_INFO) -EXTRA_DIST = instructions.txt \ No newline at end of file +EXTRA_DIST = instructions.txt diff --git a/lib/assembler.c b/lib/assembler.c index e727ce2..513a6be 100644 --- a/lib/assembler.c +++ b/lib/assembler.c @@ -1289,10 +1289,13 @@ static void evaluate_pattern(_TableauVariable * it, expression_t * e) { metaexpr_t *m, *n; expression_t *t; + int tv; if (!e->pattern) { exception(1, _("Pattern not matching...")); } + + fprintf(stderr, "Evaluation de la pattern %s, index %i\n", e->pattern->name, e->index); m = e->pattern->expr[e->index]; @@ -1309,7 +1312,7 @@ static void evaluate_pattern(_TableauVariable * it, expression_t * e) } } else { if (m->string) { - if (m->string != 'P') { + if (m->string[0] != 'P') { exception(1, _ ("Error in the metalanguage (pattern should be here if not a constant type)")); @@ -1319,8 +1322,8 @@ static void evaluate_pattern(_TableauVariable * it, expression_t * e) t->e_type = t->e_subtype = E_VALUE; t->avalue = e->index; t->symbol = NULL; - InsererVarDansTab(it, CreerElement(m->name, t)) - free(t); + InsererVarDansTab(it, CreerElement(m->name, t)); + free(t); } } } @@ -1330,17 +1333,28 @@ static void evaluate_pattern(_TableauVariable * it, expression_t * e) m = m->left; if (m->string) { if (m->type) { - if (!strcmp(m->name, "I")) { + if (strcmp(m->name, "I") || strcmp(m->string, "O")) { exception(1, _("Unknow constant type in the meta language")); } - if (e->child->e_subtype == E_VALUE) { - pushdword(e->avalue, NULL); - } else { - pushdword(0, e); + tv = 0; + if (e->child->next->e_subtype == E_VALUE) { + tv = e->child->next->avalue; + } + if ((e->child->next->e_subtype == E_OPERATION) + && (e->child->next->child->e_subtype == E_VALUE)) { + tv = e->child->next->child->avalue; } + pushdword(tv, e->child); + } else { + } + } + m = n; + m = m->right; + if (m->string) { + if (m->type) { } else { if (m->string) { - if (m->string != 'P') { + if (m->string[0] != 'P') { exception(1, _ ("Error in the metalanguage (pattern should be here if not a constant type)")); @@ -1348,28 +1362,27 @@ static void evaluate_pattern(_TableauVariable * it, expression_t * e) t = (expression_t *) Emalloc(sizeof(expression_t)); t->next = t->child = t->prev = t->father = NULL; t->e_type = t->e_subtype = E_VALUE; - t->avalue = e->index; + if (e->child->next->e_subtype == E_PATTERN) { + t->avalue = e->child->next->index; + } else { + t->avalue = e->child->next->child->next->index; + } t->symbol = NULL; - InsererVarDansTab(it, CreerElement(m->name, t)) - free(t); + InsererVarDansTab(it, CreerElement(m->name, t)); + free(t); + } else { + exception(1, _("Logical error in meta language")); } } } - } else { + } else { /* Unaire */ m = m->right; if (m->string) { if (m->type) { - if (!strcmp(m->name, "I")) { - exception(1, _("Unknow constant type in the meta language")); - } - if (e->e_subtype == E_VALUE) { - pushdword(e->avalue, NULL); - } else { - pushdword(0, e); - } + exception(1, _("Logical error in meta language")); } else { if (m->string) { - if (m->string != 'P') { + if (m->string[0] != 'P') { exception(1, _ ("Error in the metalanguage (pattern should be here if not a constant type)")); @@ -1377,10 +1390,10 @@ static void evaluate_pattern(_TableauVariable * it, expression_t * e) t = (expression_t *) Emalloc(sizeof(expression_t)); t->next = t->child = t->prev = t->father = NULL; t->e_type = t->e_subtype = E_VALUE; - t->avalue = e->index; + t->avalue = e->child->index; t->symbol = NULL; - InsererVarDansTab(it, CreerElement(m->name, t)) - free(t); + InsererVarDansTab(it, CreerElement(m->name, t)); + free(t); } } } @@ -1523,9 +1536,6 @@ void asm_eol(void) InsererVarDansTab(&it, CreerElement(instr->names[i], t)); free(t); evaluate_pattern(&it, e_current); - - - break; default: exception(1, _("Unknow constant type in the meta language")); @@ -1537,6 +1547,11 @@ void asm_eol(void) free_expr(e_current); e_current = e_line; } + + fprintf(stderr, "Variables explicites:\n"); + AfficheTableau(it); + + DetruitTab(&it); diff --git a/po/POTFILES.in b/po/POTFILES.in index fadcafe..9bc5c82 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -1,6 +1,14 @@ +lib/assembler.c lib/hash.c lib/meta.c -lib/parser.c -lib/assembler.c lib/numbers.c +lib/parser.c +lib/exceptions.c +lib/interne.c +lib/alu.c +lib/archi.c +lib/fpu.c +lib/memoire.c +lib/registre.c src/compilo.c +src/simul.c diff --git a/po/ProjetArchi.pot b/po/ProjetArchi.pot index 574e0d7..3c84869 100644 --- a/po/ProjetArchi.pot +++ b/po/ProjetArchi.pot @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2001-04-15 03:08+0200\n" +"POT-Creation-Date: 2001-04-15 04:18+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -14,128 +14,6 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: ENCODING\n" -#: lib/hash.c:14 -msgid "Internal error into hashing" -msgstr "" - -#: lib/meta.c:79 -#, c-format -msgid "Read line '%s'" -msgstr "" - -#: lib/meta.c:84 lib/meta.c:164 lib/meta.c:177 lib/meta.c:252 lib/meta.c:262 -#: lib/meta.c:287 lib/meta.c:294 -#, c-format -msgid "Analysing word '%s'" -msgstr "" - -#: lib/meta.c:89 -msgid "Missing operator ':'" -msgstr "" - -#: lib/meta.c:118 -msgid "Invalid number." -msgstr "" - -#: lib/meta.c:122 -msgid "Expecting ';' for field separator." -msgstr "" - -#: lib/meta.c:142 -msgid "Expecting ',' for field separator." -msgstr "" - -#: lib/meta.c:168 lib/meta.c:180 lib/meta.c:220 lib/meta.c:240 lib/meta.c:265 -#: lib/meta.c:279 -msgid "Identifier incorrect." -msgstr "" - -#: lib/meta.c:173 -msgid "Error: Expecting a . after a =" -msgstr "" - -#: lib/meta.c:215 -msgid "Extra parameters for field 'p'." -msgstr "" - -#: lib/meta.c:223 -msgid "Unexpected char at end of line." -msgstr "" - -#: lib/meta.c:236 -msgid "Expecting operator '=' for field 'p'." -msgstr "" - -#: lib/meta.c:258 -msgid "Error: character . expected." -msgstr "" - -#: lib/meta.c:283 -msgid "= expected after an implicit name" -msgstr "" - -#: lib/meta.c:297 lib/meta.c:306 -msgid "Identifier incorrect" -msgstr "" - -#: lib/meta.c:316 -msgid "expecting ; as field separator" -msgstr "" - -#: lib/meta.c:515 -msgid "Loading meta file" -msgstr "" - -#: lib/assembler.c:1600 lib/meta.c:516 -#, c-format -msgid "Opening file '%s'" -msgstr "" - -#: lib/assembler.c:1608 lib/meta.c:524 -msgid "Reading file" -msgstr "" - -#: lib/assembler.c:1610 lib/meta.c:526 -#, c-format -msgid "Reading line %i" -msgstr "" - -#: lib/meta.c:558 src/compilo.c:22 -msgid "Meta parser init failed." -msgstr "" - -#: lib/parser.c:96 -msgid "Too many nested operators in expression.\n" -msgstr "" - -#: lib/parser.c:127 -msgid "Too many nested functions calls in expression.\n" -msgstr "" - -#: lib/parser.c:202 -msgid "Invalid unary operator" -msgstr "" - -#: lib/parser.c:204 -msgid "Invalid binary operator" -msgstr "" - -#: lib/parser.c:228 -msgid "Parse error: too much left parenthesis" -msgstr "" - -#: lib/parser.c:238 lib/parser.c:258 -msgid "Parse error: too much right parenthesis" -msgstr "" - -#: lib/parser.c:243 lib/parser.c:263 -msgid "Parse error: enclosure mismatch" -msgstr "" - -#: lib/parser.c:279 -msgid "Invalid character" -msgstr "" - #: lib/assembler.c:167 msgid "You have to be into the .text or the .data segment to define a value." msgstr "" @@ -245,44 +123,191 @@ msgstr "" msgid "Unknow predefined string into the meta language" msgstr "" -#: lib/assembler.c:1294 lib/assembler.c:1355 lib/assembler.c:1390 -#: lib/assembler.c:1395 lib/assembler.c:1402 +#: lib/assembler.c:1295 msgid "Pattern not matching..." msgstr "" -#: lib/assembler.c:1449 lib/assembler.c:1561 +#: lib/assembler.c:1306 lib/assembler.c:1337 lib/assembler.c:1524 +#: lib/assembler.c:1541 +msgid "Unknow constant type in the meta language" +msgstr "" + +#: lib/assembler.c:1318 lib/assembler.c:1360 lib/assembler.c:1388 +msgid "" +"Error in the metalanguage (pattern should be here if not a constant type)" +msgstr "" + +#: lib/assembler.c:1374 lib/assembler.c:1382 +msgid "Logical error in meta language" +msgstr "" + +#: lib/assembler.c:1446 lib/assembler.c:1560 msgid "Unknow instruction" msgstr "" -#: lib/assembler.c:1476 +#: lib/assembler.c:1473 msgid "Bad constant for an immediate value" msgstr "" -#: lib/assembler.c:1493 +#: lib/assembler.c:1490 msgid "Bad constant for a string" msgstr "" -#: lib/assembler.c:1501 +#: lib/assembler.c:1498 msgid "You can only have an instruction into a .text segment" msgstr "" -#: lib/assembler.c:1504 +#: lib/assembler.c:1501 msgid "Unmatched instruction" msgstr "" -#: lib/assembler.c:1527 lib/assembler.c:1547 -msgid "Unknow constant type in the meta language" +#: lib/assembler.c:1598 +msgid "Loading file" msgstr "" -#: lib/assembler.c:1599 -msgid "Loading file" +#: lib/assembler.c:1599 lib/meta.c:516 +#, c-format +msgid "Opening file '%s'" +msgstr "" + +#: lib/assembler.c:1607 lib/meta.c:524 +msgid "Reading file" msgstr "" -#: lib/assembler.c:1619 +#: lib/assembler.c:1609 lib/meta.c:526 +#, c-format +msgid "Reading line %i" +msgstr "" + +#: lib/assembler.c:1618 #, c-format msgid "Summering line %s" msgstr "" +#: lib/hash.c:14 +msgid "Internal error into hashing" +msgstr "" + +#: lib/meta.c:79 +#, c-format +msgid "Read line '%s'" +msgstr "" + +#: lib/meta.c:84 lib/meta.c:164 lib/meta.c:177 lib/meta.c:252 lib/meta.c:262 +#: lib/meta.c:287 lib/meta.c:294 +#, c-format +msgid "Analysing word '%s'" +msgstr "" + +#: lib/meta.c:89 +msgid "Missing operator ':'" +msgstr "" + +#: lib/meta.c:118 +msgid "Invalid number." +msgstr "" + +#: lib/meta.c:122 +msgid "Expecting ';' for field separator." +msgstr "" + +#: lib/meta.c:142 +msgid "Expecting ',' for field separator." +msgstr "" + +#: lib/meta.c:168 lib/meta.c:180 lib/meta.c:220 lib/meta.c:240 lib/meta.c:265 +#: lib/meta.c:279 +msgid "Identifier incorrect." +msgstr "" + +#: lib/meta.c:173 +msgid "Error: Expecting a . after a =" +msgstr "" + +#: lib/meta.c:215 +msgid "Extra parameters for field 'p'." +msgstr "" + +#: lib/meta.c:223 +msgid "Unexpected char at end of line." +msgstr "" + +#: lib/meta.c:236 +msgid "Expecting operator '=' for field 'p'." +msgstr "" + +#: lib/meta.c:258 +msgid "Error: character . expected." +msgstr "" + +#: lib/meta.c:283 +msgid "= expected after an implicit name" +msgstr "" + +#: lib/meta.c:297 lib/meta.c:306 +msgid "Identifier incorrect" +msgstr "" + +#: lib/meta.c:316 +msgid "expecting ; as field separator" +msgstr "" + +#: lib/meta.c:515 +msgid "Loading meta file" +msgstr "" + +#: lib/meta.c:558 src/compilo.c:22 +msgid "Meta parser init failed." +msgstr "" + +#: lib/parser.c:96 +msgid "Too many nested operators in expression.\n" +msgstr "" + +#: lib/parser.c:127 +msgid "Too many nested functions calls in expression.\n" +msgstr "" + +#: lib/parser.c:202 +msgid "Invalid unary operator" +msgstr "" + +#: lib/parser.c:204 +msgid "Invalid binary operator" +msgstr "" + +#: lib/parser.c:228 +msgid "Parse error: too much left parenthesis" +msgstr "" + +#: lib/parser.c:238 lib/parser.c:258 +msgid "Parse error: too much right parenthesis" +msgstr "" + +#: lib/parser.c:243 lib/parser.c:263 +msgid "Parse error: enclosure mismatch" +msgstr "" + +#: lib/parser.c:279 +msgid "Invalid character" +msgstr "" + +#: lib/exceptions.c:26 lib/exceptions.c:40 +msgid "Out of memory." +msgstr "" + +#: lib/exceptions.c:51 +msgid "Too much error contexts during pushcontext()." +msgstr "" + +#: lib/exceptions.c:59 +msgid "Error context empty, but popcontext() called." +msgstr "" + +#: lib/fpu.c:14 +msgid "FPU not implemented" +msgstr "" + #: src/compilo.c:15 msgid "" "Assembler\n" diff --git a/po/cat-id-tbl.c b/po/cat-id-tbl.c index e9facc5..f351e39 100644 --- a/po/cat-id-tbl.c +++ b/po/cat-id-tbl.c @@ -8,93 +8,100 @@ const struct _msg_ent _msg_tbl[] = { {"", 1}, - {"Internal error into hashing", 2}, - {"Read line '%s'", 3}, - {"Analysing word '%s'", 4}, - {"Missing operator ':'", 5}, - {"Invalid number.", 6}, - {"Expecting ';' for field separator.", 7}, - {"Expecting ',' for field separator.", 8}, - {"Identifier incorrect.", 9}, - {"Error: Expecting a . after a =", 10}, - {"Extra parameters for field 'p'.", 11}, - {"Unexpected char at end of line.", 12}, - {"Expecting operator '=' for field 'p'.", 13}, - {"Error: character . expected.", 14}, - {"= expected after an implicit name", 15}, - {"Identifier incorrect", 16}, - {"expecting ; as field separator", 17}, - {"Loading meta file", 18}, - {"Opening file '%s'", 19}, - {"Reading file", 20}, - {"Reading line %i", 21}, - {"Meta parser init failed.", 22}, - {"Too many nested operators in expression.\n", 23}, - {"Too many nested functions calls in expression.\n", 24}, - {"Invalid unary operator", 25}, - {"Invalid binary operator", 26}, - {"Parse error: too much left parenthesis", 27}, - {"Parse error: too much right parenthesis", 28}, - {"Parse error: enclosure mismatch", 29}, - {"Invalid character", 30}, - {"You have to be into the .text or the .data segment to define a value.", 31}, - {"Label already defined", 32}, - {"You can't have the startpoint elsewhere than the .text segment", 33}, - {"Not a valid . directive", 34}, - {"Not a valid # directive", 35}, - {"Error: extra parameters to a . directive.", 36}, - {"Too much arguments to #undef", 37}, - {"Defined symbol not found.", 38}, - {"Too much arguments to #include", 39}, - {"Including file at line %i", 40}, - {"Zero divide.", 41}, - {"Error: unable to compute the immediate value", 42}, - {"Function unknow", 43}, - {"Addresses addition not allowed", 44}, - {"You can only use the decal operator on labels", 45}, - {"Address operation invalid", 46}, - {"Addresses operations not allowed", 47}, - {"Expression too complex or invalid", 48}, - {"Address type not supported", 49}, - {"Address addition not supported", 50}, - {"Expression invalid", 51}, - {"Expression too complex", 52}, - {"Something wrong, nested operator called...", 53}, - {"Something wrong, lparenthesis operator called...", 54}, - {"Something wrong, should never got here...", 55}, - {"Unknow predefined string into the meta language", 56}, - {"Pattern not matching...", 57}, - {"Unknow instruction", 58}, - {"Bad constant for an immediate value", 59}, - {"Bad constant for a string", 60}, - {"You can only have an instruction into a .text segment", 61}, - {"Unmatched instruction", 62}, - {"Unknow constant type in the meta language", 63}, - {"Loading file", 64}, - {"Summering line %s", 65}, + {"You have to be into the .text or the .data segment to define a value.", 2}, + {"Label already defined", 3}, + {"You can't have the startpoint elsewhere than the .text segment", 4}, + {"Not a valid . directive", 5}, + {"Not a valid # directive", 6}, + {"Error: extra parameters to a . directive.", 7}, + {"Too much arguments to #undef", 8}, + {"Defined symbol not found.", 9}, + {"Too much arguments to #include", 10}, + {"Including file at line %i", 11}, + {"Zero divide.", 12}, + {"Error: unable to compute the immediate value", 13}, + {"Function unknow", 14}, + {"Addresses addition not allowed", 15}, + {"You can only use the decal operator on labels", 16}, + {"Address operation invalid", 17}, + {"Addresses operations not allowed", 18}, + {"Expression too complex or invalid", 19}, + {"Address type not supported", 20}, + {"Address addition not supported", 21}, + {"Expression invalid", 22}, + {"Expression too complex", 23}, + {"Something wrong, nested operator called...", 24}, + {"Something wrong, lparenthesis operator called...", 25}, + {"Something wrong, should never got here...", 26}, + {"Unknow predefined string into the meta language", 27}, + {"Pattern not matching...", 28}, + {"Unknow constant type in the meta language", 29}, + {"\ +Error in the metalanguage (pattern should be here if not a constant type)", 30}, + {"Logical error in meta language", 31}, + {"Unknow instruction", 32}, + {"Bad constant for an immediate value", 33}, + {"Bad constant for a string", 34}, + {"You can only have an instruction into a .text segment", 35}, + {"Unmatched instruction", 36}, + {"Loading file", 37}, + {"Opening file '%s'", 38}, + {"Reading file", 39}, + {"Reading line %i", 40}, + {"Summering line %s", 41}, + {"Internal error into hashing", 42}, + {"Read line '%s'", 43}, + {"Analysing word '%s'", 44}, + {"Missing operator ':'", 45}, + {"Invalid number.", 46}, + {"Expecting ';' for field separator.", 47}, + {"Expecting ',' for field separator.", 48}, + {"Identifier incorrect.", 49}, + {"Error: Expecting a . after a =", 50}, + {"Extra parameters for field 'p'.", 51}, + {"Unexpected char at end of line.", 52}, + {"Expecting operator '=' for field 'p'.", 53}, + {"Error: character . expected.", 54}, + {"= expected after an implicit name", 55}, + {"Identifier incorrect", 56}, + {"expecting ; as field separator", 57}, + {"Loading meta file", 58}, + {"Meta parser init failed.", 59}, + {"Too many nested operators in expression.\n", 60}, + {"Too many nested functions calls in expression.\n", 61}, + {"Invalid unary operator", 62}, + {"Invalid binary operator", 63}, + {"Parse error: too much left parenthesis", 64}, + {"Parse error: too much right parenthesis", 65}, + {"Parse error: enclosure mismatch", 66}, + {"Invalid character", 67}, + {"Out of memory.", 68}, + {"Too much error contexts during pushcontext().", 69}, + {"Error context empty, but popcontext() called.", 70}, + {"FPU not implemented", 71}, {"\ Assembler\n\ -\n", 66}, - {" o Initialising the meta engine... ", 67}, +\n", 72}, + {" o Initialising the meta engine... ", 73}, {"\ Done!\n\ - o Meta language loading... ", 68}, - {"Meta language loading failed.", 69}, + o Meta language loading... ", 74}, + {"Meta language loading failed.", 75}, {"\ Done!\n\ - o Initialising the assembler core...", 70}, - {"Assembler core init failed.", 71}, - {" Done!\n", 72}, - {"Signal received: segfault", 73}, + o Initialising the assembler core...", 76}, + {"Assembler core init failed.", 77}, + {" Done!\n", 78}, + {"Signal received: segfault", 79}, {"\ \n\ Performing initialisation...\n\ -\n", 74}, +\n", 80}, {"\ \n\ Performing shutdown...\n\ -\n", 75}, - {"Exitting, bye!\n", 76}, +\n", 81}, + {"Exitting, bye!\n", 82}, }; -int _msg_tbl_length = 76; +int _msg_tbl_length = 82; diff --git a/po/fr.po b/po/fr.po index 05b84a9..3c84869 100644 --- a/po/fr.po +++ b/po/fr.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2001-03-30 01:19+0200\n" +"POT-Creation-Date: 2001-04-15 04:18+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -14,98 +14,353 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: ENCODING\n" -#: lib/meta.c:68 +#: lib/assembler.c:167 +msgid "You have to be into the .text or the .data segment to define a value." +msgstr "" + +#: lib/assembler.c:190 +msgid "Label already defined" +msgstr "" + +#: lib/assembler.c:253 +msgid "You can't have the startpoint elsewhere than the .text segment" +msgstr "" + +#: lib/assembler.c:394 +msgid "Not a valid . directive" +msgstr "" + +#: lib/assembler.c:423 +msgid "Not a valid # directive" +msgstr "" + +#. Cas des directives . +#: lib/assembler.c:431 +msgid "Error: extra parameters to a . directive." +msgstr "" + +#: lib/assembler.c:534 +msgid "Too much arguments to #undef" +msgstr "" + +#: lib/assembler.c:538 +msgid "Defined symbol not found." +msgstr "" + +#: lib/assembler.c:544 +msgid "Too much arguments to #include" +msgstr "" + +#: lib/assembler.c:546 +#, c-format +msgid "Including file at line %i" +msgstr "" + +#: lib/assembler.c:599 lib/assembler.c:605 +msgid "Zero divide." +msgstr "" + +#: lib/assembler.c:618 lib/assembler.c:625 +msgid "Error: unable to compute the immediate value" +msgstr "" + +#: lib/assembler.c:634 +msgid "Function unknow" +msgstr "" + +#: lib/assembler.c:641 +msgid "Addresses addition not allowed" +msgstr "" + +#: lib/assembler.c:645 +msgid "You can only use the decal operator on labels" +msgstr "" + +#: lib/assembler.c:650 lib/assembler.c:653 lib/assembler.c:684 +msgid "Address operation invalid" +msgstr "" + +#: lib/assembler.c:656 lib/assembler.c:688 +msgid "Addresses operations not allowed" +msgstr "" + +#: lib/assembler.c:659 lib/assembler.c:781 lib/assembler.c:818 +#: lib/assembler.c:892 +msgid "Expression too complex or invalid" +msgstr "" + +#: lib/assembler.c:692 lib/assembler.c:705 lib/assembler.c:758 +#: lib/assembler.c:770 lib/assembler.c:807 +msgid "Address type not supported" +msgstr "" + +#: lib/assembler.c:774 +msgid "Address addition not supported" +msgstr "" + +#: lib/assembler.c:811 lib/assembler.c:863 +msgid "Expression invalid" +msgstr "" + +#. Bon si l'on est ici, c'est pas bon signe non plus... +#: lib/assembler.c:936 +msgid "Expression too complex" +msgstr "" + +#: lib/assembler.c:997 +msgid "Something wrong, nested operator called..." +msgstr "" + +#: lib/assembler.c:1068 +msgid "Something wrong, lparenthesis operator called..." +msgstr "" + +#: lib/assembler.c:1071 +msgid "Something wrong, should never got here..." +msgstr "" + +#: lib/assembler.c:1238 +msgid "Unknow predefined string into the meta language" +msgstr "" + +#: lib/assembler.c:1295 +msgid "Pattern not matching..." +msgstr "" + +#: lib/assembler.c:1306 lib/assembler.c:1337 lib/assembler.c:1524 +#: lib/assembler.c:1541 +msgid "Unknow constant type in the meta language" +msgstr "" + +#: lib/assembler.c:1318 lib/assembler.c:1360 lib/assembler.c:1388 +msgid "" +"Error in the metalanguage (pattern should be here if not a constant type)" +msgstr "" + +#: lib/assembler.c:1374 lib/assembler.c:1382 +msgid "Logical error in meta language" +msgstr "" + +#: lib/assembler.c:1446 lib/assembler.c:1560 +msgid "Unknow instruction" +msgstr "" + +#: lib/assembler.c:1473 +msgid "Bad constant for an immediate value" +msgstr "" + +#: lib/assembler.c:1490 +msgid "Bad constant for a string" +msgstr "" + +#: lib/assembler.c:1498 +msgid "You can only have an instruction into a .text segment" +msgstr "" + +#: lib/assembler.c:1501 +msgid "Unmatched instruction" +msgstr "" + +#: lib/assembler.c:1598 +msgid "Loading file" +msgstr "" + +#: lib/assembler.c:1599 lib/meta.c:516 +#, c-format +msgid "Opening file '%s'" +msgstr "" + +#: lib/assembler.c:1607 lib/meta.c:524 +msgid "Reading file" +msgstr "" + +#: lib/assembler.c:1609 lib/meta.c:526 +#, c-format +msgid "Reading line %i" +msgstr "" + +#: lib/assembler.c:1618 +#, c-format +msgid "Summering line %s" +msgstr "" + +#: lib/hash.c:14 +msgid "Internal error into hashing" +msgstr "" + +#: lib/meta.c:79 +#, c-format +msgid "Read line '%s'" +msgstr "" + +#: lib/meta.c:84 lib/meta.c:164 lib/meta.c:177 lib/meta.c:252 lib/meta.c:262 +#: lib/meta.c:287 lib/meta.c:294 +#, c-format +msgid "Analysing word '%s'" +msgstr "" + +#: lib/meta.c:89 msgid "Missing operator ':'" msgstr "" -#: lib/meta.c:96 +#: lib/meta.c:118 msgid "Invalid number." msgstr "" -#: lib/meta.c:100 +#: lib/meta.c:122 msgid "Expecting ';' for field separator." msgstr "" -#: lib/meta.c:119 +#: lib/meta.c:142 msgid "Expecting ',' for field separator." msgstr "" -#: lib/meta.c:142 lib/meta.c:151 lib/meta.c:189 lib/meta.c:209 lib/meta.c:228 -#: lib/meta.c:242 +#: lib/meta.c:168 lib/meta.c:180 lib/meta.c:220 lib/meta.c:240 lib/meta.c:265 +#: lib/meta.c:279 msgid "Identifier incorrect." msgstr "" -#: lib/meta.c:147 +#: lib/meta.c:173 msgid "Error: Expecting a . after a =" msgstr "" -#: lib/meta.c:184 +#: lib/meta.c:215 msgid "Extra parameters for field 'p'." msgstr "" -#: lib/meta.c:192 +#: lib/meta.c:223 msgid "Unexpected char at end of line." msgstr "" -#: lib/meta.c:205 +#: lib/meta.c:236 msgid "Expecting operator '=' for field 'p'." msgstr "" -#: lib/meta.c:224 +#: lib/meta.c:258 msgid "Error: character . expected." msgstr "" -#: lib/meta.c:246 +#: lib/meta.c:283 msgid "= expected after an implicit name" msgstr "" -#: lib/meta.c:254 lib/meta.c:263 +#: lib/meta.c:297 lib/meta.c:306 msgid "Identifier incorrect" msgstr "" -#: lib/meta.c:273 +#: lib/meta.c:316 msgid "expecting ; as field separator" msgstr "" -#: lib/meta.c:455 lib/meta.c:464 src/compilo.c:12 src/compilo.c:21 -msgid "Out of memory." +#: lib/meta.c:515 +msgid "Loading meta file" msgstr "" -#: lib/meta.c:486 +#: lib/meta.c:558 src/compilo.c:22 msgid "Meta parser init failed." msgstr "" -#: lib/parser.c:81 +#: lib/parser.c:96 msgid "Too many nested operators in expression.\n" msgstr "" -#: lib/parser.c:110 +#: lib/parser.c:127 msgid "Too many nested functions calls in expression.\n" msgstr "" -#: lib/parser.c:174 +#: lib/parser.c:202 msgid "Invalid unary operator" msgstr "" -#: lib/parser.c:176 +#: lib/parser.c:204 msgid "Invalid binary operator" msgstr "" -#: lib/parser.c:196 +#: lib/parser.c:228 msgid "Parse error: too much left parenthesis" msgstr "" -#: lib/parser.c:203 lib/parser.c:222 +#: lib/parser.c:238 lib/parser.c:258 msgid "Parse error: too much right parenthesis" msgstr "" -#: lib/parser.c:208 lib/parser.c:227 +#: lib/parser.c:243 lib/parser.c:263 msgid "Parse error: enclosure mismatch" msgstr "" -#: lib/parser.c:240 +#: lib/parser.c:279 msgid "Invalid character" msgstr "" -#~ msgid "Hello World!\n" -#~ msgstr "Bonjour le monde!\n" +#: lib/exceptions.c:26 lib/exceptions.c:40 +msgid "Out of memory." +msgstr "" + +#: lib/exceptions.c:51 +msgid "Too much error contexts during pushcontext()." +msgstr "" + +#: lib/exceptions.c:59 +msgid "Error context empty, but popcontext() called." +msgstr "" + +#: lib/fpu.c:14 +msgid "FPU not implemented" +msgstr "" + +#: src/compilo.c:15 +msgid "" +"Assembler\n" +"\n" +msgstr "" + +#: src/compilo.c:19 +msgid " o Initialising the meta engine... " +msgstr "" + +#: src/compilo.c:25 +msgid "" +" Done!\n" +" o Meta language loading... " +msgstr "" + +#: src/compilo.c:28 +msgid "Meta language loading failed." +msgstr "" + +#: src/compilo.c:31 +msgid "" +" Done!\n" +" o Initialising the assembler core..." +msgstr "" + +#: src/compilo.c:34 +msgid "Assembler core init failed." +msgstr "" + +#: src/compilo.c:37 +msgid " Done!\n" +msgstr "" + +#: src/compilo.c:46 +msgid "Signal received: segfault" +msgstr "" + +#. signal(SIGSEGV, segfaulthand); +#: src/compilo.c:54 +msgid "" +"\n" +"Performing initialisation...\n" +"\n" +msgstr "" + +#: src/compilo.c:59 +msgid "" +"\n" +"Performing shutdown...\n" +"\n" +msgstr "" + +#: src/compilo.c:62 +msgid "Exitting, bye!\n" +msgstr "" diff --git a/src/Makefile.am b/src/Makefile.am index 0dfd182..f340432 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -3,10 +3,12 @@ DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@ AM_CFLAGS = -O3 -Wall -Wstrict-prototypes $(CFLAGS) INCLUDES = -I. -I.. -I$(includedir) -I../include -bin_PROGRAMS = compilo +bin_PROGRAMS = compilo simul compilo_SOURCES = compilo.c +simul_SOURCES = simul.c LDADD = ../lib/libCompilo.la -compilo_LDADD = $(LDADD) +compilo_LDADD = ../lib/libCompilo.la +simul_LDADD = ../lib/libSimul.la -- cgit v1.2.3