Commit Graph

3898 Commits

Author SHA1 Message Date
Christian Rinderknecht
5829982c65
Preprocessed file has now extension .pp.ligo. 2019-04-01 21:01:45 +02:00
Christian Rinderknecht
99defca21a
Added alternate syntax for "case" constructs (both expression and instruction).
New syntax: case ... of [ ... ]
2019-04-01 20:59:37 +02:00
Christian Rinderknecht
9a4ff35fc7
Factorised the "case" constructs into one. 2019-04-01 18:16:06 +02:00
Georges Dupéron
e54c5e0c42 Renaming (WIP) 2019-04-01 15:48:12 +02:00
Christian Rinderknecht
24b9b9f5ce
Forgot to patch simplify.ml to accept the new AST (for record types). 2019-04-01 15:02:13 +02:00
Christian Rinderknecht
0d98252fa0
Added alternate syntax for record types, with brackets.
New syntax: record [...]
2019-04-01 14:51:07 +02:00
Georges Dupéron
b1502106e9 Fixed shadowing issue 2019-04-01 14:18:41 +02:00
Georges Dupéron
f81c9868f8 Typo 2019-04-01 13:56:03 +02:00
Galfour
5cf1dc7270 rename mini-c 2019-04-01 10:45:39 +00:00
Galfour
7bb594af0c rename ast-typed 2019-04-01 09:37:40 +00:00
Galfour
2de68d4a00 rename ast-simplified 2019-04-01 09:03:38 +00:00
Galfour
f8dcca8a12 add expression pattern-matching 2019-04-01 08:12:48 +00:00
Galfour
c7a7f0065a mend 2019-03-30 22:06:10 +00:00
Galfour
f19f3fd785 map tests 2019-03-30 18:38:21 +00:00
Galfour
941dadeb3b added matching tests 2019-03-30 00:53:11 +00:00
Galfour
0e8ba13660 added tuples 2019-03-29 19:44:14 +00:00
Galfour
f5d9fa8266 added maps 2019-03-29 15:47:56 +00:00
Galfour
c3c4473a0b tests for multiple parameters + records 2019-03-29 14:05:43 +00:00
Georges Dupéron
c6f74061ef Test for lambda 2019-03-28 17:24:12 +01:00
Georges Dupéron
e58cf2a19d Refactored typer tests + test for constructor 2019-03-28 15:56:32 +01:00
Galfour
e184903a4f power merge 2019-03-28 14:43:49 +00:00
Galfour
3bc925cac3 Merge branch 'master' of gitlab.com:gabriel.alfour/tezos 2019-03-28 13:43:11 +00:00
Galfour
7f52774c06 multiple parameters allegedly work 2019-03-28 10:55:24 +00:00
Galfour
2ae73f80a9 multiple parameters 2019-03-28 10:26:25 +00:00
Christian Rinderknecht
98cf3a689d
The only reserved name now is "args", for the backends' sake. 2019-03-28 09:21:32 +01:00
Christian Rinderknecht
01128b6518
Fixed pattern matching of lists.
New syntax: nil -> ... | list [...] -> ... | list .... end -> ...
2019-03-27 18:17:23 +01:00
Christian Rinderknecht
baffeeb6eb
Series of instructions can now be interleaved with data declarations. 2019-03-27 16:13:57 +01:00
Galfour
4025e9e169 rewriting 2019-03-27 13:02:38 +00:00
Georges Dupéron
7f617263db Unplugged AST2 and Typecheck2 which are not used anymore and break the build 2019-03-27 11:31:16 +01:00
Georges Dupéron
4bf32a8378 Disable git commit in Version.ml for now
It does not work well with opam install, especially if the dune file is not at the root of the repository.
2019-03-27 11:21:45 +01:00
Georges Dupéron
813b405a04 Turn ligo-parser into a library (was executable) 2019-03-27 11:21:10 +01:00
Georges Dupéron
b5dc0c9e64 Merge AST_with_records into master 2019-03-27 11:17:20 +01:00
Georges Dupéron
4ffccb8dad Moved all files into src/ligo/ligo-parser prior to merge into the main code base 2019-03-27 11:16:20 +01:00
Georges Dupéron
ea358f7101 Removed manual copy of ligo-parser prior to merging Christian's history 2019-03-27 11:13:15 +01:00
Galfour
89a7821e87 Merge branch 'master' of gitlab.com:gabriel.alfour/tezos 2019-03-27 06:30:14 +00:00
Galfour
7716f78139 more tests 2019-03-27 06:30:05 +00:00
Christian Rinderknecht
e4eaad5385
Refactoring of AST and parser (type [map_injection] removed). 2019-03-26 23:36:41 +01:00
Christian Rinderknecht
b200239d82
Refactoring of the parser specification.
The rules [set_injection] and [list_injection] have been unified
in a new parametric rule [injection(Kind)].

The rules [unqualified(OP)] and [extended_expr] were refactored too.
2019-03-26 20:33:13 +01:00
Christian Rinderknecht
45a26826ca
Maps and sets defined by extension are now general expressions.
They used to be allowed only as initial values in declarations.
This new syntax enables idioms like

if set ["John"; "Paul"] contains x then ... else
2019-03-26 19:27:24 +01:00
Christian Rinderknecht
f9ffc7b8e7
List elements are now consistently separated by semicolons. 2019-03-26 17:25:42 +01:00
Christian Rinderknecht
4476a2faba
Selections can be done now through tuples.
New syntax: a.2.b.4.2.x
where the numerals denote the component of a tuple.
2019-03-26 17:12:22 +01:00
Georges Dupéron
e342c278d7 Some typer tests for expressions 2019-03-26 16:20:40 +01:00
Christian Rinderknecht
847a3a42b6
Refactoring for tuple expressions. 2019-03-26 15:51:28 +01:00
Christian Rinderknecht
c0800a64ef
Set membership is now a full-fledged expression.
It used to be tied to the test expression of a conditional.
2019-03-26 12:00:09 +01:00
Galfour
5507482b2d test for condition 2019-03-26 09:59:20 +00:00
Christian Rinderknecht
fef4337e83
Support for empty sets and maps. Alternate syntax for maps and lists:
sets, maps and lists are now homogeneous.

Lists by extension now require the "list" keyword, like sets and
maps. Semicolons needed, instead of commas.

New syntax for lists: `list [e_1; e_2; ...; e_n]`.

The empty list can now be denoted either by `list []` or `list end` or
`nil'.

Both `list` and `nil` are new keywords. Lists can also be denoted
without brackets, as sets and maps: `list e_1; e_2; ...; e_n end`.

The extension for maps follows the extension for sets: `map [b_1; b_2;
...; b_n]` or `maps b_1; ...; b_n end`.
2019-03-26 10:31:55 +01:00
Galfour
1fe74323be more tests 2019-03-26 08:36:22 +00:00
Galfour
043387ec14 better test 2019-03-26 07:28:01 +00:00
Galfour
10bcecc490 basic top level 2019-03-25 20:52:09 +00:00
Christian Rinderknecht
98f9d3e417
Extended conditional syntax for "else" clauses.
New syntax: if ... then ... else { ... }
2019-03-25 17:25:10 +01:00