Napisałem prosty parser składniowy do plików tekstowych w kodowaniu UTF-8 (text_syntax.cx).
Jest on zastosowany do parsowania pliku konfiguracyjnego serwera HTTP OUX/C+ web-srv.
Jednak parser ma pewną niedoskonałość, zaznaczam, że jest on dopiero w początkowej wersji.
Składnia pliku konfiguracyjnego jest tutaj: conf.syntax.
I w tej składni są wyrażenia takie jak:
path entity
@ text
path
"/", path entity
path quoted
"\"", path, "\""
W powyższym przykładzie nigdy nie zajdzie path quoted
, ponieważ parser przejdzie do path
i odczyta tekst razem ze znakiem cudzysłowu.
Jaką konstrukcję dodać, może zamiast @ text
, by to rozwiązać? Jak to jest rozwiązane w innych parserach? Szukałem na przykładzie bison, ale nie znalazłem.
Zaznaczam, że to nie są teoretyczne rozważania, ponieważ parser już funkcjonuje praktycznie w podanym projekcie (oczywiście bez działającego path quoted
).