http://www.hackerschool.org/HS_Boards/zboard.php?id=QNA_programming&no=6593 [º¹»ç]
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//prototype of function
void printMenu(void);
void addSymbolTable(struct SymbolTable*, int*);
void setSymbolTable(void);
void retrieveSymbolTable(void);
//struct
typedef struct {
//struct variable
int no;
char name[10];
char type[6];
char data[7];
int length;
int value;
int base;
int offset;
} SymbolTable;
int main(int argc, char* argv[])
{
//variable
char menu_list[4] = {'Q', 'N', 'E', 'S'};
char input_menu;
int symbol_tbl_size = 1;
int *symbol_size_ptr = &symbol_tbl_size;
struct SymbolTable *symTbl[symbol_tbl_size];
//call function
printMenu();
while(getc(input_menu != menu_list[0])) {
if(input_menu == menu_list[1]) addSymbolTable(&symTbl, &symbol_size_ptr);
else if(input_menu == menu_list[2]) setSymbolTable();
else if(input_menu == menu_list[3]) retrieveSymbolTable();
else printf("it's not exist command. please try again after check the command list.");
}
return 0;
}
void printMenu(void) {
//developer information
printf("A symbol table is used to store and retrieve attributes of"
"variables declared in a source program during compilation."
"This program simulates the symbol table usage simply."
"Created by \n\n");
//this program explanation
printf("Current symbol table is empty.\n"
"Usage: N - add a new variable to the symbol table.\n"
"\tE - set base address.\n"
"\tS - retrieve certain variable from the symbol table.\n"
"\tQ - Exit program.\n\n");
}
void addSymbolTable(struct SymbolTable *tbl, int *tbl_size) {
tbl[*tbl_size-1] = malloc(sizeof(struct SymbolTable));
*tbl_size++;
}
¿¡¼
void addSymbolTable(struct SymbolTable *tbl, int *tbl_size) {
tbl[*tbl_size-1] = malloc(sizeof(struct SymbolTable));
*tbl_size++;
}
ÀÇ void addSymbolTable(struct SymbolTable *tbl, int *tbl_size) { ºÎºÐ¿¡¼ ¿¡·¯°¡°¡ ³ª°í ÀÖ½À´Ï´Ù..
¹¹°¡ ¹®Á¦Àΰ¡¿ä? |
Hit : 6072 Date : 2017/12/13 12:04
|