Skip to content

WebDSL-Regex-sig.stx

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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
module signatures/WebDSL-Regex-sig

imports
  signatures/WebDSL-Action-sig
  signatures/WebDSL-Lexical-sig
  signatures/WebDSL-DataModel-sig

signature

  sorts
    
    
    
    
    
    
    
    
    
    
     = string
    AtomLiteral = string
    AllChars = string
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    QuotablePatternSymbolLex = string
     = string
    OctalValue = string
    TwoHexValue = string
    FourHexValue = string
    BackReferenceLex = string
    ControlValue = string
    
    RegexID = string

  constructors
    Pattern-Plhdr : Pattern
    RegexExp-Plhdr : RegexExp
    Branche-Plhdr : Branche
    Piece-Plhdr : Piece
    Quantifier-Plhdr : Quantifier
    Atom-Plhdr : Atom
    CharacterClass-Plhdr : CharacterClass
    BracketItem-Plhdr : BracketItem
    BracketLiteralOrBracketCharacter-Plhdr : BracketLiteralOrBracketCharacter
    ClassKeyword-Plhdr : ClassKeyword
    BracketCharacter-Plhdr : BracketCharacter
    AtomCharacter-Plhdr : AtomCharacter
    DoubleQuote-Plhdr : DoubleQuote
    OctalChar-Plhdr : OctalChar
    HexHexChar-Plhdr : HexHexChar
    DecHexChar-Plhdr : DecHexChar
    Tab-Plhdr : Tab
    Newline-Plhdr : Newline
    ReturnAtom-Plhdr : ReturnAtom
    Formfeed-Plhdr : Formfeed
    Alarm-Plhdr : Alarm
    Escape-Plhdr : Escape
    WordChar-Plhdr : WordChar
    NonWordChar-Plhdr : NonWordChar
    WhiteSpaceChar-Plhdr : WhiteSpaceChar
    DigitChar-Plhdr : DigitChar
    NonDigitChar-Plhdr : NonDigitChar
    ControlCharacter-Plhdr : ControlCharacter
    WordBoundry-Plhdr : WordBoundry
    NonWordBoundry-Plhdr : NonWordBoundry
    InputBeginBoundry-Plhdr : InputBeginBoundry
    PrevMatchEndBoundry-Plhdr : PrevMatchEndBoundry
    EndInputBoundry-Plhdr : EndInputBoundry
    EndInputFinalBoundry-Plhdr : EndInputFinalBoundry
    Space-Plhdr : Space
    NonWhiteSpaceChar-Plhdr : NonWhiteSpaceChar
    BackReference-Plhdr : BackReference
    QuotablePatternSymbol-Plhdr : QuotablePatternSymbol
    Quoted-Plhdr : Quoted
    RegexId-Plhdr : RegexId

