X-Git-Url: https://scm.cri.ensmp.fr/git/Faustine.git/blobdiff_plain/1059e1cc0c2ecfa237406949aa26155b6a5b9154..66f23d4fabf89ad09adbd4dfc15ac6b5b2b7da83:/interpretor/preprocessor/faust-0.9.47mr3/compiler/parser/faustlexer.l diff --git a/interpretor/preprocessor/faust-0.9.47mr3/compiler/parser/faustlexer.l b/interpretor/preprocessor/faust-0.9.47mr3/compiler/parser/faustlexer.l deleted file mode 100644 index 9286637..0000000 --- a/interpretor/preprocessor/faust-0.9.47mr3/compiler/parser/faustlexer.l +++ /dev/null @@ -1,213 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; c-basic-offset: 4 -*- */ - -/* Scanner for the Faust language */ - -%{ -#include "tree.hh" -#include "faustparser.hpp" -#define YY_NO_UNISTD_H 1 -extern int isatty (int ); -%} - -DIGIT [0-9] -ID [a-zA-Z][_a-zA-Z0-9]* -LETTER [a-zA-Z] -NUMBER ({DIGIT}+"."{DIGIT}*|"."{DIGIT}+|{DIGIT}+) -WSPACE [ \t\n] -TMACRO \\{ID}(\[(\ *({ID}|{NUMBER}),?\ *)\])?(\{(\ *({ID}|{NUMBER}),?\ *)*\})* - -%option yylineno -%x comment -%x doc -%x lst - - -%% - - -"/*" BEGIN(comment); -[^*\x0a\x0d]* /* eat anything that's not a '*' */ -"*"+[^*/\x0a\x0d]* /* eat up '*'s not followed by '/'s */ -\x0a\x0d /* no need to increment yylineno here */ -\x0a /* no need to increment yylineno here */ -\x0d /* no need to increment yylineno here */ -"*"+"/" BEGIN(INITIAL); - -"" { BEGIN(doc); return BDOC; } -. return DOCCHAR; /* char by char, may be slow ?? */ -\n return DOCCHAR; /* keep newline chars */ -"" return NOTICE; /* autoclosing tag */ -"" return NOTICE; /* autoclosing tag */ -""" { BEGIN(INITIAL); return BEQN; } -"" { BEGIN(doc); return EEQN; } -"" { BEGIN(INITIAL); return BDGM; } -"" { BEGIN(doc); return EDGM; } -"" { BEGIN(INITIAL); return BMETADATA; } -"" { BEGIN(doc); return EMETADATA; } -"" { BEGIN(INITIAL); return EDOC; } - -"true" return LSTTRUE; -"false" return LSTFALSE; -"dependencies" return LSTDEPENDENCIES; -"mdoctags" return LSTMDOCTAGS; -"distributed" return LSTDISTRIBUTED; -"=" return LSTEQ; -"\"" return LSTQ; -"/>" { BEGIN(doc); return ELST; } - - -{DIGIT}+ return INT; - - -{DIGIT}+"."{DIGIT}* return FLOAT; -{DIGIT}+"."{DIGIT}*e[-+]?{DIGIT}+ return FLOAT; -{DIGIT}+e[-+]?{DIGIT}+ return FLOAT; -"."{DIGIT}+ return FLOAT; -"."{DIGIT}+e[-+]?{DIGIT}+ return FLOAT; - - -":" return SEQ; -"," return PAR; -"<:" return SPLIT; -"+>" return MIX; -":>" return MIX; -"~" return REC; - -"+" return ADD; -"-" return SUB; -"*" return MUL; -"/" return DIV; -"%" return MOD; -"@" return FDELAY; -"'" return DELAY1; - -"&" return AND; -"|" return OR; -"xor" return XOR; - -"<<" return LSH; -">>" return RSH; - -"<" return LT; -"<=" return LE; -">" return GT; -">=" return GE; -"==" return EQ; -"!=" return NE; - -"_" return WIRE; -"!" return CUT; - -";" return ENDDEF; -"=" return DEF; -"(" return LPAR; -")" return RPAR; -"{" return LBRAQ; -"}" return RBRAQ; -"[" return LCROC; -"]" return RCROC; - -"\\" return LAMBDA; -"." return DOT; -"with" return WITH; - -"mem" return MEM; -"prefix" return PREFIX; - -"int" return INTCAST; -"float" return FLOATCAST; - -"rdtable" return RDTBL; -"rwtable" return RWTBL; - -"select2" return SELECT2; -"select3" return SELECT3; - -"ffunction" return FFUNCTION; -"fconstant" return FCONSTANT; -"fvariable" return FVARIABLE; - -"button" return BUTTON; -"checkbox" return CHECKBOX; -"vslider" return VSLIDER; -"hslider" return HSLIDER; -"nentry" return NENTRY; -"vgroup" return VGROUP; -"hgroup" return HGROUP; -"tgroup" return TGROUP; -"vbargraph" return VBARGRAPH; -"hbargraph" return HBARGRAPH; -"attach" return ATTACH; - -"acos" return ACOS; -"asin" return ASIN; -"atan" return ATAN; -"atan2" return ATAN2; - -"cos" return COS; -"sin" return SIN; -"tan" return TAN; - -"exp" return EXP; -"log" return LOG; -"log10" return LOG10; -"^" return POWOP; -"pow" return POWFUN; -"sqrt" return SQRT; - -"abs" return ABS; -"min" return MIN; -"max" return MAX; - -"fmod" return FMOD; -"remainder" return REMAINDER; - -"floor" return FLOOR; -"ceil" return CEIL; -"rint" return RINT; - -"seq" return ISEQ; -"par" return IPAR; -"sum" return ISUM; -"prod" return IPROD; - -"import" return IMPORT; -"component" return COMPONENT; -"library" return LIBRARY; -"environment" return ENVIRONMENT; - -"declare" return DECLARE; - -"serialize" return SERIALIZE; -"vectorize" return VECTORIZE; -"#" return HASH; -"rate" return RATE; - -"up" return UPSAMPLE; -"down" return DOWNSAMPLE; - -"case" return CASE; -"=>" return ARROW; - -_{ID} return IDENT; -{ID} return IDENT; - -"\""[^\"]*"\"" return STRING; - -"<"{LETTER}*"."{LETTER}">" return FSTRING; -"<"{LETTER}*">" return FSTRING; - - -"//"[^\x0a\x0d]* /* eat up one-line comments */ - -[ \t\x0a\x0d]+ /* eat up whitespace */ - -<> yyterminate(); - -. printf("extra text is : %s\n", yytext); return EXTRA; - - -%% -int yywrap() { return 1; } -