1
我正在編譯彙編編譯器,並且我希望我的程序通過給他2個參數開始: - 包含代碼的源文件(.c) - 將包含程序集的目標文件由編譯器生成的代碼。 啓動示例:./compiler sum_test.c result.asmYacc文件解析
這個實際上有效:echo「int main(){int a; int b; int c; a = 2; b = 3; c = a + b;}「| ./compiler
但我真的想從文件中讀取代碼。
我無法解析的所有內容關閉sum_test.c到STDIN,我的計劃中獲得的卡,並等待對輸入..
這是我的主要功能和我的嘗試:
int main(int argc, char** argv)
{
extern FILE * yyin;
yyin = fopen(argv[1], "r");
yyin = stdin;
labelVrai = labelFaux = labelFin = labelDebut = labelSuite = labelWhileDebut = labelWhileFin = n_labels = labelN_else = 0;
dico_global = dictionnaire_create();
dico_local = creer_piledico();
if (yyparse() != 0)
{ fprintf(stderr,"Syntaxe incorrecte\n"); return 1; }
dictionnaire_destroy(dico_global);
destroy_piledico(dico_local);
return 0;
}
如果你能幫助我,這將是偉大的,謝謝。