Я пишу программу, которая позволяет команду (в основном строку до новой строки), содержащую несколько параметров, разделенных пробелами.Flex/Bison: общий способ tokenize ключевых слов, разделенных пробелами/вкладками
Like: arg1 arg2 arg3 arg4 (\n)
я могу использовать сам регулярное выражение для достижения этой цели, как показано ниже:
arg1[ \t]+ {return T_ARG1;}
arg2[ \t]+ {return T_ARG2;}
arg3[ \t]+ {return T_ARG3;}
arg4[ \t]+ {return T_ARG4;}
Но я не уверен, что это лучший способ сделать это, как это? Можете ли вы предложить общий способ использования Flex?
Примечание: Я также разрешаю команду, введенную через несколько строк, игнорируя шаблон [\\ n].
Являются ли аргументы действительно ключевыми словами? Или это произвольные пробельные разделенные слова? Другими словами, пытаетесь ли вы распознать набор фиксированных слов в любом порядке или создать вектор аргументов в том порядке, в котором они были введены? – rici
Да, я пытаюсь распознать набор фиксированных слов в некотором порядке. –
Я пытаюсь создать команду (например, команду linux), используя flex и bison. Заказ: arg1 arg2 arg3 arg4 Примечание: означает минимальное пространство. –