Пишу в flex анализатор для дальнейшего использования с Berkeley YACC (выходной продукт - упрощённый интерпретатор Perl). Помогите, please, придумать регулярные выражения для идентификатора в Perl и для литерала (строка или число, включая все hex-/oct- или научное предствления)! Я пробовал написать, но получилось очень сложно. P.S. Вот что у меня получилось (ну, {identifier} точно не работает) letter [a-zA-Z] digit [0-9] sign [+\-]? special [\`\!\#\%\&\-\=\'\<\/\,\:\[\{\(\?\~\@\$\^\*\+\|\"\>\\\.\;\]\}\)] prefix [\$\@\%] identchar [{letter}{digit}{special}] num_oct {sign}0{digit}+ num_hex {sign}0?x{digit}+ num_dec {sign}[1-9]{digit}+ num_bin {sign}[01]+b /* basic Perl items */ pfx_identifier ({prefix}{identchar}+) nopfx_identifier ([{letter}_]{identchar}+) identifier {pfx_identifier} | {nopfx_identifier} string_literal (\'.*\') | (\".*\") integer_literal {num_oct} | {num_hex} | {num_dec} | {num_bin} float_literal {num_dec}(\.{digit}+) ...