summaryrefslogtreecommitdiff
path: root/src/GF/Grammar/Grammar.hs
diff options
context:
space:
mode:
authoraarne <unknown>2005-02-05 20:52:31 +0000
committeraarne <unknown>2005-02-05 20:52:31 +0000
commita1e8229910bbd01135d0e71c459872f87785a291 (patch)
tree16612ffa6d974da1fb8e4234f134e5f97c0ad9af /src/GF/Grammar/Grammar.hs
parent45f3b7d5e74dde250a3e0eb92469efc22479cd30 (diff)
cleand up Structural
Diffstat (limited to 'src/GF/Grammar/Grammar.hs')
-rw-r--r--src/GF/Grammar/Grammar.hs4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/GF/Grammar/Grammar.hs b/src/GF/Grammar/Grammar.hs
index d5d59aec3..8ab2356d2 100644
--- a/src/GF/Grammar/Grammar.hs
+++ b/src/GF/Grammar/Grammar.hs
@@ -9,7 +9,7 @@
-- > CVS $Author $
-- > CVS $Revision $
--
--- (Description of the module)
+-- GF source abstract syntax used internally in compilation.
-----------------------------------------------------------------------------
module Grammar where
@@ -91,6 +91,7 @@ data Term =
| Table Term Term -- table type: P => A
| T TInfo [Case] -- table: table {p => c ; ...}
+ | TSh TInfo [Cases] -- table with discjunctive patters (only back end opt)
| V Type [Term] -- table given as course of values: table T [c1 ; ... ; cn]
| S Term Term -- selection: t ! p
@@ -149,6 +150,7 @@ type Equation = ([Patt],Term)
type Labelling = (Label, Term)
type Assign = (Label, (Maybe Type, Term))
type Case = (Patt, Term)
+type Cases = ([Patt], Term)
type LocalDef = (Ident, (Maybe Type, Term))
type Param = (Ident, Context)