%{ #include %} %option yylineno %% "EQ" {return(EQ);} "FF" {return(FFUN);} "SET" {return(SET);} "TUP" {return(TUP);} "ALT" {return(ALT);} "LIST" {return(LIST);} "ANY" {return(C_ANY);} "SYM" {return(C_SYM);} "STR" {return(C_STR);} "INT" {return(C_INT);} "BOOL" {return(C_BOOL);} "if" {return(OPR);} "is" {return(OPR);} "def" {return(DEF);} "let" {return(LET);} "add" {return(LET);} "not" {return(OPR);} "plus" {return(OPR);} "cons" {return(OPR);} "conc" {return(OPR);} "cond" {return(OPR);} "head" {return(OPR);} "tail" {return(OPR);} "load" {return(LOAD);} "true" {return(OPR);} "false" {return(OPR);} "fopen" {return(OPR);} "equal" {return(OPR);} "princ" {return(OPR);} "progn" {return(OPR);} "fputs" {return(OPR);} "quote" {return(OPR);} "fclose" {return(OPR);} "member" {return(OPR);} "makeff" {return(OPR);} "append" {return(OPR);} "strcat" {return(OPR);} "lambda" {return(LAMBDA);} "makeset" {return(OPR);} "deftype" {return(DEFTYPE);} [0-9]+ {return(NUMBER);} [a-zA-Z\_][a-zA-Z0-9\_]* {strcpy(yylval.STR,yytext);return(IDENT);} \'[a-zA-Z\_][a-zA-Z0-9\_]* {return(SYMBOL);} (\"([^\"\n]|\\\")*\") {return(STRING);} "("|")" {return(yytext[0]);} ^\;.* {return(COMMENT);} %% int yywrap() { return 1; }