git.iko.soy/rowtype-yoga/purescript-native
on golang help sign in
Only parse `qualified as` for now

Can relax to allow `as`-only or `qualified`-only later

commit2aa6ea0465403cdd8648ac998edd932e2289c23f authorGary Burgess <gary.burgess@gmail.com> dateMon 17 Mar 2014, 19:32 (13 years ago) parent9276901
1 file changed+14−4
src/Language/PureScript/Parser/Declarations.hs+14−4
src/Language/PureScript/Parser/Declarations.hs+14−4
@@ -99,10 +99,20 @@ parseImportDeclaration :: P.Parsec String ParseState Declaration
9999parseImportDeclaration = do
100100 reserved "import"
101101 indented
102− moduleName' <- moduleName
103− idents <- P.optionMaybe $ parens $ commaSep parseDeclarationRef
104− asQ <- P.optionMaybe $ reserved "as" *> moduleName
105− return $ ImportDeclaration moduleName' idents asQ
102+ qualImport <|> stdImport
103+ where
104+ stdImport = do
105+ moduleName' <- moduleName
106+ idents <- P.optionMaybe $ parens $ commaSep parseDeclarationRef
107+ return $ ImportDeclaration moduleName' idents Nothing
108+ qualImport = do
109+ reserved "qualified"
110+ indented
111+ moduleName' <- moduleName
112+ idents <- P.optionMaybe $ parens $ commaSep parseDeclarationRef
113+ reserved "as"
114+ asQ <- moduleName
115+ return $ ImportDeclaration moduleName' idents (Just asQ)
106116
107117parseDeclarationRef :: P.Parsec String ParseState DeclarationRef
108118parseDeclarationRef = ValueRef <$> parseIdent