mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-25 19:29:53 +00:00
Make tablegen take an input filename to parse if one is specified, otherwise
use stdin. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7431 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
35c7444e52
commit
90523906fa
@ -24,12 +24,24 @@ typedef std::pair<Record*, std::vector<Init*>*> SubClassRefTy;
|
|||||||
static std::vector<std::pair<std::pair<std::string, std::vector<unsigned>*>,
|
static std::vector<std::pair<std::pair<std::string, std::vector<unsigned>*>,
|
||||||
Init*> > SetStack;
|
Init*> > SetStack;
|
||||||
|
|
||||||
void ParseFile() {
|
void ParseFile(const std::string &Filename) {
|
||||||
FILE *F = stdin;
|
FILE *F = stdin;
|
||||||
|
if (Filename != "-") {
|
||||||
|
F = fopen(Filename.c_str(), "r");
|
||||||
|
|
||||||
|
if (F == 0) {
|
||||||
|
std::cerr << "Could not open input file '" + Filename + "'!\n";
|
||||||
|
abort();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
Filein = F;
|
Filein = F;
|
||||||
Filelineno = 1;
|
Filelineno = 1;
|
||||||
Fileparse();
|
Fileparse();
|
||||||
|
|
||||||
|
if (F != stdin)
|
||||||
|
fclose(F);
|
||||||
Filein = stdin;
|
Filein = stdin;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -29,13 +29,16 @@ namespace {
|
|||||||
Class("class", cl::desc("Print Enum list for this class"),
|
Class("class", cl::desc("Print Enum list for this class"),
|
||||||
cl::value_desc("class name"));
|
cl::value_desc("class name"));
|
||||||
|
|
||||||
cl::opt<std::string>
|
cl::opt<std::string>
|
||||||
OutputFilename("o", cl::desc("Output filename"), cl::value_desc("filename"),
|
OutputFilename("o", cl::desc("Output filename"), cl::value_desc("filename"),
|
||||||
cl::init("-"));
|
cl::init("-"));
|
||||||
|
|
||||||
|
cl::opt<std::string>
|
||||||
|
InputFilename(cl::Positional, cl::desc("<input file>"), cl::init("-"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void ParseFile();
|
void ParseFile(const std::string &Filename);
|
||||||
|
|
||||||
RecordKeeper Records;
|
RecordKeeper Records;
|
||||||
|
|
||||||
@ -379,7 +382,7 @@ static void ParseMachineCode() {
|
|||||||
|
|
||||||
int main(int argc, char **argv) {
|
int main(int argc, char **argv) {
|
||||||
cl::ParseCommandLineOptions(argc, argv);
|
cl::ParseCommandLineOptions(argc, argv);
|
||||||
ParseFile();
|
ParseFile(InputFilename);
|
||||||
|
|
||||||
std::ostream *Out = &std::cout;
|
std::ostream *Out = &std::cout;
|
||||||
if (OutputFilename != "-") {
|
if (OutputFilename != "-") {
|
||||||
|
@ -24,12 +24,24 @@ typedef std::pair<Record*, std::vector<Init*>*> SubClassRefTy;
|
|||||||
static std::vector<std::pair<std::pair<std::string, std::vector<unsigned>*>,
|
static std::vector<std::pair<std::pair<std::string, std::vector<unsigned>*>,
|
||||||
Init*> > SetStack;
|
Init*> > SetStack;
|
||||||
|
|
||||||
void ParseFile() {
|
void ParseFile(const std::string &Filename) {
|
||||||
FILE *F = stdin;
|
FILE *F = stdin;
|
||||||
|
if (Filename != "-") {
|
||||||
|
F = fopen(Filename.c_str(), "r");
|
||||||
|
|
||||||
|
if (F == 0) {
|
||||||
|
std::cerr << "Could not open input file '" + Filename + "'!\n";
|
||||||
|
abort();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
Filein = F;
|
Filein = F;
|
||||||
Filelineno = 1;
|
Filelineno = 1;
|
||||||
Fileparse();
|
Fileparse();
|
||||||
|
|
||||||
|
if (F != stdin)
|
||||||
|
fclose(F);
|
||||||
Filein = stdin;
|
Filein = stdin;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -29,13 +29,16 @@ namespace {
|
|||||||
Class("class", cl::desc("Print Enum list for this class"),
|
Class("class", cl::desc("Print Enum list for this class"),
|
||||||
cl::value_desc("class name"));
|
cl::value_desc("class name"));
|
||||||
|
|
||||||
cl::opt<std::string>
|
cl::opt<std::string>
|
||||||
OutputFilename("o", cl::desc("Output filename"), cl::value_desc("filename"),
|
OutputFilename("o", cl::desc("Output filename"), cl::value_desc("filename"),
|
||||||
cl::init("-"));
|
cl::init("-"));
|
||||||
|
|
||||||
|
cl::opt<std::string>
|
||||||
|
InputFilename(cl::Positional, cl::desc("<input file>"), cl::init("-"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void ParseFile();
|
void ParseFile(const std::string &Filename);
|
||||||
|
|
||||||
RecordKeeper Records;
|
RecordKeeper Records;
|
||||||
|
|
||||||
@ -379,7 +382,7 @@ static void ParseMachineCode() {
|
|||||||
|
|
||||||
int main(int argc, char **argv) {
|
int main(int argc, char **argv) {
|
||||||
cl::ParseCommandLineOptions(argc, argv);
|
cl::ParseCommandLineOptions(argc, argv);
|
||||||
ParseFile();
|
ParseFile(InputFilename);
|
||||||
|
|
||||||
std::ostream *Out = &std::cout;
|
std::ostream *Out = &std::cout;
|
||||||
if (OutputFilename != "-") {
|
if (OutputFilename != "-") {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user