From a788ad367540fe853285fe83428d4fe7b2a82309 Mon Sep 17 00:00:00 2001 From: Tan Kian-ting Date: Mon, 25 Mar 2024 00:35:10 +0800 Subject: [PATCH] remove unnessary files --- .gitignore | 4 +- ocaml_yacc/ast.cmi | Bin 407 -> 0 bytes ocaml_yacc/ast.cmo | Bin 167 -> 0 bytes ocaml_yacc/calc | Bin 209400 -> 0 bytes ocaml_yacc/calc.cmi | Bin 1127 -> 0 bytes ocaml_yacc/calc.cmo | Bin 3240 -> 0 bytes ocaml_yacc/lexer.cmi | Bin 709 -> 0 bytes ocaml_yacc/lexer.cmo | Bin 3810 -> 0 bytes ocaml_yacc/lexer.ml | 281 ------------------------------------ ocaml_yacc/parser.cmi | Bin 993 -> 0 bytes ocaml_yacc/parser.cmo | Bin 5217 -> 0 bytes ocaml_yacc/parser.ml | 327 ------------------------------------------ ocaml_yacc/parser.mli | 17 --- 13 files changed, 3 insertions(+), 626 deletions(-) delete mode 100644 ocaml_yacc/ast.cmi delete mode 100644 ocaml_yacc/ast.cmo delete mode 100755 ocaml_yacc/calc delete mode 100644 ocaml_yacc/calc.cmi delete mode 100644 ocaml_yacc/calc.cmo delete mode 100644 ocaml_yacc/lexer.cmi delete mode 100644 ocaml_yacc/lexer.cmo delete mode 100644 ocaml_yacc/lexer.ml delete mode 100644 ocaml_yacc/parser.cmi delete mode 100644 ocaml_yacc/parser.cmo delete mode 100644 ocaml_yacc/parser.ml delete mode 100644 ocaml_yacc/parser.mli diff --git a/.gitignore b/.gitignore index ede7000..3762f62 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,6 @@ node_modules /src/*.js /tests/*.js .vscode -activate.sh \ No newline at end of file +activate.sh +*.cmo +*.mli diff --git a/ocaml_yacc/ast.cmi b/ocaml_yacc/ast.cmi deleted file mode 100644 index 6902fe77242484dfc54141d6571c28a0af566a25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 407 zcmZ=x%*`>hw6ydzFg9qJx@;c<1H&sIb_C)#K>U1xvSV?{f`bc`6N^h2LOB>1EEpUd z7A|vCoEPgE-A{)OZRt};K0QC^&x`;!#@Xy4F}YKn)GsW938w5 zurN6~L;`iPNH~Ht`{k#kG6X|3tK?)Bmw1BAVNpRC@CU*C3o?sE%+Vq00E@VzLk`Fo zT_>P1%AR>83?UFxlr!^691(hcgY~F6I^-T;QFnBx1nIGLc5rZX00E$JT0j;H3y8B2 zNCG)f-zNfn%@4%pK&-m}?EMJ_hTbz=_nMc)S5KVgfB&`c+XV~Mf=g0zGLt44=yIr~ z?W;euYhqrJv1Q4``wJFWI0M5J=$h1`yu=*0{G!~%5~sxC%;e$;21m9wFIRt~@paGa Z#aVY!&L4+a$^x{E35Z!ic)hw6yd$Fg9RdV34r_5|%&=0xeUQ?E_NfKr8~pK0xfm!N8!wpzK&&65z97 z!K6tntR4;v7N`Z6q~v5KO)${qP)plae`wdlydq=El8N^hEU<6}T9BDnl3J9PnB$gT zl$%)MlvtdZTs*Tfi@?wP$f>rTq~;|mtB2u?6C^q%3m*SsXYdg3(y`>%!H HI)DKHDK0sE diff --git a/ocaml_yacc/calc b/ocaml_yacc/calc deleted file mode 100755 index 668198787df66ef1aa65e1ec842be6fd08239374..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 209400 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 diff --git a/ocaml_yacc/calc.cmi b/ocaml_yacc/calc.cmi deleted file mode 100644 index c6dfff1e8e4f13f569799a9511e1da76680462ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1127 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 diff --git a/ocaml_yacc/lexer.cmo b/ocaml_yacc/lexer.cmo deleted file mode 100644 index 6b2c6c9a59b546b01f4d505e53867203f1af5062..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3810 zcmeHJU1%It6uxINY5xDHjYa&aCXLxumx+-yfud{vq)9cYX=^pcHQn9Rt(ycl`%qC( zNG(1nPEt}L2D}n9h?b@WL8P{e6k71X7ZpJ1>G++Q+;n!bW>?9Bpm+H8 z+;h%%&pr3dox8Vfa5&!3($dmnG#Wx^sog>d69@w(KqF8GZkCP#=M9jgE$55z=-_X_}{e_B?@((V_X2FV1rYhU4*e(Ji`Dy2f%} zFi6^NklzVP^Hfo-5SOsTE7n!(H|uwc#2;3-*dwI4hNWK=P4ugE*_uz)t5`coOp};F zux_GSqUN9z25hTb@GrLl^zyO0^K6TbnzD61r58R-^eEBZlwQr4&-=15%{v23*XCGeHLB+Q*~lzVq~+atTr*&E}`bo@@ z?_2UMxQqsg_sMsS{F=+yMB)ST-$wo#mvK9Z!xw#{Ml{KpZsbdZ*f!Aj&GL6rEG4)RXaA4 zj3!0~ -# 7 "lexer.mll" - ( token lexbuf ) -# 186 "lexer.ml" - - | 1 -> -# 8 "lexer.mll" - ( EOL ) -# 191 "lexer.ml" - - | 2 -> -# 9 "lexer.mll" - ( IN ) -# 196 "lexer.ml" - - | 3 -> -let -# 10 "lexer.mll" - lxm -# 202 "lexer.ml" -= Lexing.sub_lexeme_char lexbuf lexbuf.Lexing.lex_start_pos in -# 10 "lexer.mll" - ( ID((String.make 1 lxm)) ) -# 206 "lexer.ml" - - | 4 -> -let -# 11 "lexer.mll" - lxm -# 212 "lexer.ml" -= Lexing.sub_lexeme lexbuf lexbuf.Lexing.lex_start_pos lexbuf.Lexing.lex_curr_pos in -# 11 "lexer.mll" - ( ID(lxm) ) -# 216 "lexer.ml" - - | 5 -> -let -# 12 "lexer.mll" - lxm -# 222 "lexer.ml" -= Lexing.sub_lexeme lexbuf lexbuf.Lexing.lex_start_pos lexbuf.Lexing.lex_curr_pos in -# 12 "lexer.mll" - ( INT(lxm) ) -# 226 "lexer.ml" - - | 6 -> -# 13 "lexer.mll" - ( PLUS ) -# 231 "lexer.ml" - - | 7 -> -# 14 "lexer.mll" - ( MINUS ) -# 236 "lexer.ml" - - | 8 -> -# 15 "lexer.mll" - ( TIMES ) -# 241 "lexer.ml" - - | 9 -> -# 16 "lexer.mll" - ( DIV ) -# 246 "lexer.ml" - - | 10 -> -# 17 "lexer.mll" - ( LPAREN ) -# 251 "lexer.ml" - - | 11 -> -# 18 "lexer.mll" - ( RPAREN ) -# 256 "lexer.ml" - - | 12 -> -# 19 "lexer.mll" - ( IMPLY ) -# 261 "lexer.ml" - - | 13 -> -# 20 "lexer.mll" - ( FUNC ) -# 266 "lexer.ml" - - | 14 -> -# 21 "lexer.mll" - ( ASSIGN ) -# 271 "lexer.ml" - - | 15 -> -# 22 "lexer.mll" - ( raise Eof ) -# 276 "lexer.ml" - - | __ocaml_lex_state -> lexbuf.Lexing.refill_buff lexbuf; - __ocaml_lex_token_rec lexbuf __ocaml_lex_state - -;; - diff --git a/ocaml_yacc/parser.cmi b/ocaml_yacc/parser.cmi deleted file mode 100644 index 3f174a7c327aa2bb7685fd7f8ae4bc0fe6bfa7d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 993 zcmZ|OOH30%7y#gZn<3$(5HE0)!fG&L2`17+lkH<$wzS*A@+gABQi>_Ii*{E;Edc`| zK9dE6Xoz8J6Yyd}LQK#o4#vcT2R(T*L9ad%FCaeS3}e%i%})M*JKsM$lbP|TsbsCw z>69FGj)~dDH2~Wd06Zdbm9#~RkEm%qp0?JlDr4|;T!Tz8Ks^XT)_QN*CAkHfO$)D> zIbJu?3GGx^Fa=xD<_8eqn;N7j_HK}C69SUP)bBB6JF)DMB`U=Sl%1${dE!1t% zI<(uP#xN@Js5<4moAAm=uvLK;bEm(|YYbsj?lm&B|B#3DSA`^*fK~?fiX)>KRfr?t zqoUqRMT-;?6=-9k+6R7+FgieEgd&$nklib_K|3RLerN&(qr)^tDGB%p;e!!ZvnWH9 zsiO_h0i75fqcKL6;-{*asSc(@3HqQPBOi?#Rb35KxfDh6%W#}2IRJxj7NanY7pRI$ zL{&&KbTZN22p1uPQItdu#wgJOgj7kPNU#ICnCb~~aG8T~j8v9gqwstqft9{i*#jq- zON2PM&cRKL23R&j-B^$~yBH3_NygGL2e&ww!$@b@JY`oyg5VP9kL=hG$q=G1S#*Q^ zZ7o}sDK(+N$Q!&a&}Su^HK%#S=u0Mg`CxpQoEJVBAMQQZU)cR^a+uIU;r)C5IQ{rH z0xJ1m=}+%pH(QkHh;CnL^K`yNv%5-XCO(Qe zQq73zI9Sa0uZ=!`Jf)@UoW|6KWz~DgElg-eJguoo-(WhW8g5lj#B|f~;^FwxzR&wN vpUme5-u1nHX<2l6rlYp;w)pgj(S2!ZF1+z+&zJm^5t*uuv?AIpvUPs}Kk#ER diff --git a/ocaml_yacc/parser.cmo b/ocaml_yacc/parser.cmo deleted file mode 100644 index 55ec28e9e6dfecd8b5ada0fc5a7c531df574b5c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5217 zcmds4dvH|M89(3d-hCulB%2swOiYDj^MJqtRmqHlHzq-r0Es4GtT36)14-N@n5+dP zt))_H+tJy8qF9{XmQH1=Z7GFmhp9Bv(#JGTajIiyTBr0MXF9D;Gb7CKhr0d!&fSZ< zcY=fdVQ2cC{m%Ee-|IZ?Id@wVqsf)c&CQ*$)iI?)@AoLBek)2ffHnfbYAggD2Hpr< z10)myYk)qWA9xFp;5?^qEzkoT1Tu#6EDSyh^a2NfS9>;}-(uMB1TueaJn9+eULYeE z>t1Q<{|+GQt_SAUW-4Ac1!DH-QBDa7+YK_ex!t!#m@3p529T$2t16IZOry#-OyxKFk-7=ZP0pE&zvzO`_CoN+p~^NrxdAUojcF7A|@_#IBxCdQD?o1b|oezhbFot^p0gsA6(I$8cYuN_w`XdJodm&%SxwDMt5nW z6Eh7qvwSou>YEbTFOg?we0UdZ{sq%iCZj~{C~7?fU#S`-StRN!q!pr$l2(a2MOrNC zBIyzlZ5|cT_6;Hjs9z>xk**N=1?ei0*HF}VO)Gt}rZzd0Ix*9DrK-K#rF@x`_n|18 z8!$~%JTW@9h^LpdO*}gAUE)C@cA&*gYxBbNOGTqpbRvw+-L1p?f$m$yGe>%#c#BB4 ziMO7#PrPlU{o>u`gsrPhCPw=Q6M3;8l&UeQI*8adcZ9LMPtf-v@tz<}iC5>^ExuC9 zkBD!X6Ej+y*tILUH!tLbR6i%xXAsinW*E|^NBa%&VcHL^8o9T#IK=}TfD zZPvRf&-)RnX_1--;catC?fo*n&WP~_=__JjH)g#X^St*-?SRxi32&Qwir)Tmdc7)s zUBh|tW9V7$6?xuM55+1&Hm>s97_SNs=A z=Oo}GeNO_F*(hldFJ2xIpY9Fa`*k1CeNguy-52P-Q1?Z;52MG>0@z%Kmg&_S?;q(K ze0Y}xu$}QzhGLnF;6urSKQCTFO@7*aJPGAHr@*qe5W=Ud|W z4YTxQLoytL3Ys72)f}n)gq+i;VaVu+cz!3I*TL3}iZ>x%Y-tJbEkKo9?E{F17hw^Q zm$Ct5oxFT)U}!gl^&#eH17LWV@-HY8uNW8aQSrVEHukU>N{od}Jg5`j>d|u$!ZBKi z<1~!p_c|P%^jouAj1n;xgKgd`#+Vpire88!a6s+J=q#Y*ihv_P$!afsIF(tM>DLl1 z*hVs;Ou4pJ>Y>b(ZuG4H_Gx9k&RzZlbC?^G?~e_Q;Qm^qa{kR`SVw_%)CLhivO|%g5Wz;T!Pyqh!;-+Q}$#rl2W)N;l=yJ z26}d@4hfD+@KNwRYLf(KCHOab;;q5@;?j{|fvUp7+=#_0QP*Qp1yTg95=-g>HGnl( zw21ngx*7kym*CE;Rduk8!m=#e>Om`kjnJ1tzYq(!FsI$5H9_uU}F@?-idEiik&o;0h!p0SSv!V;K4>%yK1=mWKGH zMg`$fAPuNJjGn&EvjC!a@T?Gh_=>g=+9GJN%$bk0L1+uKHk@Odug#B5{{mfWZoYgQ zO0;980d1Sf_%sb@eI^qS?yn&=AmQ~Az8Cxsm6GE9QmoI9qxMU2d)LM--D*>OGy0zR zruJ^t7T>BicD3BozFFO4la}u8_+6V-9KTIn8}C!=wrp-y?VTI-+dihgD8)ym_@_uP zF6yfixm_Y_xgy`!8S3JjdsMtl+wK;1Kq4&?*$U%5qP{MXQHhMx7?;DeAzzcwddoU^ z(2yr3^iNzj?hmGP%y{kWmXh8--SEe@b7z0})?mA3EpXc%f3+X8tR}}KK9*X&DjoZaCm>&_ zfAjKe+3b54;=Vhi+2A00XN_}swk zuO9!-i|Z_FO)I_$@JTQKhJDzKQ<+fDczUjlA7ye!Hu8G*+1D?c failwith "parser") -; (fun __caml_parser_env -> - let _1 = (Parsing.peek_val __caml_parser_env 1 : 'blocks) in - Obj.repr( -# 15 "parser.mly" - ( _1 ) -# 145 "parser.ml" - : Ast.ast)) -; (fun __caml_parser_env -> - let _1 = (Parsing.peek_val __caml_parser_env 0 : 'block) in - Obj.repr( -# 18 "parser.mly" - ( _1 ) -# 152 "parser.ml" - : 'blocks)) -; (fun __caml_parser_env -> - let _1 = (Parsing.peek_val __caml_parser_env 1 : 'blocks) in - let _2 = (Parsing.peek_val __caml_parser_env 0 : 'block) in - Obj.repr( -# 19 "parser.mly" - (match _1 with Ast.Node x -> Ast.Node (x @ [_2]) - | Ast.Int x -> Ast.Node[_1; _2] | Ast.Leaf x -> Ast.Node [_1; _2]) -# 161 "parser.ml" - : 'blocks)) -; (fun __caml_parser_env -> - let _1 = (Parsing.peek_val __caml_parser_env 0 : 'expr) in - Obj.repr( -# 24 "parser.mly" - (_1) -# 168 "parser.ml" - : 'block)) -; (fun __caml_parser_env -> - let _1 = (Parsing.peek_val __caml_parser_env 0 : 'let_bind) in - Obj.repr( -# 25 "parser.mly" - (_1) -# 175 "parser.ml" - : 'block)) -; (fun __caml_parser_env -> - let _1 = (Parsing.peek_val __caml_parser_env 5 : 'typ) in - let _2 = (Parsing.peek_val __caml_parser_env 4 : string) in - let _4 = (Parsing.peek_val __caml_parser_env 2 : 'expr) in - let _6 = (Parsing.peek_val __caml_parser_env 0 : 'block) in - Obj.repr( -# 29 "parser.mly" - (Ast.Node [Ast.Leaf "%let"; Ast.Node[_1; Ast.Leaf _2; _4]; _6]) -# 185 "parser.ml" - : 'let_bind)) -; (fun __caml_parser_env -> - let _1 = (Parsing.peek_val __caml_parser_env 0 : string) in - Obj.repr( -# 33 "parser.mly" - (Ast.Leaf _1) -# 192 "parser.ml" - : 'typ)) -; (fun __caml_parser_env -> - let _1 = (Parsing.peek_val __caml_parser_env 2 : 'typ) in - let _3 = (Parsing.peek_val __caml_parser_env 0 : 'typ) in - Obj.repr( -# 34 "parser.mly" - (Ast.Node [Ast.Leaf "->"; _1 ; _3]) -# 200 "parser.ml" - : 'typ)) -; (fun __caml_parser_env -> - let _1 = (Parsing.peek_val __caml_parser_env 0 : 'app_expr) in - Obj.repr( -# 37 "parser.mly" - (_1) -# 207 "parser.ml" - : 'expr)) -; (fun __caml_parser_env -> - let _1 = (Parsing.peek_val __caml_parser_env 0 : 'bin_expr) in - Obj.repr( -# 38 "parser.mly" - (_1) -# 214 "parser.ml" - : 'expr)) -; (fun __caml_parser_env -> - let _1 = (Parsing.peek_val __caml_parser_env 0 : 'lam_expr) in - Obj.repr( -# 39 "parser.mly" - (_1) -# 221 "parser.ml" - : 'expr)) -; (fun __caml_parser_env -> - let _1 = (Parsing.peek_val __caml_parser_env 2 : 'arg) in - let _3 = (Parsing.peek_val __caml_parser_env 0 : 'block) in - Obj.repr( -# 43 "parser.mly" - (Ast.Node [Ast.Leaf "%lambda"; _1 ; _3]) -# 229 "parser.ml" - : 'lam_expr)) -; (fun __caml_parser_env -> - let _1 = (Parsing.peek_val __caml_parser_env 1 : 'typ) in - let _2 = (Parsing.peek_val __caml_parser_env 0 : string) in - Obj.repr( -# 46 "parser.mly" - ( Ast.Node [_1;Ast.Leaf _2] ) -# 237 "parser.ml" - : 'arg)) -; (fun __caml_parser_env -> - let _1 = (Parsing.peek_val __caml_parser_env 1 : 'expr) in - let _2 = (Parsing.peek_val __caml_parser_env 0 : 'expr) in - Obj.repr( -# 50 "parser.mly" - ( Ast.Node [ Ast.Leaf "%apply"; _1; _2] ) -# 245 "parser.ml" - : 'app_expr)) -; (fun __caml_parser_env -> - let _1 = (Parsing.peek_val __caml_parser_env 0 : string) in - Obj.repr( -# 54 "parser.mly" - ( Ast.Int (int_of_string _1)) -# 252 "parser.ml" - : 'bin_expr)) -; (fun __caml_parser_env -> - let _1 = (Parsing.peek_val __caml_parser_env 0 : string) in - Obj.repr( -# 55 "parser.mly" - ( Ast.Leaf _1 ) -# 259 "parser.ml" - : 'bin_expr)) -; (fun __caml_parser_env -> - let _2 = (Parsing.peek_val __caml_parser_env 1 : 'expr) in - Obj.repr( -# 56 "parser.mly" - ( _2 ) -# 266 "parser.ml" - : 'bin_expr)) -; (fun __caml_parser_env -> - let _1 = (Parsing.peek_val __caml_parser_env 2 : 'expr) in - let _3 = (Parsing.peek_val __caml_parser_env 0 : 'expr) in - Obj.repr( -# 57 "parser.mly" - ( Ast.Node [ Ast.Leaf "+"; _1; _3] ) -# 274 "parser.ml" - : 'bin_expr)) -; (fun __caml_parser_env -> - let _1 = (Parsing.peek_val __caml_parser_env 2 : 'expr) in - let _3 = (Parsing.peek_val __caml_parser_env 0 : 'expr) in - Obj.repr( -# 58 "parser.mly" - ( Ast.Node[ Ast.Leaf "-"; _1 ; _3] ) -# 282 "parser.ml" - : 'bin_expr)) -; (fun __caml_parser_env -> - let _1 = (Parsing.peek_val __caml_parser_env 2 : 'expr) in - let _3 = (Parsing.peek_val __caml_parser_env 0 : 'expr) in - Obj.repr( -# 59 "parser.mly" - ( Ast.Node[ Ast.Leaf "*"; _1 ;_3] ) -# 290 "parser.ml" - : 'bin_expr)) -; (fun __caml_parser_env -> - let _1 = (Parsing.peek_val __caml_parser_env 2 : 'expr) in - let _3 = (Parsing.peek_val __caml_parser_env 0 : 'expr) in - Obj.repr( -# 60 "parser.mly" - ( Ast.Node[ Ast.Leaf "/"; _1; _3] ) -# 298 "parser.ml" - : 'bin_expr)) -; (fun __caml_parser_env -> - let _2 = (Parsing.peek_val __caml_parser_env 0 : 'expr) in - Obj.repr( -# 61 "parser.mly" - ( Ast.Node[ Ast.Leaf "-" ; _2] ) -# 305 "parser.ml" - : 'bin_expr)) -(* Entry main *) -; (fun __caml_parser_env -> raise (Parsing.YYexit (Parsing.peek_val __caml_parser_env 0))) -|] -let yytables = - { Parsing.actions=yyact; - Parsing.transl_const=yytransl_const; - Parsing.transl_block=yytransl_block; - Parsing.lhs=yylhs; - Parsing.len=yylen; - Parsing.defred=yydefred; - Parsing.dgoto=yydgoto; - Parsing.sindex=yysindex; - Parsing.rindex=yyrindex; - Parsing.gindex=yygindex; - Parsing.tablesize=yytablesize; - Parsing.table=yytable; - Parsing.check=yycheck; - Parsing.error_function=parse_error; - Parsing.names_const=yynames_const; - Parsing.names_block=yynames_block } -let main (lexfun : Lexing.lexbuf -> token) (lexbuf : Lexing.lexbuf) = - (Parsing.yyparse yytables 1 lexfun lexbuf : Ast.ast) diff --git a/ocaml_yacc/parser.mli b/ocaml_yacc/parser.mli deleted file mode 100644 index 2a8b331..0000000 --- a/ocaml_yacc/parser.mli +++ /dev/null @@ -1,17 +0,0 @@ -type token = - | INT of (string) - | ID of (string) - | PLUS - | MINUS - | TIMES - | DIV - | LPAREN - | RPAREN - | ASSIGN - | IN - | IMPLY - | FUNC - | EOL - -val main : - (Lexing.lexbuf -> token) -> Lexing.lexbuf -> Ast.ast -- 2.39.2