Comments added.

This commit is contained in:
kaashoek 1988-01-07 16:09:30 +00:00
parent a92a93bc54
commit 055635d63d

View file

@ -1,11 +1,20 @@
#include "decl.h"
/* All the functions in this file will be called by the parser.
*/
extern char *strindex();
static struct Op_info { char *name, *type}
op_info[ MAX_OPERANDS] = { { 0, 0}};
static int n_ops = 0;
static char *assem_instr = 0;
static Bool restriction = FALSE;
static int n_ops = 0; /* Number of opertands of current
* assembly instruction.
*/
static char *assem_instr = 0; /* Name of the current assembly instr */
static Bool restriction = FALSE; /* Is there a restriction on the
* current operand?
*/
File *outfile;
save_instr( instr, len)
@ -92,6 +101,10 @@ clear_restriction()
char *skip_string( str)
char *str;
/* returns position after the first '"'-charcter, look out for '\' escape
* sequence
*/
{
for ( str++; *str != '"' || *(str-1) == '\\'; str++);
return( str + 1);
@ -108,6 +121,10 @@ char *str;
pr_call( str)
char *str;
/* Ouput 'str', but keep track of the number of bytes and take care of
* conversions like %$.
*/
{
if ( strncmp( "text", str, 4) == 0 && isdigit( *(str+4)))
out( "cur_pos += %d;\n", *(str+4) - '0');
@ -150,6 +167,9 @@ init_table()
}
clean()
/* Free space, allocated during the parsing of an entry in 'as_table'.
*/
{
int i;
@ -171,7 +191,7 @@ clean()
operand_clean()
/* Naam van de assembler-instr bewaren! */
/* Free space for the operands */
{
int i;
@ -224,10 +244,11 @@ char *mnem;
mnemonic[ n_mnems++] = Salloc( mnem, strlen( mnem) + 1);
}
end_table()
/* array's wegschrijven !! */
/* Flush information in the array 'mnemonic'
*/
{
int i;
@ -248,8 +269,7 @@ end_table()
quicksort( lower, upper)
int lower, upper;
/* Deze routine sorteert het array 'mnemonic' mbv. het algorithme quick_sort.
* ( zie diktaat "inleiding programmeren" voor een PASCAL versie.)
/* Sort the array 'mnemonic'.
*/
{
char *key, *tmp;