From 86d784b9916feed980795cc2e93202ea6a786655 Mon Sep 17 00:00:00 2001 From: Nathaniel Wesley Filardo Date: Thu, 10 Jan 2013 22:12:26 -0500 Subject: [PATCH] Restore external subodules, update, and update our code --- external/ekmett-parsers | 1 + external/ekmett-trifecta | 1 + src/Dyna/ParserHS/Parser.hs | 84 ++++++++++++++++++------------------- src/Dyna/XXX/Trifecta.hs | 5 ++- 4 files changed, 47 insertions(+), 44 deletions(-) create mode 160000 external/ekmett-parsers create mode 160000 external/ekmett-trifecta diff --git a/external/ekmett-parsers b/external/ekmett-parsers new file mode 160000 index 0000000..82505d7 --- /dev/null +++ b/external/ekmett-parsers @@ -0,0 +1 @@ +Subproject commit 82505d74430677c92aedcd3e71ececf491e859b3 diff --git a/external/ekmett-trifecta b/external/ekmett-trifecta new file mode 160000 index 0000000..0725065 --- /dev/null +++ b/external/ekmett-trifecta @@ -0,0 +1 @@ +Subproject commit 0725065a6f9a7e6e1732cd3a9f326f410b73f312 diff --git a/src/Dyna/ParserHS/Parser.hs b/src/Dyna/ParserHS/Parser.hs index d5bb3c7..475debf 100644 --- a/src/Dyna/ParserHS/Parser.hs +++ b/src/Dyna/ParserHS/Parser.hs @@ -118,12 +118,12 @@ usualpunct = CS.fromList "!#$%&*+/<=>?@\\^|-~:." -- | Dot operators dynaDotOperStyle :: TokenParsing m => IdentifierStyle m dynaDotOperStyle = IdentifierStyle - { styleName = "Dot Operator" - , styleStart = char '.' - , styleLetter = oneOfSet $ usualpunct - , styleReserved = mempty - , styleHighlight = Operator - , styleReservedHighlight = ReservedOperator + { _styleName = "Dot Operator" + , _styleStart = char '.' + , _styleLetter = oneOfSet $ usualpunct + , _styleReserved = mempty + , _styleHighlight = Operator + , _styleReservedHighlight = ReservedOperator } -- | Prefix operators @@ -135,12 +135,12 @@ dynaDotOperStyle = IdentifierStyle -- operator, as it is a sigil for type annotations. dynaPfxOperStyle :: TokenParsing m => IdentifierStyle m dynaPfxOperStyle = IdentifierStyle - { styleName = "Prefix Operator" - , styleStart = oneOfSet $ usualpunct CS.\\ CS.fromList ".:" - , styleLetter = oneOfSet $ usualpunct - , styleReserved = mempty - , styleHighlight = Operator - , styleReservedHighlight = ReservedOperator + { _styleName = "Prefix Operator" + , _styleStart = oneOfSet $ usualpunct CS.\\ CS.fromList ".:" + , _styleLetter = oneOfSet $ usualpunct + , _styleReserved = mempty + , _styleHighlight = Operator + , _styleReservedHighlight = ReservedOperator } -- | Infix operators @@ -149,45 +149,45 @@ dynaPfxOperStyle = IdentifierStyle -- dual purpose as an operator and rule separator. dynaOperStyle :: TokenParsing m => IdentifierStyle m dynaOperStyle = IdentifierStyle - { styleName = "Infix Operator" - , styleStart = oneOfSet $ CS.delete '.' usualpunct - , styleLetter = oneOfSet $ usualpunct - , styleReserved = mempty - , styleHighlight = Operator - , styleReservedHighlight = ReservedOperator + { _styleName = "Infix Operator" + , _styleStart = oneOfSet $ CS.delete '.' usualpunct + , _styleLetter = oneOfSet $ usualpunct + , _styleReserved = mempty + , _styleHighlight = Operator + , _styleReservedHighlight = ReservedOperator } dynaAggStyle :: TokenParsing m => IdentifierStyle m dynaAggStyle = IdentifierStyle - { styleName = "Aggregator" - , styleStart = (oneOfSet $ CS.delete '.' usualpunct) - <|> lower - , styleLetter = (oneOfSet $ usualpunct) - <|> alphaNum - , styleReserved = mempty - , styleHighlight = Operator - , styleReservedHighlight = ReservedOperator + { _styleName = "Aggregator" + , _styleStart = (oneOfSet $ CS.delete '.' usualpunct) + <|> lower + , _styleLetter = (oneOfSet $ usualpunct) + <|> alphaNum + , _styleReserved = mempty + , _styleHighlight = Operator + , _styleReservedHighlight = ReservedOperator } dynaAtomStyle :: TokenParsing m => IdentifierStyle m dynaAtomStyle = IdentifierStyle - { styleName = "Atom" - , styleStart = (lower <|> oneOf "$") - , styleLetter = (alphaNum <|> oneOf "_'") - , styleReserved = H.fromList [ "is", "new", "whenever" ] - , styleHighlight = Constant - , styleReservedHighlight = ReservedOperator + { _styleName = "Atom" + , _styleStart = (lower <|> oneOf "$") + , _styleLetter = (alphaNum <|> oneOf "_'") + , _styleReserved = H.fromList [ "is", "new", "whenever" ] + , _styleHighlight = Constant + , _styleReservedHighlight = ReservedOperator } dynaVarStyle :: TokenParsing m => IdentifierStyle m dynaVarStyle = IdentifierStyle - { styleName = "Variable" - , styleStart = (upper <|> char '_') - , styleLetter = (alphaNum <|> oneOf "_'") - , styleReserved = mempty - , styleHighlight = Identifier - , styleReservedHighlight = ReservedIdentifier + { _styleName = "Variable" + , _styleStart = (upper <|> char '_') + , _styleLetter = (alphaNum <|> oneOf "_'") + , _styleReserved = mempty + , _styleHighlight = Identifier + , _styleReservedHighlight = ReservedIdentifier } @@ -196,10 +196,10 @@ dynaVarStyle = IdentifierStyle dynaCommentStyle :: CommentStyle dynaCommentStyle = CommentStyle - { commentStart = "{%" -- XXX? - , commentEnd = "%}" -- XXX? - , commentLine = "%" - , commentNesting = True + { _commentStart = "{%" -- XXX? + , _commentEnd = "%}" -- XXX? + , _commentLine = "%" + , _commentNesting = True } newtype DynaLanguage m a = DL { unDL :: m a } diff --git a/src/Dyna/XXX/Trifecta.hs b/src/Dyna/XXX/Trifecta.hs index 113ef5d..2330913 100644 --- a/src/Dyna/XXX/Trifecta.hs +++ b/src/Dyna/XXX/Trifecta.hs @@ -32,8 +32,9 @@ import qualified Text.PrettyPrint.Free as PP -- identNL :: (Monad m, TokenParsing m) => IdentifierStyle m -> m String identNL s = try $ do - name <- highlight (styleHighlight s) ((:) <$> styleStart s <*> many (styleLetter s) styleName s) - when (HashSet.member name (styleReserved s)) $ unexpected $ "reserved " ++ styleName s ++ " " ++ show name + name <- highlight (_styleHighlight s) + ((:) <$> _styleStart s <*> many (_styleLetter s) _styleName s) + when (HashSet.member name (_styleReserved s)) $ unexpected $ "reserved " ++ _styleName s ++ " " ++ show name return name ------------------------------------------------------------------------}}} -- 2.50.1