From 23b1d3177589751c81cd6f5499bff6f3e9a7f98c Mon Sep 17 00:00:00 2001 From: Dwight Guth Date: Thu, 6 Dec 2018 13:25:04 -0600 Subject: [PATCH] tmp --- Makefile | 53 +++++++++++++++++----------------------------- blockchaintest | 10 ++++----- check-iele | 3 ++- data.md | 1 - vmtest | 13 ++++++------ well-formedness.md | 1 - 6 files changed, 32 insertions(+), 49 deletions(-) diff --git a/Makefile b/Makefile index cbe9a029c..eea948504 100644 --- a/Makefile +++ b/Makefile @@ -205,46 +205,33 @@ haskell-deps: --hook-namespaces "KRYPTO BLOCKCHAIN" --gen-ml-only -O3 --non-strict $(KOMPILE_FLAGS) cd .build/$*/iele-testing-kompiled && ocamlfind $(OCAMLC) -c -g constants.ml -package gmp -package zarith -safe-string +PLUGIN=$(abspath plugin) + .build/check/well-formedness-kompiled/interpreter: $(checker_files) ${KOMPILE} --debug --main-module IELE-WELL-FORMEDNESS-STANDALONE \ --syntax-module IELE-SYNTAX .build/standalone/well-formedness.k --directory .build/check \ - --gen-ml-only -O3 --non-strict $(KOMPILE_FLAGS) - cd .build/check/well-formedness-kompiled && ocamlfind $(OCAMLC) -c -g -package gmp -package zarith -package uuidm -safe-string constants.ml prelude.ml plugin.ml parser.mli parser.ml lexer.ml run.ml - cd .build/check/well-formedness-kompiled && ocamlfind $(OCAMLC) -c -g -w -11-26 -package gmp -package zarith -package uuidm -safe-string realdef.ml -match-context-rows 2 -thread - cd .build/check/well-formedness-kompiled && ocamlfind $(OCAMLC) $(LIBFLAG) -o realdef.$(DLLEXT) realdef.$(EXT) - cd .build/check/well-formedness-kompiled && ocamlfind $(OCAMLC) -g -o interpreter constants.$(EXT) prelude.$(EXT) plugin.$(EXT) parser.$(EXT) lexer.$(EXT) run.$(EXT) interpreter.ml -package gmp -package dynlink -package zarith -package str -package uuidm -package unix -linkpkg -linkall -safe-string - -.build/plugin-%/semantics.$(LIBEXT): $(wildcard plugin/plugin/*.ml plugin/plugin/*.mli) .build/%/iele-testing-kompiled/constants.$(EXT) - mkdir -p .build/plugin-$* - cp plugin/plugin/*.ml plugin/plugin/*.mli .build/plugin-$* - ocp-ocamlres -format ocaml plugin/plugin/proto/VERSION -o .build/plugin-$*/apiVersion.ml - ocaml-protoc plugin/plugin/proto/*.proto -ml_out .build/plugin-$* - cd .build/plugin-$* && ocamlfind $(OCAMLC) -c -g -I ../$*/iele-testing-kompiled msg_types.mli msg_types.ml msg_pb.mli msg_pb.ml apiVersion.ml world.mli world.ml caching.mli caching.ml BLOCKCHAIN.ml KRYPTO.ml -package cryptokit -package secp256k1 -package bn128 -package ocaml-protoc $(BISECT) -safe-string -thread - cd .build/plugin-$* && ocamlfind $(OCAMLC) -a -o semantics.$(LIBEXT) KRYPTO.$(EXT) msg_types.$(EXT) msg_pb.$(EXT) apiVersion.$(EXT) world.$(EXT) caching.$(EXT) BLOCKCHAIN.$(EXT) -thread - ocamlfind remove iele-semantics-plugin-$* - ocamlfind install iele-semantics-plugin-$* plugin/plugin/META .build/plugin-$*/semantics.* .build/plugin-$*/*.cmi .build/plugin-$*/*.$(EXT) - -.build/%/iele-testing-kompiled/interpreter: .build/plugin-%/semantics.$(LIBEXT) - cd .build/$*/iele-testing-kompiled && ocamllex lexer.mll - cd .build/$*/iele-testing-kompiled && ocamlyacc parser.mly - cd .build/$*/iele-testing-kompiled && ocamlfind $(OCAMLC) -c -g -package gmp -package zarith -package uuidm -safe-string prelude.ml plugin.ml parser.mli parser.ml lexer.ml run.ml -thread - cd .build/$*/iele-testing-kompiled && ocamlfind $(OCAMLC) -c -g -w -11-26 -package gmp -package zarith -package uuidm -package iele-semantics-plugin-$* -safe-string realdef.ml -match-context-rows 2 -thread - cd .build/$*/iele-testing-kompiled && ocamlfind $(OCAMLC) $(LIBFLAG) -o realdef.$(DLLEXT) realdef.$(EXT) - cd .build/$*/iele-testing-kompiled && ocamlfind $(OCAMLC) -g -o interpreter constants.$(EXT) prelude.$(EXT) plugin.$(EXT) parser.$(EXT) lexer.$(EXT) run.$(EXT) interpreter.ml -package gmp -package dynlink -package zarith -package str -package uuidm -package unix -package iele-semantics-plugin-$* -linkpkg -linkall -thread -safe-string $(PREDICATES) - -.build/vm/iele-test-vm: .build/node/iele-testing-kompiled/interpreter $(wildcard plugin/vm/*.ml plugin/vm/*.mli) + --backend llvm -ccopt ${PLUGIN}/plugin-c/crypto.cpp -ccopt ${PLUGIN}/plugin-c/blockchain.cpp -ccopt ${PLUGIN}/plugin-c/world.cpp -ccopt ${PLUGIN}/plugin-c/proto/msg.pb.cc -ccopt -I -ccopt ${PLUGIN}/plugin-c \ + -ccopt -lprotobuf -ccopt -lff -ccopt -lcryptopp -ccopt -lsecp256k1 -ccopt -lprocps -ccopt -g -ccopt -std=c++11 -ccopt -O2 $(KOMPILE_FLAGS) + +.build/%/iele-testing-kompiled/interpreter: $(defn_files) + @echo "== kompile: $@" + ${KOMPILE} --debug --main-module IELE-TESTING --verbose \ + --syntax-module IELE-SYNTAX .build/$*/iele-testing.k --directory .build/$* \ + --backend llvm -ccopt ${PLUGIN}/plugin-c/crypto.cpp -ccopt ${PLUGIN}/plugin-c/blockchain.cpp -ccopt ${PLUGIN}/plugin-c/world.cpp -ccopt ${PLUGIN}/plugin-c/proto/msg.pb.cc -ccopt -I -ccopt ${PLUGIN}/plugin-c \ + -ccopt -lprotobuf -ccopt -lff -ccopt -lcryptopp -ccopt -lsecp256k1 -ccopt -lprocps -ccopt -g -ccopt -std=c++11 -ccopt -O2 $(KOMPILE_FLAGS) + +.build/vm/iele-test-vm: $(wildcard plugin/vm/*.ml plugin/vm/*.mli) mkdir -p .build/vm - cp plugin/vm/*.ml plugin/vm/*.mli .build/vm - cd .build/vm && ocamlfind $(OCAMLC) -g -I ../node/iele-testing-kompiled -o iele-test-vm constants.$(EXT) prelude.$(EXT) plugin.$(EXT) parser.$(EXT) lexer.$(EXT) realdef.$(EXT) run.$(EXT) VM.mli VM.ml ieleClientUtils.ml ieleVmTest.ml -package gmp -package dynlink -package zarith -package str -package uuidm -package unix -package iele-semantics-plugin-node -package rlp -package yojson -package hex -linkpkg -linkall -thread -safe-string $(PREDICATES) + cp ${PLUGIN}/vm/*.ml ${PLUGIN}/vm/*.mli .build/vm + cd .build/vm && ocamlfind $(OCAMLC) -g -I ../node/iele-testing-kompiled -o iele-test-vm ieleClientUtils.ml ieleVmTest.ml -package gmp -package dynlink -package zarith -package str -package uuidm -package unix -package iele-semantics-plugin-node -package rlp -package yojson -package hex -linkpkg -linkall -thread -safe-string $(PREDICATES) -.build/vm/iele-vm: .build/node/iele-testing-kompiled/interpreter $(wildcard plugin/vm/*.ml plugin/vm/*.mli) +.build/vm/iele-vm: .build/node/iele-testing-kompiled/interpreter $(wildcard plugin/vm-c/*.cpp plugin/vm-c/*.h) mkdir -p .build/vm - cp plugin/vm/*.ml plugin/vm/*.mli .build/vm - cd .build/vm && ocamlfind $(OCAMLC) -g -I ../node/iele-testing-kompiled -o iele-vm constants.$(EXT) prelude.$(EXT) plugin.$(EXT) parser.$(EXT) lexer.$(EXT) realdef.$(EXT) run.$(EXT) VM.mli VM.ml vmNetworkServer.ml -package gmp -package dynlink -package zarith -package str -package uuidm -package unix -package iele-semantics-plugin-node -package rlp -package yojson -package hex $(BISECT) -linkpkg -linkall -thread -safe-string $(PREDICATES) + llvm-kompile .build/node/iele-testing-kompiled/definition.kore IELE-TESTING library ${PLUGIN}/vm-c/main.cpp ${PLUGIN}/vm-c/vm.cpp -I ${PLUGIN}/plugin-c/ ${PLUGIN}/plugin-c/*.cpp ${PLUGIN}/plugin-c/proto/msg.pb.cc -lff -lprotobuf -lgmp -lprocps -lcryptopp -lsecp256k1 -I ${PLUGIN}/vm-c/ -I ${PLUGIN}/vm-c/iele/ ${PLUGIN}/vm-c/iele/semantics.cpp -o .build/vm/iele-vm -g -O2 -.build/vm/iele-test-client: .build/node/iele-testing-kompiled/interpreter $(wildcard plugin/vm/*.ml plugin/vm/*.mli) +.build/vm/iele-test-client: $(wildcard plugin/vm/*.ml plugin/vm/*.mli) mkdir -p .build/vm - cp plugin/vm/*.ml plugin/vm/*.mli .build/vm - cd .build/vm && ocamlfind $(OCAMLC) -g -I ../node/iele-testing-kompiled -o iele-test-client constants.$(EXT) prelude.$(EXT) plugin.$(EXT) parser.$(EXT) lexer.$(EXT) realdef.$(EXT) run.$(EXT) VM.mli VM.ml ieleClientUtils.ml ieleApi.mli ieleApi.ml ieleApiClient.ml -package gmp -package dynlink -package zarith -package str -package uuidm -package unix -package iele-semantics-plugin-node -package rlp -package yojson -package hex -linkpkg -linkall -thread -safe-string $(PREDICATES) + cp ${PLUGIN}/vm/*.ml ${PLUGIN}/vm/*.mli .build/vm + cd .build/vm && ocamlfind $(OCAMLC) -g -I ../node/iele-testing-kompiled -o iele-test-client ieleClientUtils.ml ieleApi.mli ieleApi.ml ieleApiClient.ml -package gmp -package dynlink -package zarith -package str -package uuidm -package unix -package iele-semantics-plugin-node -package rlp -package yojson -package hex -linkpkg -linkall -thread -safe-string $(PREDICATES) diff --git a/blockchaintest b/blockchaintest index 4d0b33daf..355526e81 100755 --- a/blockchaintest +++ b/blockchaintest @@ -3,18 +3,16 @@ interpreter="$(dirname "$0")/.build/standalone/iele-testing-kompiled/interpreter assembled="$(mktemp)" kast="$(mktemp)" output="$(mktemp)" -kast_output="$(mktemp)" -trap "rm -rf $kast $output $kast_output $assembled" INT TERM EXIT +trap "rm -rf $kast $output $assembled" INT TERM EXIT "$(dirname "$0")/assemble-iele-test" "$1" > "$assembled" || exit $? -"$(dirname "$0")/kast-json.py" "$assembled" > "$kast" +"$(dirname "$0")/kore-json.py" "$assembled" '`DEFAULT_IELE-GAS_`(.KList)' '`NORMAL`(.KList)' > "$kast" export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib shift 1 -$interpreter "$(dirname "$0")/.build/standalone/iele-testing-kompiled/realdef.cma" -c PGM "$kast" textfile -c SCHEDULE '`DEFAULT_IELE-GAS`(.KList)' text -c MODE '`NORMAL`(.KList)' text --output-file "$output" "$@" +$interpreter "$kast" -1 "$output" "$@" exit=$? if [ $exit -eq 0 ]; then exit 0 fi -"$(dirname "$0")"/.build/rv-k/k-distribution/target/release/k/bin/k-bin-to-text "$output" "$kast_output" -cat "$kast_output" +cat "$output" printf "\n" exit $exit diff --git a/check-iele b/check-iele index 4c2339979..6aee402bc 100755 --- a/check-iele +++ b/check-iele @@ -3,7 +3,8 @@ interpreter="$(dirname "$0")/.build/check/well-formedness-kompiled/interpreter" kast="$(mktemp)" trap "rm -rf $kast" INT TERM EXIT "$(dirname "$0")/.build/rv-k/k-distribution/target/release/k/bin/kast" -s Contract --expand-macros -d "$(dirname "$0")/.build/check" "$1" > "$kast" -$interpreter "$(dirname "$0")/.build/check/well-formedness-kompiled/realdef.cma" -c PGM "$kast" textfile -c SCHEDULE '`DANSE_IELE-CONSTANTS`(.KList)' text "$@" +shift +"$(dirname "$0")/.build/rv-k/k-distribution/target/release/k/bin/krun" -cPGM="$kast" -pPGM=cat -cSCHEDULE=DANSE --output none -d "$(dirname "$0")/.build/check" "$@" exit=$? if [ $exit -eq 0 ]; then exit 0 diff --git a/data.md b/data.md index 58fb09a79..5cc39e314 100644 --- a/data.md +++ b/data.md @@ -16,7 +16,6 @@ module IELE-DATA imports BYTES imports IELE-CONSTANTS imports IELE-COMMON - imports DOMAINS imports COLLECTIONS syntax KResult ::= Int diff --git a/vmtest b/vmtest index ae8d1fe92..9a0f72458 100755 --- a/vmtest +++ b/vmtest @@ -3,17 +3,16 @@ interpreter="$(dirname "$0")/.build/standalone/iele-testing-kompiled/interpreter assembled="$(mktemp)" kast="$(mktemp)" output="$(mktemp)" -kast_output="$(mktemp)" -trap "rm -rf $kast $output $kast_output $assembled" INT TERM EXIT -"$(dirname "$0")/assemble-iele-test" "$1" > "$assembled" -"$(dirname "$0")/kast-json.py" "$assembled" > "$kast" +trap "rm -rf $kast $output $assembled" INT TERM EXIT +"$(dirname "$0")/assemble-iele-test" "$1" > "$assembled" || exit $? +"$(dirname "$0")/kore-json.py" "$assembled" '`DEFAULT_IELE-GAS_`(.KList)' '`VMTESTS_IELE-CONSTANTS_`(.KList)' > "$kast" export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib -$interpreter "$(dirname "$0")/.build/standalone/iele-testing-kompiled/realdef.cma" -c PGM "$kast" textfile -c SCHEDULE '`DEFAULT_IELE-GAS`(.KList)' text -c MODE '`VMTESTS_IELE-CONSTANTS`(.KList)' text --output-file "$output" +shift 1 +$interpreter "$kast" -1 "$output" "$@" exit=$? if [ $exit -eq 0 ]; then exit 0 fi -.build/rv-k/k-distribution/target/release/k/bin/k-bin-to-text "$output" "$kast_output" -cat "$kast_output" +cat "$output" printf "\n" exit $exit diff --git a/well-formedness.md b/well-formedness.md index b470ab1a7..bc46ccd20 100644 --- a/well-formedness.md +++ b/well-formedness.md @@ -28,7 +28,6 @@ module IELE-WELL-FORMEDNESS imports IELE-COMMON imports IELE-DATA imports IELE-CONSTANTS - imports DOMAINS imports DEFAULT-CONFIGURATION ```