Привет, я пишу простой лексер
:- 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 }
...
...)).
Вот начало кода, когда кто-то может сказать мне, где я допустил ошибку, потому что редактор кода swi сообщает об ошибке (даже после добавления всего нескольких пустых строк) Syntax error: String too long (see style_check/1)
... Хорошо, я выяснил, в чем причина, но я не знаю, почему это работает так, как этот редактор каким-то странным образом анализирует "\"
, и я должен сделать это "\""
, но тогда, возможно, это будет не \ operator, а \ "как изменить это?
"\""
, вы вводите ровно строку с двойными кавычками"
. - person Diego Sevilla   schedule 21.04.2012