Re[5]: Лексер и токен ^
От: AleksandrN Россия  
Дата: 26.08.22 23:03
Оценка: 88 (2) +1
Здравствуйте, VjcheslavV, Вы писали:

Pzz>>2. Как должны обычные выражения реагировать на начало/конец строки среди всего прочего потока входных байтов?

VV>дак вот и никак должны не реагировать если ^ нету, а \n отдельным токеном точно будет...
VV>... и к чему эти вопросы?

Думаю, можно это сделать двумя отдельными состояниями, в одном из которых будут переходы для того, что должно начинаться в начале строки. И переход в одно состояние должен быть по переводу строки, в другое — по любому другому пробельному символу.

Набросал пример:
Пусть есть алфавит с символами a, b, c, \n и пробелом и правила:
A : aab
B : ^abc

Это можно разобрать таким автоматом:
     a   b   c   ' '   \n
---+---------------------------
0  | 3            1     0
1  | 2            1     0
2  | 4
3  | 4   5
4  |     6
5  |         7
6* |              1     0
7* |              1     0
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.