diff options
| author | aarne <aarne@cs.chalmers.se> | 2005-12-02 13:13:14 +0000 |
|---|---|---|
| committer | aarne <aarne@cs.chalmers.se> | 2005-12-02 13:13:14 +0000 |
| commit | dea5158cbf1c11d45f2ed91d9975fbc77245e652 (patch) | |
| tree | 751ef7bcaccf58c43354d5b1767d3b3d3d1ac34d /src/GF/Grammar/LookAbs.hs | |
| parent | 50ddb387f4495beb8bd8da2b9726a087a489df68 (diff) | |
floats in GF and GFC (parsing user input still doesn't work)
Diffstat (limited to 'src/GF/Grammar/LookAbs.hs')
| -rw-r--r-- | src/GF/Grammar/LookAbs.hs | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/GF/Grammar/LookAbs.hs b/src/GF/Grammar/LookAbs.hs index f0681934c..0c86ae3e9 100644 --- a/src/GF/Grammar/LookAbs.hs +++ b/src/GF/Grammar/LookAbs.hs @@ -107,6 +107,7 @@ lookupRef gr binds at = case at of Q m f -> lookupFunType gr m f >>= return . vClos Vr i -> maybeErr ("unknown variable" +++ prt at) $ lookup i binds EInt _ -> return valAbsInt + EFloat _ -> return valAbsFloat K _ -> return valAbsString _ -> prtBad "cannot refine with complex term" at --- @@ -116,6 +117,7 @@ refsForType compat gr binds val = [(vr i, (t,False)) | (i,t) <- binds, Ok ty <- [val2exp t], compat val ty] ++ -- integer and string literals [(EInt i, (val,False)) | val == valAbsInt, i <- [0,1,2,5,11,1978]] ++ + [(EFloat i, (val,False)) | val == valAbsFloat, i <- [3.1415926]] ++ [(K s, (val,False)) | val == valAbsString, s <- ["foo", "NN", "x"]] ++ -- functions defined in the current abstract syntax [(qq f, (vClos t,isRecursiveType t)) | (f,t) <- funsForType compat gr val] |
