more modifications

This commit is contained in:
galfour 2019-09-10 15:19:15 +02:00
parent cdfffcf8ec
commit 715812b2c3
22 changed files with 197 additions and 330 deletions

21
src/main/compile/dune Normal file
View File

@ -0,0 +1,21 @@
(library
(name compile)
(public_name ligo.compile)
(libraries
simple-utils
tezos-utils
parser
simplify
ast_simplified
typer
ast_typed
transpiler
mini_c
operators
compiler
)
(preprocess
(pps ppx_let)
)
(flags (:standard -w +1..62-4-9-44-40-42-48-30@39@33 -open Simple_utils -open Tezos_utils ))
)

View File

@ -0,0 +1,72 @@
open Trace
type s_syntax = Syntax_name of string
type v_syntax = Pascaligo | Cameligo
let syntax_to_variant : s_syntax -> string option -> v_syntax result =
fun syntax source_filename ->
let subr s n =
String.sub s (String.length s - n) n in
let endswith s suffix =
let suffixlen = String.length suffix in
( String.length s >= suffixlen
&& String.equal (subr s suffixlen) suffix)
in
let (Syntax_name syntax) = syntax in
match (syntax , source_filename) with
| "auto" , Some sf when endswith sf ".ligo" -> ok Pascaligo
| "auto" , Some sf when endswith sf ".mligo" -> ok Cameligo
| "auto" , _ -> simple_fail "cannot auto-detect syntax, pleas use -s name_of_syntax"
| "pascaligo" , _ -> ok Pascaligo
| "cameligo" , _ -> ok Cameligo
| _ -> simple_fail "unrecognized parser"
let parsify_pascaligo = fun source ->
let%bind raw =
trace (simple_error "parsing") @@
Parser.Pascaligo.parse_file source in
let%bind simplified =
trace (simple_error "simplifying") @@
Simplify.Pascaligo.simpl_program raw in
ok simplified
let parsify_expression_pascaligo = fun source ->
let%bind raw =
trace (simple_error "parsing expression") @@
Parser.Pascaligo.parse_expression source in
let%bind simplified =
trace (simple_error "simplifying expression") @@
Simplify.Pascaligo.simpl_expression raw in
ok simplified
let parsify_ligodity = fun source ->
let%bind raw =
trace (simple_error "parsing") @@
Parser.Ligodity.parse_file source in
let%bind simplified =
trace (simple_error "simplifying") @@
Simplify.Ligodity.simpl_program raw in
ok simplified
let parsify_expression_ligodity = fun source ->
let%bind raw =
trace (simple_error "parsing expression") @@
Parser.Ligodity.parse_expression source in
let%bind simplified =
trace (simple_error "simplifying expression") @@
Simplify.Ligodity.simpl_expression raw in
ok simplified
let parsify = fun (syntax : v_syntax) source_filename ->
let%bind parsify = match syntax with
| Pascaligo -> ok parsify_pascaligo
| Cameligo -> ok parsify_ligodity
in
parsify source_filename
let parsify_expression = fun syntax source ->
let%bind parsify = match syntax with
| Pascaligo -> ok parsify_expression_pascaligo
| Cameligo -> ok parsify_expression_ligodity
in
parsify source

View File

View File

@ -0,0 +1,12 @@
open Trace
open Mini_c
open Tezos_utils
let compile_value : value -> type_value -> Michelson.t result =
Compiler.Program.translate_value
let compile_expression : expression -> Michelson.t result = fun e ->
Compiler.Program.translate_expression e Compiler.Environment.empty
let compile_function : anon_function -> type_value -> type_value -> Compiler.Program.compiled_program result = fun f in_ty out_ty ->
Compiler.Program.translate_entry f (in_ty , out_ty)

View File

@ -0,0 +1,6 @@
open Ast_simplified
open Trace
let compile_entry (program : program) entry_point =
let%bind typed_program = Typer.type_program program in
Of_typed.compile_entry typed_program entry_point

View File

@ -0,0 +1 @@
open Trace

View File

