Вниз
Скачать: CL | DM;

опознание одинарной кавычки   Найти похожие ветки 

← →
Wolffgang   (2004-12-13 15:27) [0]

Здраствуйте.
Пишу что-то типа парсинга.
преобразование типа
if a1="q" then a2:=...;

if a1=""" then <- воспринимает как текст

как научить отличать одинарную кавычку?


← →
KSergey ©   (2004-12-13 15:28) [1]

Удвоить ее


← →
Wolffgang   (2004-12-13 15:36) [2]

насчет удвоить я в курсе, фишка в том что это нужно для работы с файлом, где есть и одинарные, и двойные кавычки
т.е. я сначала читаю в массив все знаки, потом обрабатываю;
встречаются и a=", и a="", т. е. простое удвоение не катит, нужно другое представление знака


← →
KSergey ©   (2004-12-13 15:42) [3]

Я нифига не понял. Зачем какое-то другое представление? Одинарные кавычки внутри строки надо УДВАИВАТЬ, количество их, при каждом вхождении, понимаешь?

PS
Так и быть
if a1="""" then


← →
-=SS=- ©   (2004-12-13 15:42) [4]

If a1 = #39 // если a1 : Char; и
if a1[2] = #39 // если a1 : String; где 2 - номер символа


← →
Algol   (2004-12-13 15:42) [5]

Кажется вы неправильно делаете парсинг. Если есть начало литерала заключенного в кавычки, то есть и его конец. Этот конец нужно найти, все двойные кавычки внутри него нужно считать одинарной кавычкой.


← →
KSergey ©   (2004-12-13 15:43) [6]

> внутри строки

Внутри константы-строки, имелось в виду


← →
Wolffgang   (2004-12-13 15:54) [7]

>-=SS=-
именно

спасибо всем. даже не ожидал такого внимания :P



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.025 c
1-1102528136
Руслана
2004-12-08 20:48
2004.12.26
Перестала запускаться Delphi7


1-1102956080
Stot1k
2004-12-13 19:41
2004.12.26
Обработка блоков текста


3-1101362282
karat
2004-11-25 08:58
2004.12.26
Кодировка


3-1101664691
Lexa
2004-11-28 20:58
2004.12.26
Обновление


14-1102600410
Kirill
2004-12-09 16:53
2004.12.26
Пропали компоненты




   Наверх