Конечно, если задумывать интеллектуальный парсер, который будет еще и разбором синтаксиса на правильность заниматься, то это геморройно.
И еще не получится заморачивайся комментариями в стиле /* ... */ - банально не сможешь остледить, если начало и конец за экраном. Хотя комментарии в стиле // можно и попробовать сделать, хотя думаю что ни к чему.
Тоже кстати относится к подсветке слов, если экран не в начале строки.
Для начала нужна будет функция например UCase (или LCase, кому как удобнее), читаешь символы с экрана в буфер, обрабатываешь этой функцией.
Потом еще функция типа IsChar - проверка буква ли это.
Потом цикл по строкам (str-номер строки), внутри него поиск слов в строке в стиле:
flag=0
col=1
beg=0
do {
If flag=0 {
// до сего момента буквы небыло
if IsChar(d(str,col))=true { flag=1; beg=col; } //если символ есть буква, то взведем флаг и запомним начальную позицию
} else {
// была на предыдущих шагах
if IsChar(d(str,col)=false {
flag=0;
if FoundInDict(beg,str)=true { BrushDisp(beg,str) }; // если символ не буква, то ищем в словаре, и если найден, то красим.
}
col++
} wile col<80
Вот как-то так. Писал "по ходу пьессы", потому ни_на_каком языке приближенным к Ц, но общий ход мыслей наверно понятен. Реализацию функции предлагаю в качестве домашнего задания.
