void compPhaseSave(EmitInfo finfo, Foam foam, Stab stab) { SymeList symes = 0; AbSyn macs; phStart(PH_PutIntermed); macs = macexGetMacros(); if (emitIsOutputNeededOrWarn(finfo, FTYPENO_SYMEEXPR)) { symes = emitCollectIntermedSymes(stab, foam); emitTheSymbolExpr(finfo, symes, macs); listFree(Syme)(symes); } if (emitIsOutputNeededOrWarn(finfo, FTYPENO_INTERMED)) { symes = emitCollectIntermedSymes(stab, foam); emitTheIntermed(finfo, symes, foam, macs); listFree(Syme)(symes); phLibStats(emitFileName(finfo, FTYPENO_INTERMED)); if (emitDependsWanted()) emitTheDependencies(finfo); } if (emitIsOutputNeededOrWarn(finfo, FTYPENO_FOAMEXPR)) { emitTheFoamExpr(finfo, foam); } phEnd((PhPrFun) 0, (PhPrFun) 0, (Pointer) NULL); }
void compFileInit(EmitInfo finfo) { phStartAll(cmdVerboseFlag); macexInitFile(); scobindInitFile(); stabInitFile(); ablogInit(); sposInit(); comsgInit(); arFileInit(emitFileName(finfo, FTYPENO_INTERMED), emitGetFileIdName(finfo)); }
/* * Compile .as file, returning error count. */ int compSourceFile(EmitInfo finfo) { AbSyn ab; Stab stab; Foam foam; int msgCount; compFileInit(finfo); breakSetRoot(NULL); stab = stabFile(); ab = compFileFront(finfo, stab, NULL, NULL); breakSetRoot(ab); if (emitIsOutputNeededOrWarn(finfo, FTYPENO_CPP)) { /* Need to inspect finfo to get the filename */ FileName fn = emitFileName(finfo, FTYPENO_INTERMED); genCpp(ab,fnameDir(fn),fnameName(fn)); emitTheCpp(); } if (compIsMoreAfterFront(finfo)) { foam = compFileMiddle(finfo, stab, ab); compFileSave(finfo, stab, foam); compFileBack(finfo, foam); foamFree(foam); } msgCount = comsgErrorCount(); compFileFini(finfo); /* abFree(ab); !! ab is seeping into types. */ if (msgCount < 1) breakInterrupt(); return msgCount; }
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) { QWidget * central_widget = new QWidget(); QGridLayout * layout = new QGridLayout(); QScrollArea * area = new QScrollArea(); DisplayWidget * display = new DisplayWidget(); QLabel * info_label = new QLabel(""); area->setWidget(display); layout->addWidget(area); layout->addWidget(info_label); layout->setRowStretch(0, 1); central_widget->setLayout(layout); setCentralWidget(central_widget); initMenu(); showMaximized(); connect(this, SIGNAL(emitFileName(QString )), display, SLOT(loadFile(QString ))); }
void MainWindow::openFile() { QString file_name = QFileDialog::getOpenFileName(this, tr("Открытие")); if (!file_name.isEmpty()) emit emitFileName(file_name); }