diff --git a/README b/README index c641674..a1786bc 100644 --- a/README +++ b/README @@ -1,5 +1,5 @@ # Synthesis Format Conversion Tool -# (Version 1.0.0.25) +# (Version 1.0.0.26) A tool for reading, manipulating and transforming synthesis specifications in TLSF [0]. @@ -111,6 +111,7 @@ syfco [OPTIONS]... * slugsin : SlugsIn format [GR(1) only] * psl : PSL Syntax * smv : SMV file format + * bosy : Bosy input format -m, --mode : output mode - possible values are: diff --git a/README.md b/README.md index a9f6de8..6aa62d2 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Synthesis Format Conversion Tool
(Version 1.0.0.25) +# Synthesis Format Conversion Tool
(Version 1.0.0.26) A tool for reading, manipulating and transforming synthesis specifications in [TLSF](https://arxiv.org/abs/1604.02284). @@ -88,7 +88,7 @@ If you still encounter any problems, please inform us via the |```-o, --output```|path of the output file (results are printed to STDOUT if not set)| |```-r, --read-config```|read parameters from the given configuration file (may overwrite prior arguments)| |```-w, --write-config```|write the current configuration to the given path (includes later arguments)| -|```-f, --format```|output format - possible values are:
```full```input file with applied transformations (default)
```basic```high level format (without global section)
```utf8```human readable output using UTF8 symbols
```wring```Wring input format
```lily```Lily input format
```acacia```Acacia / Acacia+ input format
```acacia-specs```Acacia input format with spec units
```ltlxba```LTL2BA / LTL3BA input format
```promela```Promela LTL
```unbeast```Unbeast input format
```slugs```structured Slugs format [GR(1) only]
```slugsin```SlugsIn format [GR(1) only]
```psl```PSL Syntax
```smv```SMV file format
| +|```-f, --format```|output format - possible values are:
```full```input file with applied transformations (default)
```basic```high level format (without global section)
```utf8```human readable output using UTF8 symbols
```wring```Wring input format
```lily```Lily input format
```acacia```Acacia / Acacia+ input format
```acacia-specs```Acacia input format with spec units
```ltlxba```LTL2BA / LTL3BA input format
```promela```Promela LTL
```unbeast```Unbeast input format
```slugs```structured Slugs format [GR(1) only]
```slugsin```SlugsIn format [GR(1) only]
```psl```PSL Syntax
```smv```SMV file format
```bosy```Bosy input format
| |```-m, --mode```|output mode - possible values are:
```pretty```pretty printing (as less parentheses as possible) (default)
```fully```output fully parenthesized formulas
| |```-pf, --part-file```|create a partitioning (```.part```) file| |```-bd, --bus-delimiter```|delimiter used to print indexed bus signals
(default: ```_```)| diff --git a/src/Info.hs b/src/Info.hs index 35696f1..b712fdb 100644 --- a/src/Info.hs +++ b/src/Info.hs @@ -8,6 +8,17 @@ -- ----------------------------------------------------------------------------- +{-# LANGUAGE + + LambdaCase + , MultiParamTypeClasses + , TypeSynonymInstances + , FlexibleContexts + + #-} + +----------------------------------------------------------------------------- + module Info ( prTitle , prDescription @@ -31,6 +42,8 @@ import Syfco ( Configuration(..) , Semantics(..) , Target(..) + , WriteFormat(..) + , WriteMode(..) , Specification , defaultCfg , title @@ -44,6 +57,11 @@ import Syfco , version ) +import Data.Convertible + ( Convertible + , convert + ) + import Data.Array ( (!) ) @@ -469,38 +487,42 @@ usage m = [ "display this help" ]) ] formats = - [ ("full", True, + [ (convert FULL, True, ["input file with applied transformations"]) - , ("basic", False, + , (convert BASIC, False, ["high level format (without global section)"]) - , ("utf8", False, + , (convert UTF8, False, ["human readable output using UTF8 symbols"]) - , ("wring", False, + , (convert WRING, False, ["Wring input format"]) - , ("lily", False, + , (convert LILY, False, ["Lily input format"]) - , ("acacia", False, + , (convert ACACIA, False, ["Acacia / Acacia+ input format"]) - , ("acacia-specs", False, ["Acacia input format with spec units"]) - , ("ltlxba", False, + , (convert ACACIASPECS, False, + ["Acacia input format with spec units"]) + , (convert LTLXBA, False, ["LTL2BA / LTL3BA input format"]) - , ("promela", False, + , (convert PROMELA, False, ["Promela LTL"]) - , ("unbeast", False, + , (convert UNBEAST, False, ["Unbeast input format"]) - , ("slugs", False, + , (convert SLUGS, False, ["structured Slugs format [GR(1) only]"]) - , ("slugsin", False, + , (convert SLUGSIN, False, ["SlugsIn format [GR(1) only]"]) - , ("psl", False, + , (convert PSL, False, ["PSL Syntax"]) - , ("smv", False, - ["SMV file format"]) ] + , (convert SMV, False, + ["SMV file format"]) + , (convert BOSY, False, + ["Bosy input format"]) + ] modes = - [ ("pretty", True, + [ (convert Pretty, True, ["pretty printing (as less parentheses as possible)"]) - , ("fully", False, + , (convert Fully, False, ["output fully parenthesized formulas"]) ] ----------------------------------------------------------------------------- diff --git a/syfco.cabal b/syfco.cabal index 338cb91..e38d30e 100644 --- a/syfco.cabal +++ b/syfco.cabal @@ -1,5 +1,5 @@ name: syfco -version: 1.0.0.25 +version: 1.0.0.26 synopsis: Synthesis Format Conversion Tool / Library description: Library and tool for reading, manipulating and transforming synthesis specifications. license: MIT