Changeset 17044

Show
Ignore:
Timestamp:
07/14/07 04:25:29 (17 months ago)
Author:
audreyt
Message:

* Thanks to HPC, continue to eliminate a whole lot of

can't-be-reached toplevel definitions:

Pugs.Monads:

tempVar

Pugs.Parser.Literal:

qInterpolateDelimiterMinimal
(and its associated data constructor, QB_Minimal)

Pugs.Parser.Operator:

optPreSyn, optSymOps, _STATE_START_RUN

Pugs.Parser.Types:

getCurrCharClass

Pugs.Parser:

_dummyParam

Pugs.Prim.Match:

matchFromMR

Pugs.Types:

addNode

Location:
src/Pugs
Files:
8 modified

Legend:

Unmodified
Added
Removed
  • src/Pugs/Monads.hs

    r16602 r17044  
    2020    enterGiven, enterWhen, enterLoop, enterGather, genSymPrim, genSymCC, 
    2121    enterBlock, enterSub, 
    22     evalVal, tempVar, 
     22    evalVal, 
    2323 
    2424    enterFrame, assertFrame, emptyFrames, 
     
    429429                    else return val 
    430430evalVal val = return val 
    431  
    432 tempVar :: Var -> Val -> Eval a -> Eval a 
    433 tempVar var val action = do 
    434     old <- readVar var 
    435     writeVar var val 
    436     rv  <- action 
    437     writeVar var old 
    438     return rv 
    439  
  • src/Pugs/Parser.hs

    r16448 r17044  
    14901490    } 
    14911491    deriving (Show) 
    1492  
    1493 -- XXX - Unused? 
    1494 _dummyParam :: SigParam 
    1495 _dummyParam = MkParam 
    1496     { p_variable    = varNullScalar 
    1497     , p_types       = [] 
    1498     , p_constraints = [] 
    1499     , p_unpacking   = Nothing 
    1500     , p_default     = MkParamDefault Nothing 
    1501     , p_label       = nullID 
    1502     , p_slots       = Map.empty 
    1503     , p_hasAccess   = AccessRO 
    1504     , p_isRef       = False 
    1505     , p_isContext   = False 
    1506     , p_isLazy      = False 
    1507     } 
    15081492 
    15091493ruleSignature :: RuleParser Exp 
     
    20792063        "INC" | "@" <- sigil           -> return (makeVar name) 
    20802064        _ -> do 
    2081             -- Plain and simple variable -- do a lexical check 
    2082             -- First check if it's "known". 
    2083             --   If it is, then simply makeVar. 
    2084             --   If it is not, then it's "free"; add it to the list of freeVars 
    2085             --   for the final check. 
    2086  
     2065            -- Plain and simple variable -- do a lexical check. 
    20872066            state <- get 
    20882067 
     
    20912070                lexPads     = envLexPads env 
    20922071                compPad     = envCompPad env 
    2093                 freeVars    = s_freeVars state 
    20942072                outerVars   = s_outerVars state 
    20952073                knownVars   = s_knownVars state 
     
    21132091                            fail $ "Variable " ++ show var ++ " requires predeclaration or explicit package name" 
    21142092                    return (Var $ toGlobalVar var) 
    2115                     -- put state{ s_freeVars = Set.insert (var, lexPads) freeVars } 
    21162093 
    21172094ruleVar :: RuleParser Exp 
  • src/Pugs/Parser/Literal.hs

    r16328 r17044  
    202202    return (Val $ VStr [c]) 
    203203 
    204 qInterpolateDelimiterMinimal :: Char -> RuleParser Exp 
    205 qInterpolateDelimiterMinimal protectedChar = do 
    206     char '\\' 
    207     c <- oneOf (protectedChar:"\\") 
    208     return (Val $ VStr ['\\',c]) 
    209  
    210204qInterpolateDelimiterBalanced :: Char -> RuleParser Exp 
    211205qInterpolateDelimiterBalanced protectedChar = do 
     
    256250            QB_Single -> try qInterpolateQuoteConstruct 
    257251               <|> (try $ qInterpolateDelimiter $ qfProtectedChar flags) 
    258             QB_Minimal -> try $ qInterpolateDelimiterMinimal $ qfProtectedChar flags 
    259252            QB_Balanced -> try $ qInterpolateDelimiterBalanced $ qfProtectedChar flags 
    260253            QB_No -> mzero 
     
    438431-- qfProtectedChar is the character to be 
    439432--   protected by backslashes, if 
    440 --   qfInterpolateBackslash is Minimal or Single or All 
     433--   qfInterpolateBackslash is Single or All 
    441434data QS_Flag = QS_No | QS_Yes | QS_Protect deriving (Show, Eq, Ord, Typeable) 
    442 data QB_Flag = QB_No | QB_Minimal | QB_Balanced | QB_Single | QB_All deriving (Show, Eq, Ord, Typeable) 
     435data QB_Flag = QB_No | QB_Balanced | QB_Single | QB_All deriving (Show, Eq, Ord, Typeable) 
    443436 
    444437data QFlags = MkQFlags 
     
    449442    , qfInterpolateFunction     :: !Bool 
    450443    , qfInterpolateClosure      :: !Bool 
    451     , qfInterpolateBackslash    :: !QB_Flag -- No, Minimal, Single, All 
     444    , qfInterpolateBackslash    :: !QB_Flag -- No, Single, All 
    452445    , qfProtectedChar           :: !Char 
    453446    , qfP5RegularExpression     :: !Bool 
  • src/Pugs/Parser/Operator.hs

    r16379 r17044  
    310310matchSlurpy _ = False 
    311311 
    312 circumOps, rightSyn, chainOps, matchOps, nonSyn, listSyn, preSyn, optPreSyn, preOps, preSymOps, optSymOps, postOps, optOps, leftOps, rightOps, nonOps, listOps :: Set OpName -> [RuleOperator Exp] 
     312circumOps, rightSyn, chainOps, matchOps, nonSyn, listSyn, preSyn, preOps, preSymOps, postOps, optOps, leftOps, rightOps, nonOps, listOps :: Set OpName -> [RuleOperator Exp] 
    313313preSyn      = ops  $ makeOp1 Prefix "" Syn 
    314 optPreSyn   = ops  $ makeOp1 OptionalPrefix "" Syn 
    315314preOps      = (ops $ makeOp1 Prefix "&prefix:" doApp) . addHyperPrefix 
    316315preSymOps   = (ops $ makeOp1 Prefix "&prefix:" doAppSym) . addHyperPrefix 
    317 optSymOps   = (ops $ makeOp1 OptionalPrefix "&prefix:" doAppSym) . addHyperPrefix 
    318316postOps     = (ops $ makeOp1 Postfix "&postfix:" doApp) . addHyperPostfix 
    319317optOps      = (ops $ makeOp1 OptionalPrefix "&prefix:" doApp) . addHyperPrefix 
     
    396394            App (_Var "&prefix:?") Nothing [App app (Just x) args] 
    397395        _ -> con (sigil ++ name) [x,y] 
    398  
    399 _STATE_START_RUN :: Var 
    400 _STATE_START_RUN = cast "$?STATE_START_RUN" 
    401396 
    402397-- Just for the ".=" rewriting 
  • src/Pugs/Parser/Types.hs

    r16417 r17044  
    88    RuleOperator, RuleOperatorTable, 
    99    getRuleEnv, modifyRuleEnv, putRuleEnv, insertIntoPosition, 
    10     clearDynParsers, enterBracketLevel, getCurrCharClass, charClassOf, 
     10    clearDynParsers, enterBracketLevel, charClassOf, 
    1111    addBlockPad, popClosureTrait, addClosureTrait, 
    1212    -- Alternate Char implementations that keeps track of s_charClass 
     
    7373                | otherwise     = SymClass 
    7474 
     75{- 
     76 
    7577getCurrCharClass :: RuleParser CharClass 
    7678getCurrCharClass = fmap charClassOf (lookAhead anyToken) <|> return SpaceClass 
    7779 
    78 {- 
    7980getPrevCharClass :: RuleParser CharClass 
    8081getPrevCharClass = do 
     
    152153    , s_knownVars     :: !(Map Var MPad)        -- ^ Map from variables to its associated scope 
    153154    , s_outerVars     :: !(Map MPad (Set Var))  -- ^ Map from scopes to vars that must not be declared in it 
    154     , s_freeVars      :: !(Set (Var, LexPads))  -- ^ Set of free vars and the mpadlist to check with 
     155--  , s_freeVars      :: !(Set (Var, LexPads))  -- ^ Set of free vars and the mpadlist to check with 
    155156    , s_protoPad      :: !Pad                   -- ^ Pad that's part of all scopes; used in param init 
    156157    , s_closureTraits :: [TraitBlocks -> TraitBlocks] 
  • src/Pugs/Parser/Util.hs

    r16435 r17044  
    104104    , do rv <- p; return (rv, False) 
    105105    ] 
    106  
    107  
    108 isOperatorName :: String -> Bool 
    109 isOperatorName ('&':name) = any hasOperatorPrefix [name, tail name] 
    110     where 
    111     hasOperatorPrefix :: String -> Bool 
    112     hasOperatorPrefix name = any (`isPrefixOf` name) grammaticalCategories 
    113 isOperatorName _ = False 
    114106 
    115107 
  • src/Pugs/Prim/Match.hs

    r15616 r17044  
    22 
    33module Pugs.Prim.Match ( 
    4     op2Match, rxSplit, rxSplit_n, matchFromMR, pkgParents, pkgParentClasses 
     4    op2Match, rxSplit, rxSplit_n, pkgParents, pkgParentClasses 
    55) where 
    66import Pugs.Internals 
     
    9191    csBytes = encodeUTF8 csChars 
    9292 
    93 matchFromMR :: MatchResult Char -> Val 
    94 matchFromMR mr = VMatch $ mkMatchOk 0 0 (decodeUTF8 all) subsMatch Map.empty 
    95     where 
    96     (all:subs) = elems $ mrSubs mr 
    97     subsMatch = [ VMatch $ mkMatchOk 0 0 (decodeUTF8 sub) [] Map.empty | sub <- subs ] 
    98  
    9993-- Used in op2Match 
    10094not_VRule :: Val -> Bool 
  • src/Pugs/Types.hs

    r16341 r17044  
    1414( 
    1515    Type(..), mkType, anyType, showType, isaType, isaType', deltaType, 
    16     ClassTree, initTree, addNode, 
     16    ClassTree, initTree, 
    1717 
    1818    Cxt(..),  
     
    855855 
    856856{-| 
    857 Add a new \'top-level\' type to the class tree, under @Object@. 
    858 -} 
    859 addNode :: ClassTree -> Type -> ClassTree 
    860 addNode (MkClassTree (Node obj [Node any (Node item ns:rest), junc])) typ = 
    861     MkClassTree (Node obj [Node any (Node item ((Node typ []):ns):rest), junc]) 
    862 addNode _ _ = error "malformed tree" 
    863  
    864 {-| 
    865857Default class tree, containing all built-in types. 
    866858-}