From 2d066853f1ab4c90a72f0e352af3ef4798ce1c8a Mon Sep 17 00:00:00 2001 From: "John J. Camilleri" Date: Mon, 22 Mar 2021 08:37:59 +0100 Subject: [PATCH] Add unit test for literals (fails) --- testsuite/lpgf/README.md | 8 +++++++- testsuite/lpgf/mkTreebank.sh | 2 +- testsuite/lpgf/unittests/Literals.gf | 7 +++++++ testsuite/lpgf/unittests/Literals.treebank | 9 +++++++++ testsuite/lpgf/unittests/Literals.trees | 3 +++ testsuite/lpgf/unittests/LiteralsCnc.gf | 7 +++++++ 6 files changed, 34 insertions(+), 2 deletions(-) create mode 100644 testsuite/lpgf/unittests/Literals.gf create mode 100644 testsuite/lpgf/unittests/Literals.treebank create mode 100644 testsuite/lpgf/unittests/Literals.trees create mode 100644 testsuite/lpgf/unittests/LiteralsCnc.gf diff --git a/testsuite/lpgf/README.md b/testsuite/lpgf/README.md index aeadcad3d..a850751d8 100644 --- a/testsuite/lpgf/README.md +++ b/testsuite/lpgf/README.md @@ -104,11 +104,17 @@ Max memory: 328.20 MB - size: 3.01 MB Phrasebook.lpgf Max memory: 1.33 GB -**Baseline LPGF String** +**Baseline LPGF String instead of Text** - compile: 12.124689s - size: 3.01 MB Phrasebook.lpgf Max memory: 1.34 GB +**Baseline LPGF with impossible pruning** +- compile: 7.406503s +- size: 3.01 MB Phrasebook.lpgf +Max memory: 1.13 GB + + **B -extractStrings** - compile: 13.822735s - size: 5.78 MB Phrasebook.lpgf diff --git a/testsuite/lpgf/mkTreebank.sh b/testsuite/lpgf/mkTreebank.sh index 38508f894..663f46e2f 100755 --- a/testsuite/lpgf/mkTreebank.sh +++ b/testsuite/lpgf/mkTreebank.sh @@ -21,7 +21,7 @@ done < $TREES echo "Writing $TREEBANK" : > $TREEBANK -gf --crun $ABSNAME.pgf < "$SCRIPT" > /dev/null +gf --crun "$ABSNAME.pgf" < "$SCRIPT" > /dev/null echo "Removing $SCRIPT" rm "$SCRIPT" diff --git a/testsuite/lpgf/unittests/Literals.gf b/testsuite/lpgf/unittests/Literals.gf new file mode 100644 index 000000000..6740a4b0e --- /dev/null +++ b/testsuite/lpgf/unittests/Literals.gf @@ -0,0 +1,7 @@ +abstract Literals = { + cat S ; + fun + mkString : String -> S ; + mkInt : Int -> S ; + mkFloat : Float -> S ; +} diff --git a/testsuite/lpgf/unittests/Literals.treebank b/testsuite/lpgf/unittests/Literals.treebank new file mode 100644 index 000000000..6d7120082 --- /dev/null +++ b/testsuite/lpgf/unittests/Literals.treebank @@ -0,0 +1,9 @@ +Literals: mkString "hello" +LiteralsCnc: hello + +Literals: mkInt 123 +LiteralsCnc: 123 + +Literals: mkFloat 30.809000 +LiteralsCnc: 30.809000 + diff --git a/testsuite/lpgf/unittests/Literals.trees b/testsuite/lpgf/unittests/Literals.trees new file mode 100644 index 000000000..0a727e63a --- /dev/null +++ b/testsuite/lpgf/unittests/Literals.trees @@ -0,0 +1,3 @@ +mkString "hello" +mkInt 123 +mkFloat 30.809 diff --git a/testsuite/lpgf/unittests/LiteralsCnc.gf b/testsuite/lpgf/unittests/LiteralsCnc.gf new file mode 100644 index 000000000..a6e1ceef1 --- /dev/null +++ b/testsuite/lpgf/unittests/LiteralsCnc.gf @@ -0,0 +1,7 @@ +concrete LiteralsCnc of Literals = open Prelude in { + lincat S = SS ; + lin + mkString s = s ; + mkInt s = s ; + mkFloat s = s ; +}