@ -0,0 +1,11 @@
open Trace
open Ast_typed
open Tezos_utils
let compile_expression : annotated_expression -> Michelson.t result = fun e ->
let%bind mini_c_expression = Transpiler.translate_annotated_expression e in
Of_mini_c.compile_expression mini_c_expression
let compile_entry : program -> string -> _ = fun p entry ->
let%bind (f , (in_ty , out_ty)) = Transpiler.translate_entry p entry in
Of_mini_c.compile_function f in_ty out_ty

View File

@ -1,6 +1,6 @@
(library
(name main)
(public_name ligo.main)
(name run)
(public_name ligo.run)
(libraries
simple-utils
tezos-utils

View File

@ -0,0 +1,25 @@
open Proto_alpha_utils
open Trace
open Compiler.Program
open Memory_proto_alpha.Protocol.Script_ir_translator
open Memory_proto_alpha.X
type options = Memory_proto_alpha.options
let run ?options (program:compiled_program) (input_michelson:Michelson.t) : ex_typed_value result =
let Compiler.Program.{input;output;body} : compiled_program = program in
let (Ex_ty input_ty) = input in
let (Ex_ty output_ty) = output in
let%bind input =
Trace.trace_tzresult_lwt (simple_error "error parsing input") @@
Memory_proto_alpha.parse_michelson_data input_michelson input_ty in
let body = Michelson.strip_annots body in
let%bind descr =
Trace.trace_tzresult_lwt (simple_error "error parsing program code") @@
Memory_proto_alpha.parse_michelson body
(Item_t (input_ty, Empty_t, None)) (Item_t (output_ty, Empty_t, None)) in
let open! Memory_proto_alpha.Protocol.Script_interpreter in
let%bind (Item(output, Empty)) =
Trace.trace_tzresult_lwt (simple_error "error of execution") @@
Memory_proto_alpha.interpret ?options descr (Item(input, Empty)) in
ok (Ex_typed_value (output_ty, output))

View File

@ -0,0 +1,38 @@
open Proto_alpha_utils
open Memory_proto_alpha.X
open Trace
open Mini_c
open Compiler.Program
type options = {
entry_point : anon_function ;
input_type : type_value ;
output_type : type_value ;
input : value ;
michelson_options : From_michelson.options ;
}
let run_entry ?(debug_michelson = false) ?options (entry : anon_function) ty (input:value) : value result =
let%bind compiled =
trace error @@
translate_entry entry ty in
let%bind input_michelson = translate_value input (fst ty) in
if debug_michelson then (
Format.printf "Program: %a\n" Michelson.pp compiled.body ;
Format.printf "Expression: %a\n" PP.expression entry.result ;
Format.printf "Input: %a\n" PP.value input ;
Format.printf "Input Type: %a\n" PP.type_ (fst ty) ;
Format.printf "Compiled Input: %a\n" Michelson.pp input_michelson ;
) ;
let%bind ex_ty_value = From_michelson.run ?options compiled input_michelson in
if debug_michelson then (
let (Ex_typed_value (ty , v)) = ex_ty_value in
ignore @@
let%bind michelson_value =
trace_tzresult_lwt (simple_error "debugging run_mini_c") @@
Proto_alpha_utils.Memory_proto_alpha.unparse_michelson_data ty v in
Format.printf "Compiled Output: %a\n" Michelson.pp michelson_value ;
ok ()
) ;
let%bind (result : value) = Compiler.Uncompiler.translate_value ex_ty_value in
ok result

View File

@ -32,7 +32,7 @@ include struct
trace_strong (simple_error "entry-point doesn't have a list of operation as first result") @@
assert_t_list_operation ops in
let%bind () =
trace_strong (simple_error "entry-point doesn't identitcal type (storage) for second parameter and second result") @@
trace_strong (simple_error "entry-point doesn't identical type (storage) for second parameter and second result") @@
assert_type_value_eq (storage_param , storage_result) in
ok (arg' , storage_param)
@ -59,86 +59,7 @@ let transpile_value
let%bind r = Run_mini_c.run_entry f ty input in
ok (r , snd ty)
let parsify_pascaligo = fun source ->
let%bind raw =
trace (simple_error "parsing") @@
Parser.Pascaligo.parse_file source in
let%bind simplified =
trace (simple_error "simplifying") @@
Simplify.Pascaligo.simpl_program raw in
ok simplified
let parsify_expression_pascaligo = fun source ->
let%bind raw =
trace (simple_error "parsing expression") @@
Parser.Pascaligo.parse_expression source in
let%bind simplified =
trace (simple_error "simplifying expression") @@
Simplify.Pascaligo.simpl_expression raw in
ok simplified
let parsify_ligodity = fun source ->
let%bind raw =
trace (simple_error "parsing") @@
Parser.Ligodity.parse_file source in
let%bind simplified =
trace (simple_error "simplifying") @@
Simplify.Ligodity.simpl_program raw in
ok simplified
let parsify_expression_ligodity = fun source ->
let%bind raw =
trace (simple_error "parsing expression") @@
Parser.Ligodity.parse_expression source in
let%bind simplified =
trace (simple_error "simplifying expression") @@
Simplify.Ligodity.simpl_expression raw in
ok simplified
type s_syntax = Syntax_name of string
type v_syntax = [`pascaligo | `cameligo ]
let syntax_to_variant : s_syntax -> string option -> v_syntax result =
fun syntax source_filename ->
let subr s n =
String.sub s (String.length s - n) n in
let endswith s suffix =
let suffixlen = String.length suffix in
( String.length s >= suffixlen
&& String.equal (subr s suffixlen) suffix)
in
match syntax with
Syntax_name syntax ->
begin
if String.equal syntax "auto" then
begin
match source_filename with
| Some source_filename
when endswith source_filename ".ligo"
-> ok `pascaligo
| Some source_filename
when endswith source_filename ".mligo"
-> ok `cameligo
| _ -> simple_fail "cannot auto-detect syntax, pleas use -s name_of_syntax"
end
else if String.equal syntax "pascaligo" then ok `pascaligo
else if String.equal syntax "cameligo" then ok `cameligo
else simple_fail "unrecognized parser"
end
let parsify = fun (syntax : v_syntax) source_filename ->
let%bind parsify = match syntax with
| `pascaligo -> ok parsify_pascaligo
| `cameligo -> ok parsify_ligodity
in
parsify source_filename
let parsify_expression = fun syntax source ->
let%bind parsify = match syntax with
| `pascaligo -> ok parsify_expression_pascaligo
| `cameligo -> ok parsify_expression_ligodity
in
parsify source
open Helpers
let compile_contract_file : string -> string -> s_syntax -> string result = fun source_filename entry_point syntax ->
let%bind syntax = syntax_to_variant syntax (Some source_filename) in

View File

@ -3,6 +3,8 @@ open Mini_c
open Environment
open Michelson
let empty : environment = []
let get : environment -> string -> michelson result = fun e s ->
let%bind (_ , position) =
let error =

View File

@ -1,55 +0,0 @@
open Proto_alpha_utils
open Trace
open Mini_c
open! Compiler.Program
open Memory_proto_alpha.Protocol.Script_ir_translator
open Memory_proto_alpha.X
let run_aux ?options (program:compiled_program) (input_michelson:Michelson.t) : ex_typed_value result =
let Compiler.Program.{input;output;body} : compiled_program = program in
let (Ex_ty input_ty) = input in
let (Ex_ty output_ty) = output in
let%bind input =
Trace.trace_tzresult_lwt (simple_error "error parsing input") @@
Memory_proto_alpha.parse_michelson_data input_michelson input_ty in
let body = Michelson.strip_annots body in
let%bind descr =
Trace.trace_tzresult_lwt (simple_error "error parsing program code") @@
Memory_proto_alpha.parse_michelson body
(Item_t (input_ty, Empty_t, None)) (Item_t (output_ty, Empty_t, None)) in
let open! Memory_proto_alpha.Protocol.Script_interpreter in
let%bind (Item(output, Empty)) =
Trace.trace_tzresult_lwt (simple_error "error of execution") @@
Memory_proto_alpha.interpret ?options descr (Item(input, Empty)) in
ok (Ex_typed_value (output_ty, output))
let run_entry ?(debug_michelson = false) ?options (entry:anon_function) ty (input:value) : value result =
let%bind compiled =
let error =
let title () = "compile entry" in
let content () =
Format.asprintf "%a" PP.function_ entry
in
error title content in
trace error @@
translate_entry entry ty in
let%bind input_michelson = translate_value input (fst ty) in
if debug_michelson then (
Format.printf "Program: %a\n" Michelson.pp compiled.body ;
Format.printf "Expression: %a\n" PP.expression entry.result ;
Format.printf "Input: %a\n" PP.value input ;
Format.printf "Input Type: %a\n" PP.type_ (fst ty) ;
Format.printf "Compiled Input: %a\n" Michelson.pp input_michelson ;
) ;
let%bind ex_ty_value = run_aux ?options compiled input_michelson in
if debug_michelson then (
let (Ex_typed_value (ty , v)) = ex_ty_value in
ignore @@
let%bind michelson_value =
trace_tzresult_lwt (simple_error "debugging run_mini_c") @@
Proto_alpha_utils.Memory_proto_alpha.unparse_michelson_data ty v in
Format.printf "Compiled Output: %a\n" Michelson.pp michelson_value ;
ok ()
) ;
let%bind (result : value) = Compiler.Uncompiler.translate_value ex_ty_value in
ok result

View File

@ -1,187 +0,0 @@
EXCLUDE_QUERY_DIR
B /home/cc/Programming/ligo/_opam/lib/alcotest
B /home/cc/Programming/ligo/_opam/lib/astring
B /home/cc/Programming/ligo/_opam/lib/base/caml
B /home/cc/Programming/ligo/_opam/lib/bigarray-compat
B /home/cc/Programming/ligo/_opam/lib/bigstring
B /home/cc/Programming/ligo/_opam/lib/biniou
B /home/cc/Programming/ligo/_opam/lib/blake2
B /home/cc/Programming/ligo/_opam/lib/bytes
B /home/cc/Programming/ligo/_opam/lib/cmdliner
B /home/cc/Programming/ligo/_opam/lib/cstruct
B /home/cc/Programming/ligo/_opam/lib/easy-format
B /home/cc/Programming/ligo/_opam/lib/ezjsonm
B /home/cc/Programming/ligo/_opam/lib/fmt
B /home/cc/Programming/ligo/_opam/lib/getopt
B /home/cc/Programming/ligo/_opam/lib/hacl
B /home/cc/Programming/ligo/_opam/lib/hex
B /home/cc/Programming/ligo/_opam/lib/ipaddr
B /home/cc/Programming/ligo/_opam/lib/ipaddr/unix
B /home/cc/Programming/ligo/_opam/lib/jsonm
B /home/cc/Programming/ligo/_opam/lib/lwt
B /home/cc/Programming/ligo/_opam/lib/lwt/unix
B /home/cc/Programming/ligo/_opam/lib/lwt_log
B /home/cc/Programming/ligo/_opam/lib/lwt_log/core
B /home/cc/Programming/ligo/_opam/lib/macaddr
B /home/cc/Programming/ligo/_opam/lib/mmap
B /home/cc/Programming/ligo/_opam/lib/mtime
B /home/cc/Programming/ligo/_opam/lib/mtime/os
B /home/cc/Programming/ligo/_opam/lib/ocaml
B /home/cc/Programming/ligo/_opam/lib/ocaml/threads
B /home/cc/Programming/ligo/_opam/lib/ocplib-endian
B /home/cc/Programming/ligo/_opam/lib/ocplib-json-typed
B /home/cc/Programming/ligo/_opam/lib/ocplib-json-typed-bson
B /home/cc/Programming/ligo/_opam/lib/ocplib-resto
B /home/cc/Programming/ligo/_opam/lib/ocplib-resto-directory
B /home/cc/Programming/ligo/_opam/lib/parsexp
B /home/cc/Programming/ligo/_opam/lib/ppx_deriving/runtime
B /home/cc/Programming/ligo/_opam/lib/ptime
B /home/cc/Programming/ligo/_opam/lib/ptime/os
B /home/cc/Programming/ligo/_opam/lib/re
B /home/cc/Programming/ligo/_opam/lib/re/posix
B /home/cc/Programming/ligo/_opam/lib/re/str
B /home/cc/Programming/ligo/_opam/lib/result
B /home/cc/Programming/ligo/_opam/lib/secp256k1
B /home/cc/Programming/ligo/_opam/lib/seq
B /home/cc/Programming/ligo/_opam/lib/sexplib
B /home/cc/Programming/ligo/_opam/lib/sexplib0
B /home/cc/Programming/ligo/_opam/lib/stdlib-shims
B /home/cc/Programming/ligo/_opam/lib/stringext
B /home/cc/Programming/ligo/_opam/lib/tezos-base
B /home/cc/Programming/ligo/_opam/lib/tezos-clic
B /home/cc/Programming/ligo/_opam/lib/tezos-crypto
B /home/cc/Programming/ligo/_opam/lib/tezos-data-encoding
B /home/cc/Programming/ligo/_opam/lib/tezos-error-monad
B /home/cc/Programming/ligo/_opam/lib/tezos-event-logging
B /home/cc/Programming/ligo/_opam/lib/tezos-micheline
B /home/cc/Programming/ligo/_opam/lib/tezos-protocol-environment
B /home/cc/Programming/ligo/_opam/lib/tezos-protocol-environment-sigs
B /home/cc/Programming/ligo/_opam/lib/tezos-rpc
B /home/cc/Programming/ligo/_opam/lib/tezos-stdlib
B /home/cc/Programming/ligo/_opam/lib/tezos-stdlib-unix
B /home/cc/Programming/ligo/_opam/lib/uchar
B /home/cc/Programming/ligo/_opam/lib/uecc
B /home/cc/Programming/ligo/_opam/lib/uri
B /home/cc/Programming/ligo/_opam/lib/uuidm
B /home/cc/Programming/ligo/_opam/lib/uutf
B /home/cc/Programming/ligo/_opam/lib/yojson
B /home/cc/Programming/ligo/_opam/lib/zarith
B ../_build/default/src/.ligo.objs/byte
B ../_build/default/src/passes/1-parser/.parser.objs/byte
B ../_build/default/src/passes/1-parser/camligo/.parser_camligo.objs/byte
B ../_build/default/src/passes/1-parser/camligo/lex/.lex.objs/byte
B ../_build/default/src/passes/1-parser/ligodity/.parser_ligodity.objs/byte
B ../_build/default/src/passes/1-parser/pascaligo/.parser_pascaligo.objs/byte
B ../_build/default/src/passes/1-parser/shared/.parser_shared.objs/byte
B ../_build/default/src/passes/2-simplify/.simplify.objs/byte
B ../_build/default/src/passes/4-typer/.typer.objs/byte
B ../_build/default/src/passes/6-transpiler/.transpiler.objs/byte
B ../_build/default/src/passes/8-compiler/.compiler.objs/byte
B ../_build/default/src/passes/operators/.operators.objs/byte
B ../_build/default/src/run/main/.main.objs/byte
B ../_build/default/src/stages/ast_simplified/.ast_simplified.objs/byte
B ../_build/default/src/stages/ast_typed/.ast_typed.objs/byte
B ../_build/default/src/stages/mini_c/.mini_c.objs/byte
B ../_build/default/test/.test.eobjs/byte
B ../_build/default/vendors/ligo-utils/memory-proto-alpha/.memory_proto_alpha.objs/byte
B ../_build/default/vendors/ligo-utils/proto-alpha-utils/.proto_alpha_utils.objs/byte
B ../_build/default/vendors/ligo-utils/simple-utils/.simple_utils.objs/byte
B ../_build/default/vendors/ligo-utils/tezos-protocol-alpha-parameters/.tezos_protocol_alpha_parameters.objs/byte
B ../_build/default/vendors/ligo-utils/tezos-protocol-alpha/.tezos_protocol_alpha.objs/byte
B ../_build/default/vendors/ligo-utils/tezos-protocol-alpha/.tezos_protocol_environment_alpha.objs/byte
B ../_build/default/vendors/ligo-utils/tezos-protocol-alpha/.tezos_raw_protocol_alpha.objs/byte
B ../_build/default/vendors/ligo-utils/tezos-utils/.tezos_utils.objs/byte
B ../_build/default/vendors/ligo-utils/tezos-utils/michelson-parser/.michelson_parser.objs/byte
S /home/cc/Programming/ligo/_opam/lib/alcotest
S /home/cc/Programming/ligo/_opam/lib/astring
S /home/cc/Programming/ligo/_opam/lib/base/caml
S /home/cc/Programming/ligo/_opam/lib/bigarray-compat
S /home/cc/Programming/ligo/_opam/lib/bigstring
S /home/cc/Programming/ligo/_opam/lib/biniou
S /home/cc/Programming/ligo/_opam/lib/blake2
S /home/cc/Programming/ligo/_opam/lib/bytes
S /home/cc/Programming/ligo/_opam/lib/cmdliner
S /home/cc/Programming/ligo/_opam/lib/cstruct
S /home/cc/Programming/ligo/_opam/lib/easy-format
S /home/cc/Programming/ligo/_opam/lib/ezjsonm
S /home/cc/Programming/ligo/_opam/lib/fmt
S /home/cc/Programming/ligo/_opam/lib/getopt
S /home/cc/Programming/ligo/_opam/lib/hacl
S /home/cc/Programming/ligo/_opam/lib/hex
S /home/cc/Programming/ligo/_opam/lib/ipaddr
S /home/cc/Programming/ligo/_opam/lib/ipaddr/unix
S /home/cc/Programming/ligo/_opam/lib/jsonm
S /home/cc/Programming/ligo/_opam/lib/lwt
S /home/cc/Programming/ligo/_opam/lib/lwt/unix
S /home/cc/Programming/ligo/_opam/lib/lwt_log
S /home/cc/Programming/ligo/_opam/lib/lwt_log/core
S /home/cc/Programming/ligo/_opam/lib/macaddr
S /home/cc/Programming/ligo/_opam/lib/mmap
S /home/cc/Programming/ligo/_opam/lib/mtime
S /home/cc/Programming/ligo/_opam/lib/mtime/os
S /home/cc/Programming/ligo/_opam/lib/ocaml
S /home/cc/Programming/ligo/_opam/lib/ocaml/threads
S /home/cc/Programming/ligo/_opam/lib/ocplib-endian
S /home/cc/Programming/ligo/_opam/lib/ocplib-json-typed
S /home/cc/Programming/ligo/_opam/lib/ocplib-json-typed-bson
S /home/cc/Programming/ligo/_opam/lib/ocplib-resto
S /home/cc/Programming/ligo/_opam/lib/ocplib-resto-directory
S /home/cc/Programming/ligo/_opam/lib/parsexp
S /home/cc/Programming/ligo/_opam/lib/ppx_deriving/runtime
S /home/cc/Programming/ligo/_opam/lib/ptime
S /home/cc/Programming/ligo/_opam/lib/ptime/os
S /home/cc/Programming/ligo/_opam/lib/re
S /home/cc/Programming/ligo/_opam/lib/re/posix
S /home/cc/Programming/ligo/_opam/lib/re/str
S /home/cc/Programming/ligo/_opam/lib/result
S /home/cc/Programming/ligo/_opam/lib/secp256k1
S /home/cc/Programming/ligo/_opam/lib/seq
S /home/cc/Programming/ligo/_opam/lib/sexplib
S /home/cc/Programming/ligo/_opam/lib/sexplib0
S /home/cc/Programming/ligo/_opam/lib/stdlib-shims
S /home/cc/Programming/ligo/_opam/lib/stringext
S /home/cc/Programming/ligo/_opam/lib/tezos-base
S /home/cc/Programming/ligo/_opam/lib/tezos-clic
S /home/cc/Programming/ligo/_opam/lib/tezos-crypto
S /home/cc/Programming/ligo/_opam/lib/tezos-data-encoding
S /home/cc/Programming/ligo/_opam/lib/tezos-error-monad
S /home/cc/Programming/ligo/_opam/lib/tezos-event-logging
S /home/cc/Programming/ligo/_opam/lib/tezos-micheline
S /home/cc/Programming/ligo/_opam/lib/tezos-protocol-environment
S /home/cc/Programming/ligo/_opam/lib/tezos-protocol-environment-sigs
S /home/cc/Programming/ligo/_opam/lib/tezos-rpc
S /home/cc/Programming/ligo/_opam/lib/tezos-stdlib
S /home/cc/Programming/ligo/_opam/lib/tezos-stdlib-unix
S /home/cc/Programming/ligo/_opam/lib/uchar
S /home/cc/Programming/ligo/_opam/lib/uecc
S /home/cc/Programming/ligo/_opam/lib/uri
S /home/cc/Programming/ligo/_opam/lib/uuidm
S /home/cc/Programming/ligo/_opam/lib/uutf
S /home/cc/Programming/ligo/_opam/lib/yojson
S /home/cc/Programming/ligo/_opam/lib/zarith
S ../src
S ../src/passes/1-parser
S ../src/passes/1-parser/camligo
S ../src/passes/1-parser/camligo/lex
S ../src/passes/1-parser/ligodity
S ../src/passes/1-parser/pascaligo
S ../src/passes/1-parser/shared
S ../src/passes/2-simplify
S ../src/passes/4-typer
S ../src/passes/6-transpiler
S ../src/passes/8-compiler
S ../src/passes/operators
S ../src/run/main
S ../src/stages/ast_simplified
S ../src/stages/ast_typed
S ../src/stages/mini_c
S .
S ../vendors/ligo-utils/memory-proto-alpha
S ../vendors/ligo-utils/proto-alpha-utils
S ../vendors/ligo-utils/simple-utils
S ../vendors/ligo-utils/tezos-protocol-alpha
S ../vendors/ligo-utils/tezos-protocol-alpha-parameters
S ../vendors/ligo-utils/tezos-utils
S ../vendors/ligo-utils/tezos-utils/michelson-parser
FLG -ppx '/home/cc/Programming/ligo/_build/default/.ppx/0af9cc0ed9166d3107af7264d5703b53/ppx.exe --as-ppx'
FLG -w @1..3@5..28@30..39@43@46..47@49..57@61..62-40 -strict-sequence -strict-formats -short-paths -keep-locs -w +1..62-4-9-44-40-42-48@39@33 -open Simple_utils

View File

@ -4,7 +4,7 @@ open Trace
open Ligo.Run
open Test_helpers
let type_file = type_file `pascaligo
let type_file = type_file Pascaligo
let get_program =
let s = ref None in

View File

@ -2,7 +2,7 @@ open Trace
open Ligo.Run
open Test_helpers
let type_file = type_file `pascaligo
let type_file = type_file Pascaligo
let get_program =
let s = ref None in

View File

@ -4,8 +4,8 @@ open Test_helpers
open Ast_simplified.Combinators
let mtype_file ?debug_simplify ?debug_typed = type_file ?debug_simplify ?debug_typed `cameligo
let type_file = type_file `pascaligo
let mtype_file ?debug_simplify ?debug_typed = type_file ?debug_simplify ?debug_typed Cameligo
let type_file = type_file Pascaligo
let type_alias () : unit result =
let%bind program = type_file "./contracts/type-alias.ligo" in

View File

@ -7,7 +7,7 @@ let get_program =
fun () -> match !s with
| Some s -> ok s
| None -> (
let%bind program = type_file `cameligo "./contracts/vote.mligo" in
let%bind program = type_file Cameligo "./contracts/vote.mligo" in
s := Some program ;
ok program
)