File: VisageSyntax.hs

package info (click to toggle)
uuagc 0.9.56-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 5,764 kB
  • sloc: haskell: 84,340; makefile: 11
file content (97 lines) | stat: -rw-r--r-- 3,245 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97


-- UUAGC 0.9.56 (src-ag/VisageSyntax.ag)
module VisageSyntax where
{-# LINE 2 "src-ag/VisageSyntax.ag" #-}

import CommonTypes
import UU.Pretty
import AbstractSyntax
import VisagePatterns
import Expression
{-# LINE 13 "src-generated/VisageSyntax.hs" #-}
-- VisageChild -------------------------------------------------
{-
   alternatives:
      alternative VChild:
         child name           : {Identifier}
         child tp             : {Type}
         child inh            : {Attributes}
         child syn            : {Attributes}
         child rules          : VisageRules 
-}
data VisageChild = VChild (Identifier) (Type) (Attributes) (Attributes) (VisageRules)
-- VisageChildren ----------------------------------------------
{-
   alternatives:
      alternative Cons:
         child hd             : VisageChild 
         child tl             : VisageChildren 
      alternative Nil:
-}
type VisageChildren = [VisageChild]
-- VisageGrammar -----------------------------------------------
{-
   alternatives:
      alternative VGrammar:
         child nonts          : VisageNonterminals 
-}
data VisageGrammar = VGrammar (VisageNonterminals)
-- VisageNonterminal -------------------------------------------
{-
   alternatives:
      alternative VNonterminal:
         child nt             : {NontermIdent}
         child inh            : {Attributes}
         child syn            : {Attributes}
         child alts           : VisageProductions 
-}
data VisageNonterminal = VNonterminal (NontermIdent) (Attributes) (Attributes) (VisageProductions)
-- VisageNonterminals ------------------------------------------
{-
   alternatives:
      alternative Cons:
         child hd             : VisageNonterminal 
         child tl             : VisageNonterminals 
      alternative Nil:
-}
type VisageNonterminals = [VisageNonterminal]
-- VisageProduction --------------------------------------------
{-
   alternatives:
      alternative VProduction:
         child con            : {ConstructorIdent}
         child children       : VisageChildren 
         child rules          : VisageRules 
         child locrules       : VisageRules 
-}
data VisageProduction = VProduction (ConstructorIdent) (VisageChildren) (VisageRules) (VisageRules)
-- VisageProductions -------------------------------------------
{-
   alternatives:
      alternative Cons:
         child hd             : VisageProduction 
         child tl             : VisageProductions 
      alternative Nil:
-}
type VisageProductions = [VisageProduction]
-- VisageRule --------------------------------------------------
{-
   alternatives:
      alternative VRule:
         child fieldattrs     : {[(Identifier,Identifier)]}
         child attr           : {Identifier}
         child pat            : {VisagePattern}
         child rhs            : {Expression}
         child owrt           : {Bool}
-}
data VisageRule = VRule (([(Identifier,Identifier)])) (Identifier) (VisagePattern) (Expression) (Bool)
-- VisageRules -------------------------------------------------
{-
   alternatives:
      alternative Cons:
         child hd             : VisageRule 
         child tl             : VisageRules 
      alternative Nil:
-}
type VisageRules = [VisageRule]