summaryrefslogtreecommitdiff
path: root/src/compiler/GF/Compile/GrammarToPGF.hs
diff options
context:
space:
mode:
authorkrasimir <krasimir@chalmers.se>2010-03-18 20:21:57 +0000
committerkrasimir <krasimir@chalmers.se>2010-03-18 20:21:57 +0000
commit973a0cacb7c2f68dfed29ff0dc355fdcebfef3ae (patch)
tree58dea973e689443e4ede77e5390add85eeaf2c13 /src/compiler/GF/Compile/GrammarToPGF.hs
parent985bb550c0b0c02b5e9c29b53e4f19d859b58dc2 (diff)
pattern @ should be propagated to PGF
Diffstat (limited to 'src/compiler/GF/Compile/GrammarToPGF.hs')
-rw-r--r--src/compiler/GF/Compile/GrammarToPGF.hs4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/compiler/GF/Compile/GrammarToPGF.hs b/src/compiler/GF/Compile/GrammarToPGF.hs
index 13bd1a27b..3db308f68 100644
--- a/src/compiler/GF/Compile/GrammarToPGF.hs
+++ b/src/compiler/GF/Compile/GrammarToPGF.hs
@@ -141,10 +141,14 @@ mkPatt scope p =
A.PP _ c ps -> let (scope',ps') = mapAccumL mkPatt scope ps
in (scope',C.PApp (i2i c) ps')
A.PV x -> (x:scope,C.PVar (i2i x))
+ A.PAs x p -> let (scope',p') = mkPatt scope p
+ in (x:scope',C.PAs (i2i x) p')
A.PW -> ( scope,C.PWild)
A.PInt i -> ( scope,C.PLit (C.LInt (fromIntegral i)))
A.PFloat f -> ( scope,C.PLit (C.LFlt f))
A.PString s -> ( scope,C.PLit (C.LStr s))
+ A.PImplArg p-> let (scope',p') = mkPatt scope p
+ in (scope',C.PImplArg p')
A.PTilde t -> ( scope,C.PTilde (mkExp scope t))