📄 elexc.cpp
字号:
/* $Id: elexc.cpp,v 1.8 1997/05/17 05:14:31 matt Exp $ Elex compiler application (c) Jan 96 Matt Phillips. */#include <unistd.h>#include <std/string.h>#include <fstream.h>#include <compiler/BufferedInputStream.h>#include "ElexCompiler.h"//////////////////// utility functionsvoid errorMessage (const string message){ cerr << "elexc: " << message << endl;}// check stream <str> which should be a stream opened for file with// <name> is open.int checkStream (ios &str, const string name){ if (!str) { errorMessage ("could not open '" + name + "': " + strerror (errno)); return 0; } else return 1;}//////////////////// Mainint main (int argc, char **argv){ if (argc != 3) { cerr << "usage: elexc <scanner.elx> <codefrags.ecf>\n"; return 1; } char *scannerFile = argv [1]; char *codeFragsFile = argv [2]; ifstream scannerStream (scannerFile); ofstream codeFragStream (codeFragsFile); if (checkStream (scannerStream, scannerFile) && checkStream (codeFragStream, codeFragsFile)) { string filename (scannerFile); BufferedInputStream inputStream (scannerStream, filename); ElexCompiler elexComp (inputStream, codeFragStream); // output any messages if (elexComp.nErrors () > 0 || elexComp.nWarnings () > 0) { cerr << elexComp.getErrors (); } if (elexComp.nErrors () == 0) elexComp.getScannerDef ().outputScanner (cout); else return 1; } else return 1; return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -