313:
93:
module basic/Booleans exports sorts
Boolean context-free start-symbols Boolean context-free syntax "true" -> Boolean "false" -> Boolean lhs:Boolean "|" rhs:Boolean -> Boolean {left} lhs:Boolean "&" rhs:Boolean ->
94:
Boolean {left} "not" "(" Boolean ")" -> Boolean "(" Boolean ")" -> Boolean context-free priorities
Boolean "&" Boolean -> Boolean > Boolean "|" Boolean -> Boolean
378:
231:
383:
354:
282:
224:
388:
252:
267:
217:
347:
373:
103:
45:
262:
180:
340:
292:
257:
33:
29:
49:
119:
197:
124:
160:
60:
320:
181:
The Syntax
Definition Formalism SDF, Mark van den Brand, Paul Klint, Jurgen Vinju (2007) CWI
41:
175:
32:: that is, a formal way to describe formal languages. It can express the entire range of
324:
78:
Allows modular syntax definitions (grammars can import subgrammars) which enables reuse
367:
240:
56:
52:
25:
136:
109:
312:
90:
The following example defines a simple
Boolean expression syntax in SDF2:
209:
176:
A Quick
Introduction to SDF, Visser, J. & Scheerder, J. (2000) CWI
37:
204:
287:
141:
272:
115:
213:
192:
44:
for SDF specifications are provided as part of the free
328:
98:
Program analysis and transformation systems using SDF
75:
Supports the entire range of context-free languages
348:
225:
8:
355:
341:
232:
218:
210:
379:Extensible syntax programming languages
153:
7:
309:
307:
384:Programming language implementation
14:
205:ASF+SDF Meta Environment homepage
200:computes metrics for SDF grammars
36:. Its current version is SDF3. A
311:
48:. These operate using the SGLR (
1:
327:. You can help Knowledge by
278:Syntax Definition Formalism
18:Syntax Definition Formalism
405:
306:
248:
55:). An SDF parser outputs
104:ASF+SDF Meta Environment
46:ASF+SDF Meta Environment
263:Definite clause grammar
389:Computer science stubs
203:Download SDF from the
193:Grammar Deployment Kit
293:Wirth syntax notation
34:context-free grammars
30:context-free grammars
81:Supports annotations
59:or, in the case of
374:Parser generators
336:
335:
301:
300:
71:Features of SDF:
63:, parse forests.
396:
357:
350:
343:
321:computer science
315:
308:
258:Backus–Naur form
234:
227:
220:
211:
163:
158:
42:parser generator
404:
403:
399:
398:
397:
395:
394:
393:
364:
363:
362:
361:
304:
302:
297:
244:
238:
189:
172:
170:Further reading
167:
166:
159:
155:
150:
133:
100:
95:
88:
69:
28:used to define
12:
11:
5:
402:
400:
392:
391:
386:
381:
376:
366:
365:
360:
359:
352:
345:
337:
334:
333:
316:
299:
298:
296:
295:
290:
285:
280:
275:
270:
265:
260:
255:
249:
246:
245:
239:
237:
236:
229:
222:
214:
208:
207:
201:
195:
188:
187:External links
185:
184:
183:
178:
171:
168:
165:
164:
152:
151:
149:
146:
145:
144:
139:
132:
129:
128:
127:
122:
117:
112:
107:
99:
96:
92:
87:
84:
83:
82:
79:
76:
68:
65:
13:
10:
9:
6:
4:
3:
2:
401:
390:
387:
385:
382:
380:
377:
375:
372:
371:
369:
358:
353:
351:
346:
344:
339:
338:
332:
330:
326:
323:article is a
322:
317:
314:
310:
305:
294:
291:
289:
286:
284:
281:
279:
276:
274:
271:
269:
266:
264:
261:
259:
256:
254:
251:
250:
247:
242:
235:
230:
228:
223:
221:
216:
215:
212:
206:
202:
199:
196:
194:
191:
190:
186:
182:
179:
177:
174:
173:
169:
162:
157:
154:
147:
143:
140:
138:
135:
134:
130:
126:
123:
121:
118:
116:
113:
111:
108:
105:
102:
101:
97:
91:
85:
80:
77:
74:
73:
72:
66:
64:
62:
58:
54:
51:
47:
43:
39:
35:
31:
27:
23:
19:
329:expanding it
318:
303:
277:
156:
114:Spoofax/IMP
106:provides SDF
89:
70:
21:
17:
15:
161:sleconf.org
120:Stratego/XT
61:ambiguities
57:parse trees
50:Scannerless
368:Categories
241:Metasyntax
148:References
125:Strafunski
53:GLR parser
26:metasyntax
243:notations
137:GNU bison
110:RascalMPL
131:See also
86:Examples
67:Overview
198:SdfMetz
24:) is a
38:parser
319:This
288:OMeta
142:ANTLR
325:stub
283:TBNF
273:JSGF
268:EBNF
253:ABNF
40:and
16:The
22:SDF
370::
356:e
349:t
342:v
331:.
233:e
226:t
219:v
20:(
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.