298 Commits

Author SHA1 Message Date
Nathanaël Courant
2579ce96e3 Use interpopt.opt for bootstrap 2021-02-17 15:21:13 +01:00
Nathanaël Courant
f375799b0d Make interp compatible with ocamlopt 2021-02-17 15:16:14 +01:00
Nathanaël Courant
dc70540748 Add script for computing timings 2021-02-17 15:15:16 +01:00
Nathanaël Courant
5c53d505c1 Fix Makefile 2021-02-17 08:40:41 +01:00
Nathanaël Courant
7969c70193 Changes to make Makefile work 2021-02-16 14:05:22 +01:00
Nathanaël Courant
bc417c81a3 Timings in Makefile 2021-02-15 17:44:43 +01:00
Nathanaël Courant
641e1d22b3 Break dependency loop in Makefile 2021-02-15 17:40:34 +01:00
Nathanaël Courant
4caff306bd Add makefile for make_opcodes 2021-02-15 15:59:07 +01:00
Nathanaël Courant
415c38818d Remove more now unneeded files 2021-02-15 15:36:05 +01:00
Nathanaël Courant
25e476781f Remove old files 2021-02-15 15:24:38 +01:00
Nathanaël Courant
ca27784d19 Makefile for lexer bootstrap 2021-02-15 15:20:41 +01:00
Nathanaël Courant
30a585a943 Stop using genfile.sh 2021-02-15 14:44:55 +01:00
Nathanaël Courant
98e51391b3 Revert files to ocaml versions when possible 2021-02-15 13:48:26 +01:00
Nathanaël Courant
9e3e03d70f Add really inefficient interval patterns 2021-02-15 11:14:52 +01:00
Nathanaël Courant
a18951cf07 Add int32, int64 and nativeint constants 2021-02-15 10:56:33 +01:00
Nathanaël Courant
64d0f85037 Now that hashtbl is supported, make create_hashtable compatible 2021-02-15 09:44:42 +01:00
Nathanaël Courant
e4304fc1b5 miniml: Handle 0x, 0o, 0b literals 2021-02-15 09:44:08 +01:00
Nathanaël Courant
b4b783f9e8 Make hand-made lexer work with miniml 2021-02-12 15:46:08 +01:00
Nathanaël Courant
f4fc51c0b4 Make ocamllex work with miniml 2021-02-12 15:41:29 +01:00
Nathanaël Courant
0903b729ca Use ocaml source version compatible with camlboot 2021-02-08 11:30:04 +01:00
Nathanaël Courant
a53db09873 Add dependencies for interpreter for miniml 2021-02-08 10:41:57 +01:00
Nathanaël Courant
f3949cc18f Slight changes to make interpreter compatible with miniml 2021-02-08 10:39:36 +01:00
Nathanaël Courant
64b1b0c402 miniml: output symbol table, handle uminus better, more primitives 2021-02-08 10:37:55 +01:00
Nathanaël Courant
984357931c Change compiling scripts for native code 2021-02-07 11:43:27 +01:00
Nathanaël Courant
b60b8bb356 Add a function executed at end of program (for flushing) 2021-01-11 12:20:11 +01:00
Nathanaël Courant
899bd1b913 Names for primitives 2021-01-11 10:20:58 +01:00
Nathanaël Courant
c80b7ee60f Fix incorrect computation of free variables for 'LLetrecfun 2021-01-08 12:35:23 +01:00
Nathanaël Courant
b6ddc1ff6d Make a few changes in interpreter for syntax compatibility with miniml 2021-01-06 12:57:33 +01:00
Nathanaël Courant
899e9dfcbf Ignore module types 2021-01-06 12:42:03 +01:00
Nathanaël Courant
e1b82f9d49 Add M.(...) syntax in patterns 2021-01-06 12:25:52 +01:00
Nathanaël Courant
46b9b934a8 Add M.{ ... } syntax in both patterns and expressions 2021-01-06 12:25:52 +01:00
Nathanaël Courant
8bfbae5673 Fixes after review 2021-01-06 12:25:17 +01:00
Nathanaël Courant
cc31acf2c8 Warning for escaping function with labels 2020-12-31 17:35:17 +01:00
Nathanaël Courant
755ac6a4d4 General function application 2020-12-30 16:55:29 +01:00
Nathanaël Courant
4450a27f0f Add for and while loops 2020-12-30 16:20:24 +01:00
Nathanaël Courant
d7f4e971a4 Add 'a ref and related functions to lib.ml 2020-12-30 16:19:22 +01:00
Gabriel Scherer
7caf12247f string patterns
(I believe that the small size increase in all tests is due to the
unconditional registration of "caml_string_equal" as an additional
primitive.)
2020-12-29 20:30:22 +01:00
Gabriel Scherer
363135e795 refactor compile-switch 2020-12-29 20:30:22 +01:00
Gabriel Scherer
8665fbb5fa compile.scm: match .. with exception 2020-12-28 17:15:08 +01:00
Gabriel Scherer
0bf1f90c6a labels with patterns
(I wanted to use this feature in a test file.)
2020-12-28 17:15:08 +01:00
Brian Hempel
a7532dbe51 Interpreter README: mode is selected by an ENV var 2020-12-26 10:24:40 +01:00
Gabriel Scherer
391b8e5806
Merge pull request #41 from brianhempel/typo-fix
Fix typo in exn3: “wrap2” -> “wrap3”
2020-12-22 18:53:05 +01:00
Brian Hempel
c65316e315 Fix typo in exn3: “wrap2” -> “wrap3” 2020-12-22 10:49:18 -06:00
Gabriel Scherer
996c0d94e6 minor bugfix 2020-12-21 17:40:32 +01:00
Gabriel Scherer
66d2988b37 use standard names in compiler tests 2020-12-21 17:33:37 +01:00
Gabriel Scherer
57459d078d test/lib.ml: bind more standard primitives and definitions 2020-12-21 17:33:37 +01:00
Gabriel Scherer
ef40f51bb9 support for when-guards in pattern clauses 2020-12-21 17:03:31 +01:00
Gabriel Scherer
5e52504cf9 pattern-matching: do not generate a default case when groups are complete 2020-12-21 12:44:33 +01:00
Gabriel Scherer
4a9ddd7ec1 parse (and ignore) variance annotations 2020-12-21 09:21:19 +01:00
Gabriel Scherer
af6a929a60 make PLUS a proper token 2020-12-21 09:21:19 +01:00