95 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			95 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
 | 
						|
#include <stdio.h>
 | 
						|
 | 
						|
#include "gcl.h"
 | 
						|
 | 
						|
int main(void)
 | 
						|
{
 | 
						|
  compileBegin();
 | 
						|
 | 
						|
  while (1) {
 | 
						|
    size_t len;
 | 
						|
    char *line = fgetln(stdin, &len);
 | 
						|
    if (!line)
 | 
						|
      break;
 | 
						|
    if (line[len-1] != '\n') {
 | 
						|
      fprintf(stderr, "Incomplete line\n");
 | 
						|
      break;
 | 
						|
    }
 | 
						|
    if (compileLine(line)) {
 | 
						|
      fprintf(stderr, "Compile error\n");
 | 
						|
      break;
 | 
						|
    }
 | 
						|
  }
 | 
						|
 | 
						|
  if (compileEnd())
 | 
						|
    fprintf(stderr, "Compile error\n");
 | 
						|
 | 
						|
  if (compileError)
 | 
						|
    fprintf(stderr, "Error: %s\n", compileError);
 | 
						|
 | 
						|
  return 0;
 | 
						|
}
 | 
						|
 | 
						|
/*
 | 
						|
         V=
 | 
						|
        <V.
 | 
						|
        \V.
 | 
						|
        \V
 | 
						|
         V.
 | 
						|
 | 
						|
        \buttonA
 | 
						|
 | 
						|
        if (scan("{")) { }
 | 
						|
        if (scan("}")) { }
 | 
						|
        if (scan("[")) { }
 | 
						|
        if (scan("]")) { }
 | 
						|
        if (scan("I")) { }
 | 
						|
        if (scan("I&")) { }
 | 
						|
        if (scan("I|")) { }
 | 
						|
        if (scan("I^")) { }
 | 
						|
        if (scan("I+")) { }
 | 
						|
        if (scan("I-")) { }
 | 
						|
        if (scan("I.")) { }
 | 
						|
        if (scan("I!")) { }
 | 
						|
        if (scan("V")) { }
 | 
						|
        if (scan("V&")) { }
 | 
						|
        if (scan("V|")) { }
 | 
						|
        if (scan("V^")) { }
 | 
						|
        if (scan("V+")) { }
 | 
						|
        if (scan("V-")) { }
 | 
						|
        if (scan("V=")) { }
 | 
						|
        if (scan("V!")) { }
 | 
						|
        if (scan("V.")) { }
 | 
						|
        if (scan("V,")) { }
 | 
						|
        if (scan("<V++")) { }
 | 
						|
        if (scan("<V.")) { }
 | 
						|
        if (scan("<V,")) { }
 | 
						|
        if (scan(">V++")) { }
 | 
						|
        if (scan(">V.")) { }
 | 
						|
        if (scan(">V,")) { }
 | 
						|
        if (scan("if=0")) { }
 | 
						|
        if (scan("if>0")) { }
 | 
						|
        if (scan("if<0")) { }
 | 
						|
        if (scan("if>=0")) { }
 | 
						|
        if (scan("if<=0")) { }
 | 
						|
        if (scan("if<>0")) { }
 | 
						|
        if (scan("if=0loop")) { }
 | 
						|
        if (scan("if>0loop")) { }
 | 
						|
        if (scan("if<0loop")) { }
 | 
						|
        if (scan("if>=0loop")) { }
 | 
						|
        if (scan("if<=0loop")) { }
 | 
						|
        if (scan("if<>0loop")) { }
 | 
						|
        if (scan("do")) { }
 | 
						|
        if (scan("loop")) { }
 | 
						|
        if (scan("push")) { }
 | 
						|
        if (scan("def")) { }
 | 
						|
        if (scan("peek")) { }
 | 
						|
        if (scan("push")) { }
 | 
						|
        if (scan("pop")) { }
 | 
						|
        if (scan("call")) { }
 | 
						|
        if (scan("ret")) { }
 | 
						|
        if (scan("else")) { }
 | 
						|
        if (scan("gcl1")) { }
 | 
						|
*/
 |