![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
опознание одинарной кавычки [D6]
Wolffgang © (2004-12-13 15:27:00)Здраствуйте.
Пишу что-то типа парсинга.
преобразование типа
if a1='q' then a2:=...;
if a1=''' then <- воспринимает как текст
как научить отличать одинарную кавычку?
Wolffgang (2004-12-13 15:54:00) [1]>-=SS=-
именно
спасибо всем. даже не ожидал такого внимания :P
KSergey (2004-12-13 15:43:00) [2]> внутри строки
Внутри константы-строки, имелось в виду
KSergey (2004-12-13 15:42:00) [3]Я нифига не понял. Зачем какое-то другое представление? Одинарные кавычки внутри строки надо УДВАИВАТЬ, количество их, при каждом вхождении, понимаешь?
PS
Так и быть
if a1='''' then
-=SS=- (2004-12-13 15:42:00) [4]If a1 = #39 // если a1 : Char; и
if a1[2] = #39 // если a1 : String; где 2 - номер символа
Algol (2004-12-13 15:42:00) [5]Кажется вы неправильно делаете парсинг. Если есть начало литерала заключенного в кавычки, то есть и его конец. Этот конец нужно найти, все двойные кавычки внутринего нужно считать одинарной кавычкой.
Wolffgang (2004-12-13 15:36:00) [6]насчет удвоить я в курсе, фишка в том что это нужно для работы с файлом, где есть и одинарные, и двойные кавычки
т.е. я сначала читаю в массив все знаки, потом обрабатываю;
встречаются и a=', и a='', т. е. простое удвоение не катит, нужно другое представление знака
KSergey (2004-12-13 15:28:00) [7]Удвоить ее