142 |
* data structures. *) |
* data structures. *) |
143 |
fun error r m = |
fun error r m = |
144 |
EM.error source r EM.COMPLAIN m EM.nullErrorBody |
EM.error source r EM.COMPLAIN m EM.nullErrorBody |
145 |
|
fun obsolete r = |
146 |
|
if EnvConfig.getSet StdConfig.warn_obsolete NONE then |
147 |
|
EM.error source r EM.WARN |
148 |
|
"old-style operator (obsolete)" EM.nullErrorBody |
149 |
|
else () |
150 |
|
|
151 |
(* recParse returns a group (not an option). |
(* recParse returns a group (not an option). |
152 |
* This function is used to parse sub-groups. |
* This function is used to parse sub-groups. |
250 |
getS = getS, |
getS = getS, |
251 |
handleEof = handleEof, |
handleEof = handleEof, |
252 |
newline = newline, |
newline = newline, |
253 |
|
obsolete = obsolete, |
254 |
error = error, |
error = error, |
255 |
sync = sync} |
sync = sync} |
256 |
end |
end |
262 |
val (parseResult, _) = |
val (parseResult, _) = |
263 |
CMParse.parse (lookAhead, tokenStream, |
CMParse.parse (lookAhead, tokenStream, |
264 |
fn (s,p1,p2) => error (p1, p2) s, |
fn (s,p1,p2) => error (p1, p2) s, |
265 |
(group, context, error, |
(group, context, obsolete, error, |
266 |
doMember, curlib, ginfo)) |
doMember, curlib, ginfo)) |
267 |
in |
in |
268 |
if !(#anyErrors source) then NONE |
if !(#anyErrors source) then NONE |