License | GPL-2 |
---|---|
Maintainer | yi-devel@googlegroups.com |
Stability | experimental |
Portability | portable |
Safe Haskell | None |
Language | Haskell2010 |
Extensions |
|
NOTES: Note if the layout of the first line (not comments) is wrong the parser will only parse what is in the blocks given by Layout.hs
- type PModule = Exp
- type PModuleDecl = Exp
- type PImport = Exp
- data Exp t
- = PModule { }
- | ProgMod {
- modDecl :: PModuleDecl t
- body :: PModule t
- | Body {
- imports :: Exp t
- content :: Block t
- extraContent :: Block t
- | PModuleDecl {
- moduleKeyword :: PAtom t
- name :: PAtom t
- exports :: Exp t
- whereKeyword :: Exp t
- | PImport {
- importKeyword :: PAtom t
- qual :: Exp t
- name' :: PAtom t
- as :: Exp t
- specification :: Exp t
- | TS t [Exp t]
- | PType { }
- | PData { }
- | PData' { }
- | PClass { }
- | Paren (PAtom t) [Exp t] (PAtom t)
- | Block [Exp t]
- | PAtom t [t]
- | Expr [Exp t]
- | PWhere (PAtom t) (Exp t) (Exp t)
- | Bin (Exp t) (Exp t)
- | PError {
- errorTok :: t
- marker :: t
- commentList :: [t]
- | RHS (PAtom t) (Exp t)
- | Opt (Maybe (Exp t))
- | Modid t [t]
- | Context (Exp t) (Exp t) (PAtom t)
- | PGuard [PGuard t]
- | PGuard' (PAtom t) (Exp t) (PAtom t)
- | TC (Exp t)
- | DC (Exp t)
- | PLet (PAtom t) (Exp t) (Exp t)
- | PIn t [Exp t]
- type Tree = PModule
- parse :: P TT (Tree TT)
- indentScanner :: Scanner (AlexState lexState) TT -> Scanner (State Token lexState) TT
Documentation
type PModuleDecl = Exp Source #
Exp can be expression or declaration
PModule | |
ProgMod | |
| |
Body | |
| |
PModuleDecl | |
| |
PImport | |
| |
TS t [Exp t] | Type signature |
PType | Type declaration |
PData | Data declaration |
PData' | |
PClass | |
Paren (PAtom t) [Exp t] (PAtom t) | A parenthesized, bracked or braced |
Block [Exp t] | A block of things separated by layout |
PAtom t [t] | An atom is a token followed by many comments |
Expr [Exp t] | |
PWhere (PAtom t) (Exp t) (Exp t) | Where clause |
Bin (Exp t) (Exp t) | |
PError | |
| |
RHS (PAtom t) (Exp t) | Righthandside of functions with = |
Opt (Maybe (Exp t)) | An optional |
Modid t [t] | Module identifier |
Context (Exp t) (Exp t) (PAtom t) | |
PGuard [PGuard t] | Righthandside of functions with | the PAtom in PGuard' does not contain any comments |
PGuard' (PAtom t) (Exp t) (PAtom t) | |
TC (Exp t) | Type constructor data constructor same as with the TC constructor |
DC (Exp t) | Data constructor |
PLet (PAtom t) (Exp t) (Exp t) | let expression |
PIn t [Exp t] |