Single Pass
Single Pass
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define MAX_LINE_LEN 50
#define MAX_SYMBOLS 20
typedef struct {
char label[20];
int address;
} Symbol;
Symbol symbolTable[MAX_SYMBOLS];
int symbolCount = 0;
fclose(file);
}
int main() {
FILE *intermediateFile = fopen("program.sic", "r");
FILE *objectFile = fopen("objectsglps.txt", "w");
if (!intermediateFile || !objectFile) {
printf("Error: Could not open one of the files.\n");
return 1;
}
// End record
fprintf(objectFile, "E%06X\n", startAddress);
fclose(intermediateFile);
fclose(objectFile);
printf("Object file generated successfully.\n");
return 0;
}
INPUT:
OUTPUT:
user@user-Latitude-E5450:~/Desktop/S5/LAB/MM/sic$ gcc single_pass.c
user@user-Latitude-E5450:~/Desktop/S5/LAB/MM/sic$ ./a.out
Object file generated successfully.