50 lines
922 B
C++
50 lines
922 B
C++
|
|
#include <stdio.h> /* tmpfile() */
|
|
#include <stdlib.h> /* exit() */
|
|
#include <vector>
|
|
#include "util/refptr.h"
|
|
#include "parser/parser.h"
|
|
#include "nodes/Node.h"
|
|
using namespace std;
|
|
|
|
int usage();
|
|
void compile(const char * filename);
|
|
|
|
int usage()
|
|
{
|
|
fprintf(stderr, "Usage: jtlc [options] <source files>\n");
|
|
exit(42);
|
|
}
|
|
|
|
int main(int argc, char * argv[])
|
|
{
|
|
vector<const char *> source_files;
|
|
for (int i = 1; i < argc; i++)
|
|
{
|
|
if (argv[i][0] != '-')
|
|
{
|
|
source_files.push_back(argv[i]);
|
|
}
|
|
}
|
|
|
|
if (source_files.size() < 1)
|
|
{
|
|
usage();
|
|
}
|
|
|
|
for (int i = 0, num = source_files.size(); i < num; i++)
|
|
{
|
|
compile(source_files[i]);
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
void compile(const char * filename)
|
|
{
|
|
FILE * out = tmpfile();
|
|
refptr<Node> tree = parse(filename);
|
|
// tree->process(out);
|
|
fclose(out);
|
|
}
|