
Сообщение от abcdef
Вот максимально упрощенный алгоритм с малым числом зарезервированных слов для обычного pascal'я. Написан в TurboPascal7.1 / Delphi. (исходный текст пропущен через обусификатор)

and (n3<>'program')
and (n3<>'begin')
and (n3<>'end')
and (n3<>'for')
and (n3<>'to')
and (n3<>'downto')
and (n3<>'do')
and (n3<>'while')
and (n3<>'case')
and (n3<>'of')
and (n3<>'repeat')
and (n3<>'until')
and (n3<>'if')
and (n3<>'then')
and (n3<>'and')
and (n3<>'or')
and (n3<>'not')
and (n3<>'in')
and (n3<>'write')
and (n3<>'writeln')
and (n3<>'read')
and (n3<>'readln')
and (n3<>'paramcount')
and (n3<>'paramstr')
and (n3<>'ioresult')
and (n3<>'assign')
and (n3<>'rewrite')
and (n3<>'reset')
and (n3<>'close')
and (n3<>'halt')
and (n3<>'exit')
and (n3<>'break')
and (n3<>'byte')
and (n3<>'boolean')
and (n3<>'integer')
and (n3<>'longint')
and (n3<>'real')
and (n3<>'shortint')
and (n3<>'const')
and (n3<>'type')
and (n3<>'var')
and (n3<>'label')
and (n3<>'array')
and (n3<>'string')
and (n3<>'char')
and (n3<>'text')
and (n3<>'file')
and (n3<>'inc')
and (n3<>'dec')
and (n3<>'false')
and (n3<>'true')
and (n3<>'procedure')
and (n3<>'function')
and (n3<>'str')
and (n3<>'val')
and (n3<>'eof')
and (n3<>'eol')
and (n3<>'else')
and (n3<>'length')
and (n3<>'flush')
and (n3<>'getmem')
and (n3<>'fillchar')
and (n3<>'freemem')
and (n3<>'sizeof')
|
Ужас, кто это придумал?
Не проще ли забить слова в файл, потом загрузить в массив/список и просто сравнивать слова с лементами списка в цикле?