Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
G
gargantext-ihaskell
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
gargantext
gargantext-ihaskell
Commits
584127f8
Commit
584127f8
authored
Apr 24, 2021
by
Vaibhav Sagar
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ghc-parser: update
parent
b06b52f4
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
75 additions
and
12 deletions
+75
-12
Parser.hs
ghc-parser/generic-src/Language/Haskell/GHC/Parser.hs
+30
-10
ghc-parser.cabal
ghc-parser/ghc-parser.cabal
+5
-2
HappyParser.hs
ghc-parser/src-9.0/Language/Haskell/GHC/HappyParser.hs
+40
-0
No files found.
ghc-parser/generic-src/Language/Haskell/GHC/Parser.hs
View file @
584127f8
...
...
@@ -28,24 +28,36 @@ module Language.Haskell.GHC.Parser (
import
Data.List
(
intercalate
,
findIndex
,
isInfixOf
)
import
Data.Char
(
isAlphaNum
)
#
if
MIN_VERSION_ghc
(
9
,
0
,
0
)
import
GHC.Data.Bag
import
GHC.Driver.Session
(
parseDynamicFilePragma
)
import
GHC.Data.FastString
import
GHC.Parser.Header
(
getOptions
)
import
GHC.Parser.Lexer
hiding
(
buffer
)
import
GHC.Data.OrdList
import
GHC.Utils.Panic
(
handleGhcException
)
import
qualified
GHC.Types.SrcLoc
as
SrcLoc
import
GHC.Data.StringBuffer
hiding
(
len
)
#
else
import
Bag
import
DynFlags
(
parseDynamicFilePragma
)
import
FastString
import
HeaderInfo
(
getOptions
)
import
Lexer
hiding
(
buffer
)
import
OrdList
import
Panic
(
handleGhcException
)
import
qualified
SrcLoc
as
SrcLoc
import
StringBuffer
hiding
(
len
)
#
endif
#
if
MIN_VERSION_ghc
(
8
,
10
,
0
)
#
else
import
ErrUtils
hiding
(
ErrMsg
)
#
endif
import
FastString
#
if
MIN_VERSION_ghc
(
8
,
4
,
0
)
import
GHC
hiding
(
Located
,
Parsed
,
parser
)
#
else
import
GHC
hiding
(
Located
,
parser
)
#
endif
import
HeaderInfo
(
getOptions
)
import
Lexer
hiding
(
buffer
)
import
OrdList
import
Panic
(
handleGhcException
)
import
qualified
SrcLoc
as
SrcLoc
import
StringBuffer
hiding
(
len
)
import
qualified
Language.Haskell.GHC.HappyParser
as
Parse
...
...
@@ -115,9 +127,10 @@ parserTypeSignature :: Parser (SrcLoc.Located (OrdList (LHsDecl RdrName)))
#
endif
parserTypeSignature
=
Parser
Parse
.
fullTypeSignature
#
if
MIN_VERSION_ghc
(
8
,
4
,
0
)
#
if
MIN_VERSION_ghc
(
9
,
0
,
0
)
parserModule
::
Parser
(
SrcLoc
.
Located
HsModule
)
#
elif
MIN_VERSION_ghc
(
8
,
4
,
0
)
parserModule
::
Parser
(
SrcLoc
.
Located
(
HsModule
GhcPs
))
#
else
parserModule
::
Parser
(
SrcLoc
.
Located
(
HsModule
RdrName
))
#
endif
...
...
@@ -136,7 +149,14 @@ runParser flags (Parser parser) str =
toParseOut
$
unP
parser
parseState
where
toParseOut
::
ParseResult
a
->
ParseOutput
a
#
if
MIN_VERSION_ghc
(
8
,
10
,
0
)
#
if
MIN_VERSION_ghc
(
9
,
0
,
0
)
toParseOut
(
PFailed
pstate
)
=
let
realSpan
=
SrcLoc
.
psRealSpan
$
last_loc
pstate
errMsg
=
printErrorBag
$
snd
$
(
messages
pstate
)
flags
ln
=
srcLocLine
$
SrcLoc
.
realSrcSpanStart
realSpan
col
=
srcLocCol
$
SrcLoc
.
realSrcSpanStart
realSpan
in
Failure
errMsg
$
Loc
ln
col
#
elif
MIN_VERSION_ghc
(
8
,
10
,
0
)
toParseOut
(
PFailed
pstate
)
=
let
realSpan
=
last_loc
pstate
errMsg
=
printErrorBag
$
snd
$
(
messages
pstate
)
flags
...
...
ghc-parser/ghc-parser.cabal
View file @
584127f8
...
...
@@ -24,7 +24,7 @@ library
-- other-modules:
-- other-extensions:
build-depends: base >=4.9 && < 5,
ghc >=8.0 && <
8.1
1
ghc >=8.0 && <
9.
1
if impl(ghc >= 8.0) && impl(ghc < 8.4)
hs-source-dirs: generic-src src-8.0
...
...
@@ -32,7 +32,10 @@ library
if impl(ghc >= 8.4) && impl(ghc < 8.10)
hs-source-dirs: generic-src src-8.4
else
hs-source-dirs: generic-src src-8.10
if impl(ghc >= 8.10) && impl(ghc < 9.0)
hs-source-dirs: generic-src src-8.10
else
hs-source-dirs: generic-src src-9.0
default-language: Haskell2010
ghc-parser/src-9.0/Language/Haskell/GHC/HappyParser.hs
0 → 100644
View file @
584127f8
module
Language.Haskell.GHC.HappyParser
(
fullStatement
,
fullImport
,
fullDeclaration
,
fullExpression
,
fullTypeSignature
,
fullModule
)
where
import
GHC.Parser
import
GHC.Types.SrcLoc
-- compiler/hsSyn
import
GHC.Hs
-- compiler/utils
import
GHC.Data.OrdList
-- compiler/parser
import
GHC.Parser.Lexer
import
GHC.Parser.PostProcess
(
runECP_P
)
fullStatement
::
P
(
Maybe
(
LStmt
GhcPs
(
LHsExpr
GhcPs
)))
fullStatement
=
parseStmt
fullImport
::
P
(
LImportDecl
GhcPs
)
fullImport
=
parseImport
fullDeclaration
::
P
(
OrdList
(
LHsDecl
GhcPs
))
fullDeclaration
=
fmap
unitOL
parseDeclaration
fullExpression
::
P
(
LHsExpr
GhcPs
)
fullExpression
=
runECP_P
=<<
parseExpression
fullTypeSignature
::
P
(
Located
(
OrdList
(
LHsDecl
GhcPs
)))
fullTypeSignature
=
fmap
(
noLoc
.
unitOL
)
parseTypeSignature
fullModule
::
P
(
Located
HsModule
)
fullModule
=
parseModule
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment