/**************************
Assignment Statment Module
**************************/
assgnStmnt(Clist) :-
Clist = [H|T], id(H), conc(Exp, [';'|AnotherStmnt], T), Exp = [Op|Rem], Op = '=', expr(Rem), assgnStmnt(AnotherStmnt),!
;
Clist = [], !.
このコードは、コンパイラーで代入ステートメントを解析するためのものです。しかし、私はユーザーに彼のコードの構文エラーがどこにあるかを出力する必要があります。
のように:彼が入力した場合:x = x + 1、私はその期待された';'を出力したい 見つかりません。
どうやってやるの ???