|
Packit |
427e91 |
/***************************************************************************
|
|
Packit |
427e91 |
parse.h - description
|
|
Packit |
427e91 |
-------------------
|
|
Packit |
427e91 |
Date : May 23 2000
|
|
Packit |
427e91 |
Copyright : (C) 2000 by Daniel Bertrand
|
|
Packit |
427e91 |
Email : d.bertrand@ieee.ca
|
|
Packit |
427e91 |
***************************************************************************/
|
|
Packit |
427e91 |
|
|
Packit |
427e91 |
/***************************************************************************
|
|
Packit |
427e91 |
* *
|
|
Packit |
427e91 |
* This program is free software; you can redistribute it and/or modify *
|
|
Packit |
427e91 |
* it under the terms of the GNU General Public License as published by *
|
|
Packit |
427e91 |
* the Free Software Foundation; either version 2 of the License, or *
|
|
Packit |
427e91 |
* (at your option) any later version. *
|
|
Packit |
427e91 |
* *
|
|
Packit |
427e91 |
***************************************************************************/
|
|
Packit |
427e91 |
|
|
Packit |
427e91 |
//#define NUM_OPS 17 //number of op code mneumonic and directives
|
|
Packit |
427e91 |
|
|
Packit |
427e91 |
|
|
Packit |
427e91 |
enum foo {
|
|
Packit |
427e91 |
MACS=0,
|
|
Packit |
427e91 |
MACS1,
|
|
Packit |
427e91 |
MACW,
|
|
Packit |
427e91 |
MACW1,
|
|
Packit |
427e91 |
MACINTS,
|
|
Packit |
427e91 |
MACINTW,
|
|
Packit |
427e91 |
ACC3,
|
|
Packit |
427e91 |
MACMV,
|
|
Packit |
427e91 |
ANDXOR,
|
|
Packit |
427e91 |
TSTNEG,
|
|
Packit |
427e91 |
LIMIT,
|
|
Packit |
427e91 |
LIMIT1,
|
|
Packit |
427e91 |
LOG,
|
|
Packit |
427e91 |
EXP,
|
|
Packit |
427e91 |
INTERP,
|
|
Packit |
427e91 |
SKIP,
|
|
Packit |
427e91 |
EQU,
|
|
Packit |
427e91 |
DS,
|
|
Packit |
427e91 |
DYNAMIC,
|
|
Packit |
427e91 |
DYN,
|
|
Packit |
427e91 |
MACRO,
|
|
Packit |
427e91 |
DC,
|
|
Packit |
427e91 |
STATIC,
|
|
Packit |
427e91 |
STA,
|
|
Packit |
427e91 |
DIN,
|
|
Packit |
427e91 |
DOUT,
|
|
Packit |
427e91 |
DD,
|
|
Packit |
427e91 |
DT,
|
|
Packit |
427e91 |
DW,
|
|
Packit |
427e91 |
DR,
|
|
Packit |
427e91 |
CONTROL,
|
|
Packit |
427e91 |
ENDM,
|
|
Packit |
427e91 |
END,
|
|
Packit |
427e91 |
INCLUDE,
|
|
Packit |
427e91 |
NAME,
|
|
Packit |
427e91 |
FOR,
|
|
Packit |
427e91 |
ENDFOR,
|
|
Packit |
427e91 |
IO,
|
|
Packit |
427e91 |
CONSTANT,
|
|
Packit |
427e91 |
CON,
|
|
Packit |
427e91 |
NUM_OPS
|
|
Packit |
427e91 |
|
|
Packit |
427e91 |
};
|
|
Packit |
427e91 |
|
|
Packit |
427e91 |
|
|
Packit |
427e91 |
char op_codes[NUM_OPS+1][9]=
|
|
Packit |
427e91 |
{
|
|
Packit |
427e91 |
"MACS",
|
|
Packit |
427e91 |
"MACS1",
|
|
Packit |
427e91 |
"MACW",
|
|
Packit |
427e91 |
"MACW1",
|
|
Packit |
427e91 |
|
|
Packit |
427e91 |
"MACINTS",
|
|
Packit |
427e91 |
"MACINTW",
|
|
Packit |
427e91 |
|
|
Packit |
427e91 |
"ACC3",
|
|
Packit |
427e91 |
"MACMV",
|
|
Packit |
427e91 |
"ANDXOR",
|
|
Packit |
427e91 |
"TSTNEG",
|
|
Packit |
427e91 |
"LIMIT",
|
|
Packit |
427e91 |
"LIMIT1",
|
|
Packit |
427e91 |
"LOG",
|
|
Packit |
427e91 |
"EXP",
|
|
Packit |
427e91 |
"INTERP",
|
|
Packit |
427e91 |
"SKIP",
|
|
Packit |
427e91 |
"equ",
|
|
Packit |
427e91 |
"ds",
|
|
Packit |
427e91 |
"dynamic",
|
|
Packit |
427e91 |
"dyn",
|
|
Packit |
427e91 |
"macro",
|
|
Packit |
427e91 |
"dc",
|
|
Packit |
427e91 |
"static",
|
|
Packit |
427e91 |
"sta",
|
|
Packit |
427e91 |
"din",
|
|
Packit |
427e91 |
"dout",
|
|
Packit |
427e91 |
"delay",
|
|
Packit |
427e91 |
"table",
|
|
Packit |
427e91 |
"twrite",
|
|
Packit |
427e91 |
"tread",
|
|
Packit |
427e91 |
"control",
|
|
Packit |
427e91 |
"endm",
|
|
Packit |
427e91 |
"end",
|
|
Packit |
427e91 |
"include",
|
|
Packit |
427e91 |
"name",
|
|
Packit |
427e91 |
"for",
|
|
Packit |
427e91 |
"endfor",
|
|
Packit |
427e91 |
"IO",
|
|
Packit |
427e91 |
"constant",
|
|
Packit |
427e91 |
"con",
|
|
Packit |
427e91 |
"NotAnOp"
|
|
Packit |
427e91 |
};
|
|
Packit |
427e91 |
|
|
Packit |
427e91 |
//extern int file_num,source_line_num
|
|
Packit |
427e91 |
|