diff options
Diffstat (limited to 'sem1/osc/mm11/regn2/regn.l')
-rw-r--r-- | sem1/osc/mm11/regn2/regn.l | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/sem1/osc/mm11/regn2/regn.l b/sem1/osc/mm11/regn2/regn.l new file mode 100644 index 0000000..9988ddd --- /dev/null +++ b/sem1/osc/mm11/regn2/regn.l @@ -0,0 +1,27 @@ +%{ +#include <math.h> +#include <string.h> +#include "regn.tab.h" +%} + +realtal ([0-9]+|([0-9]*\.[0-9]+))([eE][-+]?[0-9]+)? +op_log log +op_exp exp +op_sqrt sqrt + +%% +{realtal} {yylval.dval = atof(yytext); + return TAL;} +{op_log} {return LOG;} +{op_exp} {return EXP;} +{op_sqrt} {return SQRT;} + +[ \t] ; + + +'$' {return 0;} + +\n|. {return yytext[0];} + +%% + |