Changeset 2962
- Timestamp:
- 05/11/05 14:08:08 (4 years ago)
- svk:copy_cache_prev:
- 4536
- Location:
- src/Pugs
- Files:
-
- 3 modified
Legend:
- Unmodified
- Added
- Removed
-
src/Pugs/AST.hs
r2957 r2962 111 111 charInc x = chr $ 1 + ord x 112 112 113 -- |Evaluate the given expression, using the currently active evaluator 114 -- (as given by the 'envEval' slot of the current 'Env'). 115 evalExp :: Exp -> Eval Val 116 evalExp exp = do 117 evl <- asks envEval 118 evl exp -
src/Pugs/AST/Internals.hs
r2957 r2962 715 715 extract exp vs = (exp, vs) 716 716 717 -- can be factored 717 718 -- |Return the context implied by a particular primary sigil 718 719 -- (\$, \@, \% or \&). E.g. used to find what context to impose on … … 882 883 return $ \(MkPad map) -> MkPad $ Map.insert name [(fresh, tvar)] map 883 884 884 show' :: (Show a) => a -> String885 show' x = "( " ++ show x ++ " )"886 887 885 type Eval x = EvalT (ContT Val (ReaderT Env SIO)) x 888 886 type EvalMonad = EvalT (ContT Val (ReaderT Env SIO)) … … 997 995 retError :: (Show a) => VStr -> a -> Eval b 998 996 retError str a = fail $ str ++ ": " ++ show a 999 1000 -- |Evaluate the given expression, using the currently active evaluator1001 -- (as given by the 'envEval' slot of the current 'Env').1002 evalExp :: Exp -> Eval Val1003 evalExp exp = do1004 evl <- asks envEval1005 evl exp1006 997 1007 998 defined :: VScalar -> Bool … … 1119 1110 return $ f (hv :: VHash) 1120 1111 1112 -- can be factored out 1121 1113 doArray :: Val -> (forall a. ArrayClass a => a -> b) -> Eval b 1122 1114 doArray (VRef (MkRef (IArray hv))) f = return $ f hv -
src/Pugs/Parser.hs
r2956 r2962 11 11 -} 12 12 13 module Pugs.Parser where 13 module Pugs.Parser ( 14 runRule, 15 ruleProgram, 16 ) where 14 17 import Pugs.Internals 15 18 import Pugs.AST … … 193 196 return () 194 197 198 {- unused 195 199 ruleQualifiedIdentifier :: RuleParser [String] 196 200 ruleQualifiedIdentifier = rule "qualified identifer" $ do 197 201 identifier `sepBy1` (try $ string "::") 202 -} 198 203 199 204 -- Declarations ------------------------------------------------ … … 332 337 } 333 338 339 {- unused 334 340 subNameWithPrefix :: String -> RuleParser String 335 341 subNameWithPrefix prefix = (<?> "subroutine name") $ lexeme $ try $ do … … 338 344 cs <- many wordAny 339 345 return $ "&" ++ star ++ prefix ++ (c:cs) 346 -} 340 347 341 348 ruleSubName :: RuleParser String … … 533 540 _ -> return $ Val val 534 541 542 {- unused 535 543 rulePackageDeclaration :: RuleParser a 536 544 rulePackageDeclaration = rule "package declaration" $ fail "" 545 -} 537 546 538 547 -- Constructs ------------------------------------------------ … … 849 858 mapPair f (x, y) = (f x, f y) 850 859 860 {- unused 851 861 parseName :: String -> String 852 862 parseName str … … 855 865 | otherwise 856 866 = dropWhile (not . isAlpha) str 857 867 -} 868 869 {- unused 858 870 currentListFunctions :: RuleParser [a] 859 871 currentListFunctions = do 860 872 return [] 873 -} 861 874 {- 862 875 funs <- currentFunctions … … 911 924 chainOps :: String -> [Operator Char Env Exp] 912 925 chainOps = leftOps 926 {- unused 913 927 leftSyn :: String -> [Operator Char Env Exp] 914 928 leftSyn = ops $ makeOp2 AssocLeft "" Syn 929 -} 915 930 rightSyn :: String -> [Operator Char Env Exp] 916 931 rightSyn = ops $ makeOp2 AssocRight "" Syn … … 919 934 listSyn :: String -> [Operator Char Env Exp] 920 935 listSyn = ops $ makeOp0 AssocList "" Syn 936 {- unused 921 937 chainSyn :: String -> [Operator Char Env Exp] 922 938 chainSyn = leftSyn 939 -} 923 940 924 941 -- chainOps = ops $ makeOpChained … … 1136 1153 maybeParens :: CharParser Env a -> RuleParser a 1137 1154 maybeParens p = choice [ parens p, p ] 1155 {- unused 1138 1156 maybeDotParens :: CharParser Env a -> RuleParser a 1139 1157 maybeDotParens p = choice [ dotParens p, p ] … … 1142 1160 option ' ' $ char '.' 1143 1161 parens rule 1162 -} 1144 1163 1145 1164 parseVarName :: RuleParser String … … 1588 1607 -} 1589 1608 1609 {- unused 1590 1610 op_methodPostfix :: [a] 1591 1611 op_methodPostfix = [] 1592 1612 op_namedUnary :: [a] 1593 1613 op_namedUnary = [] 1614 -} 1594 1615 methOps :: a -> [b] 1595 1616 methOps _ = []
