Added haddock documentation

This commit is contained in:
macocianradu
2021-11-30 22:33:44 +01:00
parent 70baa17a4e
commit ff25395b68
18 changed files with 136 additions and 73 deletions

View File

@@ -7,6 +7,7 @@ import Text.Megaparsec.Char
import Text.Megaparsec
import Parser.General
-- |Parses a type declaration statement in Rosetta into an Type
typeParser :: Parser Type
typeParser =
do
@@ -17,6 +18,7 @@ typeParser =
tAttributes <- many $ try typeAttributeParser
return (MakeType tName tSuper tDescription tAttributes)
-- |Parses the super class declaration statement in Rosetta into an Type
superTypeParser :: Parser Type
superTypeParser =
do
@@ -24,6 +26,7 @@ superTypeParser =
name <- pascalNameParser
return $ MakeType name Nothing Nothing []
-- |Parses a declared type attribute in Rosetta into a TypeAttribute
typeAttributeParser :: Parser TypeAttribute
typeAttributeParser =
do
@@ -33,11 +36,13 @@ typeAttributeParser =
desc <- optional descriptionParser
return (MakeTypeAttribute aName (MakeType aType Nothing Nothing []) card desc)
-- |Parses the cardinality of a type attribute in Rosetta into a Cardinality
cardinalityParser :: Parser Cardinality
cardinalityParser =
do
try parseBounded <|> try parseSemiBounded <|> try parseUnbounded
-- |Parses a bounded cardinality statement in Rosetta into a Cardinality
parseBounded :: Parser Cardinality
parseBounded =
do
@@ -48,7 +53,7 @@ parseBounded =
_ <- lexeme $ char ')'
return $ Bounds (read low, read up)
-- |Parses a one bounded cardinality statement in Rosetta into a Cardinality
parseSemiBounded :: Parser Cardinality
parseSemiBounded =
do
@@ -57,13 +62,14 @@ parseSemiBounded =
_ <- lexeme $ string "..*)"
return $ OneBound $ read low
-- |Parses an unbounded cardinality statement in Rosetta into a Cardinality
parseUnbounded :: Parser Cardinality
parseUnbounded =
do
_ <- lexeme $ string "(*..*)"
return NoBounds
-- |Parses the name of a type in Rosetta into a String
typeNameParser :: Parser String
typeNameParser =
do