From 6cbb8086c8bcaca638b993a75017b7738cd923c9 Mon Sep 17 00:00:00 2001 From: aarne Date: Sat, 15 Mar 2008 21:02:59 +0000 Subject: putting pattern macros in place (not properly tested yet) --- src/GF/Grammar/Grammar.hs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src/GF/Grammar/Grammar.hs') diff --git a/src/GF/Grammar/Grammar.hs b/src/GF/Grammar/Grammar.hs index 45b3da84b..95fdce611 100644 --- a/src/GF/Grammar/Grammar.hs +++ b/src/GF/Grammar/Grammar.hs @@ -158,6 +158,9 @@ data Term = | C Term Term -- ^ concatenation: @s ++ t@ | Glue Term Term -- ^ agglutination: @s + t@ + | EPatt Patt -- ^ pattern (in macro definition): # p + | EPattType Term -- ^ pattern type: pattern T + | FV [Term] -- ^ alternatives in free variation: @variants { s ; ... }@ | Alts (Term, [(Term, Term)]) -- ^ alternatives by prefix: @pre {t ; s\/c ; ...}@ @@ -190,8 +193,10 @@ data Patt = | PAlt Patt Patt -- ^ disjunctive pattern: p1 | p2 | PSeq Patt Patt -- ^ sequence of token parts: p + q | PRep Patt -- ^ repetition of token part: p* - | PChar -- ^ string of length one - | PChars [Char] -- ^ character list + | PChar -- ^ string of length one: ? + | PChars [Char] -- ^ character list: ["aeiou"] + | PMacro Ident -- #p + | PM Ident Ident -- #m.p deriving (Read, Show, Eq, Ord) -- cgit v1.2.3