184:) is its built-in algorithm for automatically recovering from lexical and syntactic errors, by deleting extra characters or tokens, inserting missing characters or tokens, permuting characters or tokens, etc. This algorithm has a default behaviour that can be modified by providing a custom set of recovery rules adapted to the language for which the lexer and parser are built.
159:
The current version of SYNTAX (version 6.0 beta) includes also parser generators for other formalisms, used for natural language processing as well as bio-informatics. These formalisms are context-sensitive formalisms
204:. See also Pierre Boullier and Knut Ripken. Building an Ada compiler following meta-compilation methods. In Séminaires Langages et Traducteurs 1978-1981, pages 99-140. INRIA, Rocquencourt, France, 1981.
151:. Parsers generated by SYNTAX include powerful error recovery mechanisms, and allow the execution of semantic actions and attribute evaluation on the abstract tree or on the shared parse forest.
164:, RCG or formalisms that rely on context-free grammars and are extended thanks to attribute evaluation, in particular for natural language processing (
200:
The first tool-translator for the ADA language has been developed with SYNTAX by Pierre
Boullier and others, as recalled in this
139:, RLR as well as general context-free grammars. The deterministic version has been used in operational contexts (e.g.,
44:
148:
300:
165:
140:
281:
Paper on the construction of compilers using SYNTAX and TRAIAN (Compiler
Construction'02 Conference)
295:
280:
20:
161:
201:
104:
8:
96:
88:
54:
107:(CFGs) as well as some classes of contextual grammars. It has been developed at
275:
177:
243:
70:
289:
147:. The non-deterministic features include an Earley parser generator used for
116:
257:
A New Error Repair and
Recovery Scheme for Lexical and Syntactic Analysis
136:
32:
132:
131:
SYNTAX handles most classes of deterministic (unambiguous) grammars (
144:
242:
E.g., in the SxLFG parser, whose first version is described in
230:
120:
115:
for several decades, mostly by Pierre
Boullier, but has become
112:
100:
59:
103:) (both deterministic and non-deterministic) for all kinds of
222:
108:
37:
181:
218:
259:. Science of Computer Programming 9(3): 271-286 (1987).
226:
214:
119:since 2007 only. SYNTAX is distributed under the
287:
143:), and is currently used both in the domain of
225:, in particular for the development of
126:
288:
176:A nice feature of SYNTAX (compared to
154:
255:Pierre Boullier and Martin Jourdan.
13:
14:
312:
266:
171:
249:
236:
207:
194:
1:
187:
95:is a system used to generate
7:
149:natural language processing
10:
317:
202:page on the history of ADA
18:
16:Compiler-generation system
99:and syntactic analyzers (
65:
53:
43:
31:
21:Syntax (disambiguation)
105:context-free grammars
127:Context-free parsing
19:For other uses, see
28:
155:Contextual parsing
26:
301:Parser generators
85:
84:
308:
274:
260:
253:
247:
240:
234:
211:
205:
198:
89:computer science
81:
78:
76:
74:
72:
29:
25:
316:
315:
311:
310:
309:
307:
306:
305:
296:Compiling tools
286:
285:
276:SYNTAX web site
272:
269:
264:
263:
254:
250:
241:
237:
212:
208:
199:
195:
190:
174:
157:
129:
69:
24:
17:
12:
11:
5:
314:
304:
303:
298:
284:
283:
278:
268:
267:External links
265:
262:
261:
248:
235:
206:
192:
191:
189:
186:
173:
172:Error recovery
170:
156:
153:
128:
125:
83:
82:
67:
63:
62:
57:
51:
50:
47:
41:
40:
35:
15:
9:
6:
4:
3:
2:
313:
302:
299:
297:
294:
293:
291:
282:
279:
277:
271:
270:
258:
252:
245:
239:
232:
228:
224:
220:
216:
213:E.g., by the
210:
203:
197:
193:
185:
183:
179:
169:
167:
163:
152:
150:
146:
142:
138:
134:
124:
122:
118:
117:free software
114:
110:
106:
102:
98:
94:
90:
80:
68:
64:
61:
58:
56:
52:
48:
46:
42:
39:
36:
34:
30:
22:
256:
251:
238:
209:
196:
175:
158:
130:
92:
86:
33:Developer(s)
273:(in French)
145:compilation
290:Categories
244:this paper
188:References
221:teams at
123:license.
77:/projects
71:sourcesup
49:Generator
73:.renater
219:CONVECS
101:parsers
97:lexical
79:/syntax
66:Website
55:License
231:Traian
121:CeCILL
113:France
93:SYNTAX
60:CeCILL
27:SYNTAX
223:INRIA
109:INRIA
38:INRIA
229:and
227:CADP
217:and
215:VASY
182:Yacc
137:LALR
45:Type
178:Lex
168:).
166:LFG
162:TAG
141:Ada
111:in
87:In
75:.fr
292::
135:,
133:LR
91:,
246:.
233:.
180:/
160:(
23:.
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.