|
|
|||||
Modus ponens
|
Представить пермутации через БНФ
Ниже - набор правил, по которым у меня есть 3 вопроса:
- является ли представленная схема правильным представлением пермутаций флагов регулярного выражения в AS3 (т.е. для любых правильных флагов эта схема даст правильный результат и для любых неправильных флагов эта схема даст неправильный результат)? - является ли данная схема оптимальной (в том смысле, что а можно ли было ее предстaвить меньшим количеством правил)? - не является ли данная схема избыточной (тут мне кажется, что является, но думалка устала ), в том смысле, что в ней существуют два правила которые могут описать одно и то же выражение? Ну, кому нечем заняться на близжайший час /** * RegexpValue -> '/' RegexpCharacters '/' RegexpOptions * | '/' RegexpCharacters '/' * ----------------------------------------------------------------------------- * RegexpOptions -> 'i' NotI * | 'x' NotX * | 'm' NotM * | 'g' NotG * | 's' NotS * ----------------------------------------------------------------------------- * NotI -> 'x' NotXI : NotX -> 'i' NotXI : NotM -> 'i' NotMI : * | 'm' NotMI : | 'm' NotMX : | 'x' NotMX : * | 'g' NotGI : | 'g' NotGX : | 'g' NotGM : * | 's' NotSI : | 's' NotSX : | 's' NotSM : * | e : | e : | e : * ............................................................................. * NotG -> 'i' NotGI : NotS -> 'i' NotSI : * | 'x' NotGX : | 'x' NotSX : * | 'm' NotSM : | 'm' NotSM : * | 's' NotSG : | 'g' NotSG : * | e : | e : * ----------------------------------------------------------------------------- * NotXI -> 'm' NotXIM : NotMI -> 'x' NotXIM : NotGI -> 'x' NotGIX : * | 'g' NotGIX : | 'g' NotGIM : | 's' NotGIS : * | 's' NotSIX : | 's' NotSIM : | 'm' NotGIM : * | e : | e : | e : * ............................................................................. * NotSI -> 'x' NotSIX : NotMX -> 'i' NotXIM : NotGX -> 'i' NotGIX : * | 'g' NotGIS : | 'g' NotGXM : | 'm' NotGXM : * | 'm' NotSIM : | 's' NotSXM : | 's' NotGXS : * | e : | e : | e : * ............................................................................. * NotSX -> 'i' NotSIX : NotGM -> 'i' NotGIM : NotSM -> 'i' NotSIM : * | 'm' NotSXM : | 'x' NotGXM : | 'x' NotSXM : * | 'g' NotGXS : | 's' NotSGM : | 'g' NotSGM : * | e : | e : | e : * ............................................................................. * NotSG -> 'i' NotGIS : * | 'm' NotSGM : * | 'x' NotGXS : * | e : * ----------------------------------------------------------------------------- * NotXIM -> 'g' 's' : NotGIX -> 'm' 's' : NotSIX -> 'g' 'm' : NotGIM -> 's' 'x' * | 's' 'g' : | 's' 'm' : | 'm' 'g' : | 'x' 's' * | 'g' : | 'm' : | 'g' : | 's' * | 's' : | 's' : | 'm' : | 'x' * | e : | e : | e : | e * ............................................................................. * NotSIM -> 'g' 'x' : NotGIS -> 'm' 'x' : NotGXM -> 's' 'i' : NotSXM -> 'g' 'i' * | 'x' 'g' : | 'x' 'm' : | 'i' 's' : | 'i' 'g' * | 'g' : | 'm' : | 's' : | 'g' * | 'x' : | 'x' : | 'i' : | 'i' * | e : | e : | e : | e * ............................................................................. * NotGXS -> 'i' 'm' : NotSGM -> 'i' 'x' : * | 'm' 'i' : | 'x' 'i' : * | 'i' : | 'i' : * | 'm' : | 'x' : * | e : | e : * ----------------------------------------------------------------------------- */ public function parseRegExp(input:String, tree:INode, stack:Stack):String { }
__________________
Hell is the possibility of sanity Последний раз редактировалось wvxvw; 26.06.2011 в 17:18. |
Часовой пояс GMT +4, время: 06:38. |
|
« Предыдущая тема | Следующая тема » |
|
|