嗨,我正在寫一個簡單的詞法分析器簡單的DCG詞法
:- module(lekser, [lekser/3]).
lekser(Tokens) -->
white_space,
(
(
"{", !, { Token = tkLBrace }
; "}", !, { Token = tkRBrace }
; ")", !, { Token = tkRParen }
; "(", !, { Token = tkLParen }
; ";", !, { Token = tkSColon }
; "\", !, { Token = tkLambda }
; "->", !, { Token = tkImpli }
; "<", !, { Token = tkLT }
; ">", !, { Token = tkGT }
; "<=", !, { Token = tkLeq }
; ">=", !, { Token = tkGeq }
; "=", !, { Token = tkAssgn }
; "\=", !, { Token = tkNeq }
; "+", !, { Token = tkPlus }
; "-", !, { Token = tkMinus }
; "*", !, { Token = tkTimes }
; "div", !, { Token = tkDiv }
; "mod", !, { Token = tkMod }
...
...)).
這裏的代碼開始時喂線輪coudl有人告訴我在哪裏,因爲SWI代碼編輯,他說有一個eror犯的錯誤(甚至只有把後幾個空nelines)Syntax error: String too long (see style_check/1)
... 好吧,我發現了什麼whas的原因,但我不知道爲什麼它的工作原理是這樣的編輯器在一些奇怪的方式解析"\"
,我必須讓它"\""
但後來,我也許它不會是\運營商,而是「如何改變它?」
是的,使用'「\」「'輸入一個雙引號的字符串'」'。 – 2012-04-21 11:42:11