| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- #include <stdint.h>
- #include <stdio.h>
- #include "Code.h"
- #include "Compiler.h"
- #include "Memory.h"
- #include "Tokenizer.h"
- int main(int argCount, const char** args) {
- if(argCount < 2) {
- return 0;
- }
- static char heap[2000];
- memoryInit(heap, sizeof(heap));
- // memoryDump();
- Tokenizer t;
- Error e = tokenizerInit(&t, args[1]);
- if(hasError(&e)) {
- puts(e.text);
- tokenizerDestroy(&t);
- return 0;
- }
- Code code;
- codeInit(&code);
- e = compileFile(&t, &code);
- tokenizerDestroy(&t);
- if(hasError(&e)) {
- puts(e.text);
- } else {
- // codeDump(&code);
- // return 0;
- // memoryDump();
- codeRun(&code);
- if(codeHasRunError(&code)) {
- puts(codeGetRunError(&code));
- }
- // memoryDump();
- }
- codeDestroy(&code);
- // memoryDump();
- return 0;
- }
|