on edd4fbb help sign in
35 lines 823 B history raw
1{-# OPTIONS_GHC -Wall #-}
2module SourceSyntax.Literal where
4import Data.Map (Map)
5import SourceSyntax.PrettyPrint
6import qualified Text.PrettyPrint as PP
8data Literal = IntNum Int
9 | FloatNum Double
10 | Chr Char
11 | Str String
12 | Boolean Bool
13 deriving (Eq, Ord, Show)
15instance Pretty Literal where
16 pretty literal =
17 case literal of
18 IntNum n -> PP.int n
19 FloatNum n -> PP.double n
20 Chr c -> PP.text . show $ c
21 Str s -> PP.text . show $ s
22 Boolean bool -> PP.text (show bool)
24data GLTipe = V3 | M4
26glTipeName :: GLTipe -> String
27glTipeName V3 = "MJS.V3"
28glTipeName M4 = "MJS.M4x4"
30data GLShaderTipe = GLShaderTipe
31 { attribute :: Map String GLTipe
32 , uniform :: Map String GLTipe
33 , varying :: Map String GLTipe
34 }