mulang 4.0.0 → 4.0.1
raw patch · 4 files changed
+11/−10 lines, 4 files
Files
- app/Version.hs +1/−1
- mulang.cabal +1/−1
- src/Language/Mulang/Ast.hs +7/−7
- src/Language/Mulang/Parsers/Haskell.hs +2/−1
app/Version.hs view
@@ -6,7 +6,7 @@ prettyVersion = "Mulang Release " ++ version ++ ", compiled on " ++ compilationTimestamp version :: String-version = "4.0.0"+version = "4.0.1" compilationTimestamp :: String compilationTimestamp = __DATE__ ++ " " ++ __TIME__
mulang.cabal view
@@ -1,5 +1,5 @@ name: mulang-version: 4.0.0+version: 4.0.1 synopsis: An intermediate language designed to perform advanced code analysis description: Mulang is an intermediate language, a combinators library for static code analysis and a multilanguage comand line tool license: GPL
src/Language/Mulang/Ast.hs view
@@ -70,7 +70,7 @@ | ConstrainedType [Identifier] -- ^ constrained type, with just type constraints. -- Usefull for modelling classes and interfaces types- | OtherType (Maybe String) (Maybe Type)+ | OtherType (Maybe Code) (Maybe Type) -- ^ unrecognized type, with optional code and nested type deriving (Eq, Show, Read, Generic) @@ -164,7 +164,7 @@ -- ^ Imperative / OOP programming c-style for loop | Sequence [Expression] -- ^ Generic sequence of statements- | Other (Maybe String) (Maybe Expression)+ | Other (Maybe Code) (Maybe Expression) -- ^ Unrecognized expression, with optional description and body | Equal | NotEqual@@ -190,13 +190,13 @@ -- | Mulang Patterns are not expressions, but are aimed to match them. -- | They are modeled after Haskell, Prolog, Elixir, Scala and Erlang patterns data Pattern- = VariablePattern String+ = VariablePattern Identifier -- ^ variable pattern like @X@- | LiteralPattern String+ | LiteralPattern Code -- ^ literal constant pattern like @4@- | InfixApplicationPattern Pattern String Pattern+ | InfixApplicationPattern Pattern Identifier Pattern -- ^ infix application pattern like @4:X@- | ApplicationPattern String [Pattern]+ | ApplicationPattern Identifier [Pattern] -- ^ prefix application pattern like @f _@ | TuplePattern [Pattern] -- ^ tuple pattern like @(3, _)@@@ -210,7 +210,7 @@ | WildcardPattern -- ^ wildcard pattern @_@ | UnionPattern [Pattern]- | OtherPattern (Maybe String) (Maybe Pattern)+ | OtherPattern (Maybe Code) (Maybe Pattern) -- ^ Other unrecognized pattern with optional code and nested pattern deriving (Eq, Show, Read, Generic)
src/Language/Mulang/Parsers/Haskell.hs view
@@ -6,6 +6,7 @@ import Language.Haskell.Syntax import Language.Haskell.Parser+import Language.Haskell.Pretty (prettyPrint) import Data.List (intercalate) @@ -50,7 +51,7 @@ muBody = Return . muExp muPat (HsPVar name) = VariablePattern (muName name)- muPat (HsPLit _) = LiteralPattern ""+ muPat (HsPLit literal) = LiteralPattern (prettyPrint literal) muPat (HsPInfixApp e1 name e2) = InfixApplicationPattern (muPat e1) (muQName name) (muPat e2) muPat (HsPApp name elements) = ApplicationPattern (muQName name) (map muPat elements) muPat (HsPTuple elements) = TuplePattern (map muPat elements)