aboutsummaryrefslogtreecommitdiff
path: root/sem1/osc/mm11/regn2
diff options
context:
space:
mode:
Diffstat (limited to 'sem1/osc/mm11/regn2')
-rw-r--r--sem1/osc/mm11/regn2/Makefile30
-rw-r--r--sem1/osc/mm11/regn2/regn.l27
-rw-r--r--sem1/osc/mm11/regn2/regn.y46
3 files changed, 0 insertions, 103 deletions
diff --git a/sem1/osc/mm11/regn2/Makefile b/sem1/osc/mm11/regn2/Makefile
deleted file mode 100644
index 9640aaa..0000000
--- a/sem1/osc/mm11/regn2/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-
-LEX=flex
-YACC=bison
-LIBS=-ly -lfl -lm
-CC=gcc
-
-PROG=regn
-TRASH=lex.yy.c $(PROG).tab.c $(PROG) $(PROG).tab.h $(PROG).output
-
-$(PROG): $(PROG).tab.o lex.yy.o
- $(CC) -o $@ $^ $(LIBS)
-
-$(PROG).tab.c $(PROG).tab.h: $(PROG).y
- $(YACC) -d -v $(PROG).y
-
-lex.yy.c: $(PROG).l
- $(LEX) $(PROG).l
-
-%.o: %.c
- $(CC) -c -o $@ $^
-
-PHONY: clean run
-
-run: $(PROG)
- ./$(PROG)
-
-clean:
- rm -f *.o
- rm -f $(TRASH)
-
diff --git a/sem1/osc/mm11/regn2/regn.l b/sem1/osc/mm11/regn2/regn.l
deleted file mode 100644
index 9988ddd..0000000
--- a/sem1/osc/mm11/regn2/regn.l
+++ /dev/null
@@ -1,27 +0,0 @@
-%{
-#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];}
-
-%%
-
diff --git a/sem1/osc/mm11/regn2/regn.y b/sem1/osc/mm11/regn2/regn.y
deleted file mode 100644
index eac24c8..0000000
--- a/sem1/osc/mm11/regn2/regn.y
+++ /dev/null
@@ -1,46 +0,0 @@
-%{
-#include <stdio.h>
-#include <math.h>
-#include <string.h>
-%}
-
-%union {
- double dval;
-}
-
-%token <dval> TAL
-%token LOG EXP SQRT
-
-%left '-' '+'
-%left LOG EXP SQRT
-%left '*' '/'
-%right UMINUS
-
-%type <dval> expression
-
-%%
-
-statement_list: statement '\n'
- | statement_list statement '\n' ;
-
-statement: expression {printf("out \n");};
-
-expression: expression '+' expression {printf("sum \n");}
- | expression '-' expression {printf("sub \n");}
- | expression '*' expression {printf("mul \n");}
- | expression '/' expression {if ($3 == 0.0)
- yyerror("divide dy zero");
- else printf("div \n");}
- | '-' expression %prec UMINUS {printf("neg \n");}
- | '(' expression ')' {;}
- | LOG expression {printf("log \n");}
- | EXP expression {printf("exp \n");}
- | SQRT expression {printf("sqrt \n");}
- | TAL {printf("load %f \n", $$);};
-%%
-
-int main()
-{
- yyparse();
-}
-