From 1e8699d159dc510c300a5657e1127400030a1c10 Mon Sep 17 00:00:00 2001 From: bjorn Date: Fri, 3 Oct 2008 07:35:26 +0000 Subject: Added | syntax for variants. --- src/GF/Source/ParGF.y | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'src/GF/Source/ParGF.y') diff --git a/src/GF/Source/ParGF.y b/src/GF/Source/ParGF.y index 397c57eb2..3a52b0cb6 100644 --- a/src/GF/Source/ParGF.y +++ b/src/GF/Source/ParGF.y @@ -428,13 +428,18 @@ Exp3 : Exp3 '!' Exp4 { ESelect $1 $3 } | Exp4 { $1 } +Exp2 :: { Exp } +Exp2 : Exp3 '+' Exp2 { EGlue $1 $3 } + | Exp3 { $1 } + + Exp1 :: { Exp } -Exp1 : Exp2 '+' Exp1 { EGlue $1 $3 } +Exp1 : Exp2 '++' Exp1 { EConcat $1 $3 } | Exp2 { $1 } Exp :: { Exp } -Exp : Exp1 '++' Exp { EConcat $1 $3 } +Exp : Exp1 '|' Exp { EVariant $1 $3 } | '\\' ListBind '->' Exp { EAbstr $2 $4 } | '\\' '\\' ListBind '=>' Exp { ECTable $3 $5 } | Decl '->' Exp { EProd $1 $3 } @@ -447,10 +452,6 @@ Exp : Exp1 '++' Exp { EConcat $1 $3 } | Exp1 { $1 } -Exp2 :: { Exp } -Exp2 : Exp3 { $1 } - - ListExp :: { [Exp] } ListExp : {- empty -} { [] } | Exp { (:[]) $1 } -- cgit v1.2.3