Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
- stripComments :: ByteString -> ByteString
- parseFile :: ByteString -> Either String [TopLevel]
- newtype Ident = Ident String
- ident :: Parser Ident
- data TopLevel
- data Scad
- data Object
- data Expr
- = EVar Ident
- | EIndex Expr Expr
- | ENum Double
- | EVec [Expr]
- | ERange (Range Expr)
- | EString String
- | EBool Bool
- | EFunc Ident [Argument Expr]
- | ENegate Expr
- | EPlus Expr Expr
- | EMinus Expr Expr
- | EMult Expr Expr
- | EDiv Expr Expr
- | EMod Expr Expr
- | EEquals Expr Expr
- | ENotEquals Expr Expr
- | EGT Expr Expr
- | EGE Expr Expr
- | ELT Expr Expr
- | ELE Expr Expr
- | ENot Expr
- | EOr Expr Expr
- | EAnd Expr Expr
- | ETernary Expr Expr Expr
- | EParen Expr
- data Argument a
- = Argument a
- | NamedArgument Ident a
- data Range a = Range a a (Maybe a)
Basic parsing
stripComments :: ByteString -> ByteString Source
Strip the comments from and OpenSCAD source file
Primitives
Things which can appear at the top level of an OpenSCAD source file
A OpenSCAD scope
ModuleDef | |
| |
VarDef | |
FuncDef | |
Object Object |
An OpenSCAD geometry object
Expressions
An OpenSCAD expression
An item in an argument list
Argument a | Just a plain value |
NamedArgument Ident a | A named argument |