summaryrefslogtreecommitdiff
path: root/language-oberon.cabal
diff options
context:
space:
mode:
authorMarioBlazevic <>2018-04-08 13:12:00 (GMT)
committerhdiff <hdiff@hdiff.luite.com>2018-04-08 13:12:00 (GMT)
commit5fc10a56efea25324f117d4dd4a9b6ed0454a50c (patch)
tree606c8b7b04daad928d64a26f5c158da31a255f26 /language-oberon.cabal
version 0.10.1
Diffstat (limited to 'language-oberon.cabal')
-rw-r--r--language-oberon.cabal59
1 files changed, 59 insertions, 0 deletions
diff --git a/language-oberon.cabal b/language-oberon.cabal
new file mode 100644
index 0000000..a96d8af
--- /dev/null
+++ b/language-oberon.cabal
@@ -0,0 +1,59 @@
+-- Initial language-oberon.cabal generated by cabal init. For further
+-- documentation, see http://haskell.org/cabal/users-guide/
+
+name: language-oberon
+version: 0.1
+synopsis: Parser and pretty-printer for the Oberon programming language
+description:
+ The library and the executable support both the original Oberon and the Oberon-2 programming language, as described
+ in the respective <http://www.ethoberon.ethz.ch/compiler/index.html#report language reports>.
+ .
+ The grammars in "Language.Oberon.Grammar" attempt to follow the language grammars from the reports, while
+ generating a semantically meaningful abstract syntax tree; the latter is defined in "Language.Oberon.AST". As the
+ grammars are ambiguous, it is necessary to resolve the ambiguities after parsing all Oberon modules in use.
+ "Language.Oberon.Resolver" provides this functionality. Only after the ambiguity resolution can the abstract syntax
+ tree be pretty-printed using the instances from "Language.Oberon.Pretty".
+ .
+ The original purpose for the library was to be a test of the underlying
+ <http://hackage.haskell.org/package/grammatical-parsers grammatical-parsers> library. The experiment succeeded, so the package can be used in practice.
+
+homepage: https://github.com/blamario/language-oberon
+bug-reports: https://github.com/blamario/language-oberon/issues
+license: GPL-3
+license-file: LICENSE
+author: Mario Blažević
+maintainer: blamario@protonmail.com
+-- copyright:
+category: Language
+build-type: Simple
+extra-source-files: ChangeLog.md
+cabal-version: >=1.10
+
+library
+ hs-source-dirs: src
+ exposed-modules: Language.Oberon,
+ Language.Oberon.AST, Language.Oberon.Grammar,
+ Language.Oberon.Pretty, Language.Oberon.Resolver
+ build-depends: base >= 4.7 && < 5, text < 1.3, containers >= 0.5 && < 1.0, filepath < 1.5, directory < 1.4,
+ parsers >= 0.12.7 && < 0.13, prettyprinter >= 1 && < 1.3, either == 5.*,
+ rank2classes < 1.1, grammatical-parsers == 0.3.*
+ default-language: Haskell2010
+
+executable parse
+ main-is: app/Parse.hs
+ -- other-modules:
+ other-extensions: RankNTypes, RecordWildCards, ScopedTypeVariables, FlexibleInstances, DeriveDataTypeable
+ build-depends: base >= 4.7 && < 5, text < 1.3, either == 5.*, containers >= 0.5 && < 1.0,
+ repr-tree-syb < 0.2, filepath < 1.5, prettyprinter >= 1 && < 1.3,
+ rank2classes < 1.1, grammatical-parsers == 0.3.*, language-oberon,
+ optparse-applicative
+ default-language: Haskell2010
+
+test-suite examples
+ type: exitcode-stdio-1.0
+ build-depends: base >= 4.7 && < 5,
+ either == 5.*, directory < 2, filepath < 1.5,
+ tasty >= 0.7, tasty-hunit,
+ language-oberon
+ main-is: test/Test.hs
+ default-language: Haskell2010