Re: Нужен хелп оп Bison
От: nen777w  
Дата: 21.06.11 16:11
Оценка:
Здравствуйте, monitooa, Вы писали:

M>Помогите на бизоне сделать простенький парсер буквально по 2-м условиям.


M>А. Если предложение содержит 3 точные последовательности в произвольном порядке:

M> последовательность №1 "This document content"
M> последовательность №2 "one"
M> последовательность №3 "two"
M> -----------------
M> Если есть совпадение, то возвращается результат "1"

M>Б. Если предложение содержит 3 точные последовательности с заданными масками в заданном порядке:

M> последовательность №1 "This doc*"
M> последовательность №2 "co*nt"
M> последовательность №3 "t?o"
M> -----------------
M> Если есть совпадение, то возвращается результат "2"

M> Сам никогда с бизоном не работал, а времени вникать в тонкости бизона совсем нету!

M> Спасобо!


root: sequences ;

sequences: /*empty*/
         | any_sequence sequences
         ;

any_sequence:  seqence_comb { return 1; }
            |  masked_seqence_comb { return 2; }
            ;


seqence_comb: tSEQ tSEQ tSEQ 
            ;

masked_seqence_comb: tMSK_SEQ tMSK_SEQ tMSK_SEQ 
                   ;


Что то вроде того. Если Я правильно понял.
Определять что у тебя есть tSEQ а что tMSK_SEQ нужно будет научить лексер FLex т.е..
Вот только что ты будешь делать если они будут идти в перемешку?

p.s.
2Moderators: сделайте пожалуста наконец-то возможность редактирования сообщений.
Это ж невозможно так 3-й раз горхать меседж что бы что то исправить.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.