diff options
| author | aarne <aarne@cs.chalmers.se> | 2008-03-15 21:02:59 +0000 |
|---|---|---|
| committer | aarne <aarne@cs.chalmers.se> | 2008-03-15 21:02:59 +0000 |
| commit | 6cbb8086c8bcaca638b993a75017b7738cd923c9 (patch) | |
| tree | 5f8584f310d1a40f3ac85cfe17c7bc0eae656e38 /src/GF/Grammar/Grammar.hs | |
| parent | e60237136b0a8285874fd57d38ec3518aa94b162 (diff) | |
putting pattern macros in place (not properly tested yet)
Diffstat (limited to 'src/GF/Grammar/Grammar.hs')
| -rw-r--r-- | src/GF/Grammar/Grammar.hs | 9 |
1 files changed, 7 insertions, 2 deletions
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) |