signature

  constructors
     : RegexExp * Id * list(Exp) -> Exp
    RegexPattern : Pattern -> RegexExp
    SingleBranch : Branche -> Pattern
    TupleBranch : Pattern * Pattern -> Pattern
    Pieces : list(Piece) -> Branche
    SingleAtom : Atom -> Piece
    QuantifiedAtom : Atom * Quantifier -> Piece
    GreedyExactBound : Integer -> Quantifier
    GreedyLowerBound : Integer -> Quantifier
    GreedyLowerUpperBound : Integer * Integer -> Quantifier
    GreedyOnceOrNot : Quantifier
    GreedyZeroOrMore : Quantifier
    GreedyOneOrMore : Quantifier
    ReluctantExactBound : Integer -> Quantifier
    ReluctantLowerBound : Integer -> Quantifier
    ReluctantLowerUpperBound : Integer * Integer -> Quantifier
    ReluctantOnceOrNot : Quantifier
    ReluctantZeroOrMore : Quantifier
    ReluctantOneOrMore : Quantifier
    PossessiveExactBound : Integer -> Quantifier
    PossessiveLowerBound : Integer -> Quantifier
    PossessiveLowerUpperBound : Integer * Integer -> Quantifier
    PossessiveOnceOrNot : Quantifier
    PossessiveZeroOrMore : Quantifier
    PossessiveOneOrMore : Quantifier
    Capture : Pattern -> Atom
    NonCapture : Pattern -> Atom
    PositiveLookahead : Pattern -> Atom
    NegativeLookahead : Pattern -> Atom
    PositiveLookbehind : Pattern -> Atom
    NegativeLookbehind : Pattern -> Atom
    PythonCapture : RegexId * Pattern -> Atom
    RegexCapture : Pattern * RegexId -> Atom
    Empty : Atom
    SingleCharacter : Atom
    LineStart : Atom
    LineEnd : Atom
    CharacterClass : CharacterClass -> Atom
    AtomLiteral : AtomLiteral -> Atom
    AtomCharacter : AtomCharacter -> Atom
    QuotedAtom : AllChars -> Atom
    BracketList : list(BracketItem) -> CharacterClass
    NegatedBracketList : list(BracketItem) -> CharacterClass
    Range : BracketLiteralOrBracketCharacter * BracketLiteralOrBracketCharacter -> BracketItem
    BracketLiteral2BracketLiteralOrBracketCharacter : BracketLiteral -> BracketLiteralOrBracketCharacter
    BracketCharacter2BracketLiteralOrBracketCharacter : BracketCharacter -> BracketLiteralOrBracketCharacter
    Union : CharacterClass -> BracketItem
    BracketLiteral : BracketLiteral -> BracketItem
    BracketCharacter : BracketCharacter -> BracketItem
    LowerClass : ClassKeyword
    UpperClass : ClassKeyword
    ASCIIClass : ClassKeyword
    AlphaClass : ClassKeyword
    DigitClass : ClassKeyword
    AlnumClass : ClassKeyword
    PunctClass : ClassKeyword
    GraphClass : ClassKeyword
    PrintClass : ClassKeyword
    BlankClass : ClassKeyword
    CntrlClass : ClassKeyword
    XDigitClass : ClassKeyword
    WhiteSpace : ClassKeyword
    JavaIsLowerCase : ClassKeyword
    JavaIsUpperCase : ClassKeyword
    JavaIsWhitespace : ClassKeyword
    JavaIsMirrored : ClassKeyword
    GreekBlock : ClassKeyword
    UppercaseLetter : ClassKeyword
    CurrencySymbol : ClassKeyword
    DoubleQuote : DoubleQuote
    OctalChar : OctalValue -> OctalChar
    HexHexChar : TwoHexValue -> HexHexChar
    DecHexChar : FourHexValue -> DecHexChar
    Tab : Tab
    Newline : Newline
    ReturnAtom : ReturnAtom
    Formfeed : Formfeed
    Alarm : Alarm
    Escape : Escape
    WordChar : WordChar
    NonWordChar : NonWordChar
    WhiteSpaceChar : WhiteSpaceChar
    NonWhiteSpaceChar : NonWhiteSpaceChar
    DigitChar : DigitChar
    NonDigitChar : NonDigitChar
    ControlCharacter : ControlValue -> ControlCharacter
    WordBoundry : WordBoundry
    NonWordBoundry : NonWordBoundry
    InputBeginBoundry : InputBeginBoundry
    PrevMatchEndBoundry : PrevMatchEndBoundry
    EndInputBoundry : EndInputBoundry
    EndInputFinalBoundry : EndInputFinalBoundry
    BackReference : BackReferenceLex -> BackReference
    Space : Space
    DoubleQuote2BracketCharacter : DoubleQuote -> BracketCharacter
    OctalChar2BracketCharacter : OctalChar -> BracketCharacter
    HexHexChar2BracketCharacter : HexHexChar -> BracketCharacter
    DecHexChar2BracketCharacter : DecHexChar -> BracketCharacter
    Tab2BracketCharacter : Tab -> BracketCharacter
    Newline2BracketCharacter : Newline -> BracketCharacter
    ReturnAtom2BracketCharacter : ReturnAtom -> BracketCharacter
    Formfeed2BracketCharacter : Formfeed -> BracketCharacter
    Alarm2BracketCharacter : Alarm -> BracketCharacter
    Escape2BracketCharacter : Escape -> BracketCharacter
    WordChar2BracketCharacter : WordChar -> BracketCharacter
    NonWordChar2BracketCharacter : NonWordChar -> BracketCharacter
    WhiteSpaceChar2BracketCharacter : WhiteSpaceChar -> BracketCharacter
    NonWhiteSpaceChar2BracketCharacter : NonWhiteSpaceChar -> BracketCharacter
    DigitChar2BracketCharacter : DigitChar -> BracketCharacter
    NonDigitChar2BracketCharacter : NonDigitChar -> BracketCharacter
    ControlCharacter2BracketCharacter : ControlCharacter -> BracketCharacter
    WordBoundry2BracketCharacter : WordBoundry -> BracketCharacter
    NonWordBoundry2BracketCharacter : NonWordBoundry -> BracketCharacter
    InputBeginBoundry2BracketCharacter : InputBeginBoundry -> BracketCharacter
    PrevMatchEndBoundry2BracketCharacter : PrevMatchEndBoundry -> BracketCharacter
    EndInputBoundry2BracketCharacter : EndInputBoundry -> BracketCharacter
    EndInputFinalBoundry2BracketCharacter : EndInputFinalBoundry -> BracketCharacter
    BackReference2BracketCharacter : BackReference -> BracketCharacter
    Space2BracketCharacter : Space -> BracketCharacter
    DoubleQuote2AtomCharacter : DoubleQuote -> AtomCharacter
    OctalChar2AtomCharacter : OctalChar -> AtomCharacter
    HexHexChar2AtomCharacter : HexHexChar -> AtomCharacter
    DecHexChar2AtomCharacter : DecHexChar -> AtomCharacter
    Tab2AtomCharacter : Tab -> AtomCharacter
    Newline2AtomCharacter : Newline -> AtomCharacter
    ReturnAtom2AtomCharacter : ReturnAtom -> AtomCharacter
    Formfeed2AtomCharacter : Formfeed -> AtomCharacter
    Alarm2AtomCharacter : Alarm -> AtomCharacter
    Escape2AtomCharacter : Escape -> AtomCharacter
    WordChar2AtomCharacter : WordChar -> AtomCharacter
    NonWordChar2AtomCharacter : NonWordChar -> AtomCharacter
    WhiteSpaceChar2AtomCharacter : WhiteSpaceChar -> AtomCharacter
    NonWhiteSpaceChar2AtomCharacter : NonWhiteSpaceChar -> AtomCharacter
    DigitChar2AtomCharacter : DigitChar -> AtomCharacter
    NonDigitChar2AtomCharacter : NonDigitChar -> AtomCharacter
    ControlCharacter2AtomCharacter : ControlCharacter -> AtomCharacter
    WordBoundry2AtomCharacter : WordBoundry -> AtomCharacter
    NonWordBoundry2AtomCharacter : NonWordBoundry -> AtomCharacter
    InputBeginBoundry2AtomCharacter : InputBeginBoundry -> AtomCharacter
    PrevMatchEndBoundry2AtomCharacter : PrevMatchEndBoundry -> AtomCharacter
    EndInputBoundry2AtomCharacter : EndInputBoundry -> AtomCharacter
    EndInputFinalBoundry2AtomCharacter : EndInputFinalBoundry -> AtomCharacter
    BackReference2AtomCharacter : BackReference -> AtomCharacter
    Space2AtomCharacter : Space -> AtomCharacter
    Quoted : QuotablePatternSymbol -> Quoted
    Quoted2AtomCharacter : Quoted -> AtomCharacter
    Quoted2BracketCharacter : Quoted -> BracketCharacter
    QuotablePatternSymbol : QuotablePatternSymbolLex -> QuotablePatternSymbol
    DoubleQuote2QuotablePatternSymbol : DoubleQuote -> QuotablePatternSymbol
    RegexId : RegexID -> RegexId