257 lines
7.6 KiB
Diff
257 lines
7.6 KiB
Diff
|
diff --git a/Ebnf2ps.cabal b/Ebnf2ps.cabal
|
||
|
index 483d34a..0a7b96e 100644
|
||
|
--- a/Ebnf2ps.cabal
|
||
|
+++ b/Ebnf2ps.cabal
|
||
|
@@ -1,66 +1,30 @@
|
||
|
--- Ebnf2ps.cabal auto-generated by cabal init. For additional options,
|
||
|
--- see
|
||
|
--- http://www.haskell.org/cabal/release/cabal-latest/doc/users-guide/authors.html#pkg-descr.
|
||
|
--- The name of the package.
|
||
|
Name: Ebnf2ps
|
||
|
-
|
||
|
--- The package version. See the Haskell package versioning policy
|
||
|
--- (http://www.haskell.org/haskellwiki/Package_versioning_policy) for
|
||
|
--- standards guiding when and how versions should be incremented.
|
||
|
Version: 1.0.8
|
||
|
-
|
||
|
--- A short (one-line) description of the package.
|
||
|
-Synopsis: Ebnf2ps: Peter's Syntax Diagram Drawing Tool
|
||
|
-
|
||
|
--- A longer description of the package.
|
||
|
--- Description:
|
||
|
-
|
||
|
--- URL for the project homepage or repository.
|
||
|
+Synopsis: Peter's Syntax Diagram Drawing Tool
|
||
|
Homepage: http://www.informatik.uni-freiburg.de/~thiemann/haskell/ebnf2ps/
|
||
|
-
|
||
|
--- The license under which the package is released.
|
||
|
License: BSD4
|
||
|
-
|
||
|
--- The file containing the license text.
|
||
|
-- License-file: LICENSE
|
||
|
-
|
||
|
--- The package author(s).
|
||
|
-Author: Peter Thiemann
|
||
|
-
|
||
|
--- An email address to which users can send suggestions, bug reports,
|
||
|
--- and patches.
|
||
|
-Maintainer: thiemann@acm.org
|
||
|
-
|
||
|
--- A copyright notice.
|
||
|
--- Copyright:
|
||
|
-
|
||
|
+Author: Peter Thiemann <thiemann@acm.org>
|
||
|
+Maintainer: Peter Thiemann <thiemann@acm.org>
|
||
|
Category: Language
|
||
|
-
|
||
|
Build-type: Simple
|
||
|
-
|
||
|
--- Extra files to be distributed with the package, such as examples or
|
||
|
--- a README.
|
||
|
--- Extra-source-files:
|
||
|
-
|
||
|
--- Constraint on the version of Cabal needed to build this package.
|
||
|
Cabal-version: >=1.2
|
||
|
-
|
||
|
+Tested-With: GHC == 6.10.4, GHC == 6.12.3, GHC == 7.0.4, GHC == 7.2.2
|
||
|
+Description: Ebnf2ps generates nice looking syntax diagrams in EPS
|
||
|
+ and FIG format from EBNF specifications and from yacc,
|
||
|
+ bison, and Happy input grammars. The diagrams can be
|
||
|
+ immediatedly included in TeX/LaTeX documents and in
|
||
|
+ texts created with other popular document preparation
|
||
|
+ systems.
|
||
|
|
||
|
Executable Ebnf2ps
|
||
|
- -- .hs or .lhs file containing the Main module.
|
||
|
Main-is: Ebnf2ps.hs
|
||
|
Hs-source-dirs: src
|
||
|
-
|
||
|
- -- Packages needed in order to build this package.
|
||
|
- Build-depends: base < 4.3
|
||
|
- , containers < 0.4
|
||
|
- , haskell98
|
||
|
- , unix < 2.5
|
||
|
-
|
||
|
- -- Modules not exported by this package.
|
||
|
- -- Other-modules:
|
||
|
-
|
||
|
- -- Extra tools (e.g. alex, hsc2hs, ...) needed to build the source.
|
||
|
+ Build-depends: base >= 2 && < 5,
|
||
|
+ containers,
|
||
|
+ old-time,
|
||
|
+ directory,
|
||
|
+ unix
|
||
|
Build-tools: happy
|
||
|
Cc-options: -DAFMPATH=/usr/share/texmf-texlive/fonts/afm
|
||
|
|
||
|
diff --git a/src/Color.hs b/src/Color.hs
|
||
|
index 184e5e6..8786dac 100644
|
||
|
--- a/src/Color.hs
|
||
|
+++ b/src/Color.hs
|
||
|
@@ -23,7 +23,7 @@
|
||
|
module Color where
|
||
|
-- (Color (..), lookupColor, showsColor, showsAColor, prepareColors)
|
||
|
|
||
|
-import Char
|
||
|
+import Data.Char
|
||
|
import Numeric
|
||
|
|
||
|
type Color = (Int, Int, Int)
|
||
|
diff --git a/src/CommandLine.hs b/src/CommandLine.hs
|
||
|
index 50d6546..518b107 100644
|
||
|
--- a/src/CommandLine.hs
|
||
|
+++ b/src/CommandLine.hs
|
||
|
@@ -1,6 +1,6 @@
|
||
|
module CommandLine (parse_cmds) where
|
||
|
-import System
|
||
|
-
|
||
|
+import System.IO
|
||
|
+import System.Environment
|
||
|
|
||
|
defaultArgs :: Args
|
||
|
defaultArgs = MkArgs "Times-Roman" 10 "black" "Times-Roman" 10 "black" "white" "black" "Times-Roman" 10 "black" "white" "black" "black" 500 500 30 100 200 "rgb.txt" False False False False True False False False False
|
||
|
diff --git a/src/Ebnf2ps.hs b/src/Ebnf2ps.hs
|
||
|
index 9dc2e4d..6f340cf 100644
|
||
|
--- a/src/Ebnf2ps.hs
|
||
|
+++ b/src/Ebnf2ps.hs
|
||
|
@@ -25,11 +25,10 @@ import Defaults (afmPathDefault, ebnfInputDefault, rgbPathDefault)
|
||
|
import PathExpansion (expandPath)
|
||
|
import Color
|
||
|
import Info
|
||
|
-import IO
|
||
|
-import Monad
|
||
|
+import System.Time
|
||
|
+import System.Environment
|
||
|
+import Control.Monad
|
||
|
import Numeric
|
||
|
-import System
|
||
|
-import Time
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
main :: IO ()
|
||
|
diff --git a/src/Ebnf2psParser.hs b/src/Ebnf2psParser.hs
|
||
|
index 4cc7052..0fb4557 100644
|
||
|
--- a/src/Ebnf2psParser.hs
|
||
|
+++ b/src/Ebnf2psParser.hs
|
||
|
@@ -4,7 +4,7 @@
|
||
|
module Ebnf2psParser (theEbnfParser, theHappyParser, theYaccParser) where
|
||
|
import AbstractSyntax
|
||
|
import Lexer
|
||
|
-import List
|
||
|
+import Data.List
|
||
|
|
||
|
data HappyAbsSyn
|
||
|
= HappyTerminal Token'
|
||
|
diff --git a/src/EbnfLayout.hs b/src/EbnfLayout.hs
|
||
|
index cd0b4d9..aecc0b4 100644
|
||
|
--- a/src/EbnfLayout.hs
|
||
|
+++ b/src/EbnfLayout.hs
|
||
|
@@ -25,7 +25,7 @@ import AbstractSyntax
|
||
|
import Color
|
||
|
import Fonts (FONT, stringWidth, stringHeight, fontDescender)
|
||
|
import Info
|
||
|
-import List
|
||
|
+import Data.List
|
||
|
|
||
|
-- all arithmetic is done in 1/100 pt
|
||
|
|
||
|
diff --git a/src/Fonts.hs b/src/Fonts.hs
|
||
|
index c1639de..ed36a79 100644
|
||
|
--- a/src/Fonts.hs
|
||
|
+++ b/src/Fonts.hs
|
||
|
@@ -17,7 +17,7 @@
|
||
|
module Fonts (FONT, makeFont, fontDescender, stringWidth, stringHeight, fontName, fontScale, noFont)
|
||
|
where
|
||
|
|
||
|
-import Char
|
||
|
+import Data.Char
|
||
|
import Numeric
|
||
|
|
||
|
data FONT = FONT String Int Int (String -> Int)
|
||
|
diff --git a/src/GrammarTransform.hs b/src/GrammarTransform.hs
|
||
|
index 99c3840..65624ab 100644
|
||
|
--- a/src/GrammarTransform.hs
|
||
|
+++ b/src/GrammarTransform.hs
|
||
|
@@ -13,7 +13,7 @@ module GrammarTransform
|
||
|
where
|
||
|
|
||
|
import AbstractSyntax
|
||
|
-import List
|
||
|
+import Data.List
|
||
|
|
||
|
|
||
|
data RInfo
|
||
|
diff --git a/src/GrammarUnfold.hs b/src/GrammarUnfold.hs
|
||
|
index 056119a..d35a630 100644
|
||
|
--- a/src/GrammarUnfold.hs
|
||
|
+++ b/src/GrammarUnfold.hs
|
||
|
@@ -17,7 +17,7 @@ module GrammarUnfold (
|
||
|
import AbstractSyntax
|
||
|
import GrammarTransform
|
||
|
import StringMatch (stringMatch)
|
||
|
-import List
|
||
|
+import Data.List
|
||
|
|
||
|
import qualified Data.Map (Map, keys, elems, findWithDefault, fromList)
|
||
|
|
||
|
diff --git a/src/IOSupplement.hs b/src/IOSupplement.hs
|
||
|
index 3251365..ba666b1 100644
|
||
|
--- a/src/IOSupplement.hs
|
||
|
+++ b/src/IOSupplement.hs
|
||
|
@@ -29,8 +29,9 @@
|
||
|
module IOSupplement (getPath, readPathFile, readRGBPathFile)
|
||
|
where
|
||
|
|
||
|
-import System
|
||
|
-import IO
|
||
|
+import System.IO
|
||
|
+import System.IO.Error
|
||
|
+import System.Environment
|
||
|
|
||
|
#ifdef __HBC__
|
||
|
ioError = fail
|
||
|
diff --git a/src/Lexer.hs b/src/Lexer.hs
|
||
|
index 52f2549..8bf9f82 100644
|
||
|
--- a/src/Lexer.hs
|
||
|
+++ b/src/Lexer.hs
|
||
|
@@ -3,7 +3,7 @@ module Lexer where
|
||
|
-- Last Modified By: M. Walter
|
||
|
--
|
||
|
|
||
|
-import Char
|
||
|
+import Data.Char
|
||
|
|
||
|
------------------------------------------------------------------------------
|
||
|
--NOW the lexer
|
||
|
diff --git a/src/PathExpansion.hs b/src/PathExpansion.hs
|
||
|
index 48e27d6..01807e5 100644
|
||
|
--- a/src/PathExpansion.hs
|
||
|
+++ b/src/PathExpansion.hs
|
||
|
@@ -3,10 +3,11 @@ module PathExpansion (expandPath)
|
||
|
where
|
||
|
|
||
|
#ifdef __GLASGOW_HASKELL__
|
||
|
-import System
|
||
|
-import Directory
|
||
|
-import Monad
|
||
|
-import IO
|
||
|
+import System.Directory
|
||
|
+import System.Environment
|
||
|
+import Control.Monad
|
||
|
+import System.IO
|
||
|
+import System.IO.Error
|
||
|
import System.Posix.User (getUserEntryForName, homeDirectory)
|
||
|
#endif
|
||
|
|
||
|
@@ -99,8 +100,8 @@ replaceEnv (x:xs) = do t <- replaceEnv xs
|
||
|
return (x:t)
|
||
|
|
||
|
getEnv2 t
|
||
|
- |t == "HOME" = catch (getEnv t) (\e -> if IO.isDoesNotExistError e then return ['.'] else ioError e)
|
||
|
- |otherwise = catch (getEnv t) (\e -> if IO.isDoesNotExistError e then return [] else ioError e)
|
||
|
+ |t == "HOME" = catch (getEnv t) (\e -> if isDoesNotExistError e then return ['.'] else ioError e)
|
||
|
+ |otherwise = catch (getEnv t) (\e -> if isDoesNotExistError e then return [] else ioError e)
|
||
|
-------------------------------------------------------
|
||
|
|
||
|
---------------- Teilen nach Doppelpunkt --------------
|