Changeset 12317 for src/Pugs/Prim/Param.hs
- Timestamp:
- 08/16/06 19:28:24 (2 years ago)
- Files:
-
- 1 modified
-
src/Pugs/Prim/Param.hs (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Pugs/Prim/Param.hs
r5843 r12317 5 5 ) where 6 6 import Pugs.AST 7 import Pugs.Internals 7 8 8 9 doFoldParam :: String -> String -> [Param] -> [Param] 9 10 doFoldParam cxt [] [] = [(buildParam cxt "" "$?1" (Val VUndef)) { isLValue = False }] 10 doFoldParam cxt [] (p:ps) = ((buildParam cxt "" (strInc $ paramName p) (Val VUndef)) { isLValue = False }:p:ps)11 doFoldParam cxt [] (p:ps) = ((buildParam cxt "" (strInc . cast $ paramName p) (Val VUndef)) { isLValue = False }:p:ps) 11 12 doFoldParam cxt (s:name) ps = ((buildParam cxt [s] name (Val VUndef)) { isLValue = False } : ps) 12 13 … … 23 24 = \ps -> ((buildParam typ "?" "$?1" (Val VUndef)) { isLValue = True }:ps) 24 25 | (('r':'w':'!':typ), "=$_") <- break (== '=') str 25 = \ps -> ((buildParam typ "?" "$?1" ( Var "$_")) { isLValue = True }:ps)26 = \ps -> ((buildParam typ "?" "$?1" (_Var "$_")) { isLValue = True }:ps) 26 27 | (typ, "=$_") <- break (== '=') str 27 = \ps -> ((buildParam typ "?" "$?1" ( Var "$_")) { isLValue = False }:ps)28 = \ps -> ((buildParam typ "?" "$?1" (_Var "$_")) { isLValue = False }:ps) 28 29 | (typ, ('=':def)) <- break (== '=') str 29 30 = let readVal "Num" = Val . VNum . read
