From cd34ff07d2a39b1769a9200a9458f427864e26a7 Mon Sep 17 00:00:00 2001 From: sheet <1187489524@qq.com> Date: Sat, 5 Nov 2022 02:59:11 +0000 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=96=87=E4=BB=B6=E8=87=B3?= =?UTF-8?q?=20''?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 3 + .idea/vcs.xml | 6 + Lex.iml | 20 + README.assets/dfa.jpg | Bin 0 -> 79624 bytes README.assets/dtran.jpg | Bin 0 -> 101373 bytes README.assets/fa-edge.jpg | Bin 0 -> 55580 bytes README.assets/fa-node.jpg | Bin 0 -> 37937 bytes README.assets/fa-state.jpg | Bin 0 -> 56238 bytes README.assets/fa.jpg | Bin 0 -> 99576 bytes README.assets/nfa.jpg | Bin 0 -> 28039 bytes README.assets/token.jpg | Bin 0 -> 56799 bytes README.md | 111 +++- pom.xml | 33 ++ .../java/exceptions/NotMatchingException.java | 23 + .../UnexpectedRegularExprRuleException.java | 24 + src/main/java/finiteAutomata/DFA_Handler.java | 474 ++++++++++++++++ .../java/finiteAutomata/FA_Controller.java | 50 ++ src/main/java/finiteAutomata/NFA_Handler.java | 305 ++++++++++ .../RegularExpressionHandler.java | 524 ++++++++++++++++++ src/main/java/finiteAutomata/entity/DFA.java | 45 ++ .../java/finiteAutomata/entity/DTran.java | 74 +++ src/main/java/finiteAutomata/entity/FA.java | 70 +++ .../java/finiteAutomata/entity/FA_Edge.java | 41 ++ .../java/finiteAutomata/entity/FA_Node.java | 28 + .../java/finiteAutomata/entity/FA_State.java | 44 ++ src/main/java/finiteAutomata/entity/NFA.java | 17 + src/main/java/lex/LexicalAnalyzer.java | 41 ++ src/main/java/lex/Main.java | 43 ++ .../java/lex/UserInteractionController.java | 90 +++ src/main/java/lex/entity/Token.java | 40 ++ .../java/lex/generator/LexInputHandler.java | 54 ++ .../java/lex/generator/LexInputReader.java | 36 ++ .../utilties/ClosureRecursionHandler.java | 55 ++ .../DFA_StatePatternMappingController.java | 31 ++ src/main/java/utilties/ExtendedMark.java | 10 + src/main/java/utilties/FA_NodeComparator.java | 42 ++ src/main/java/utilties/FA_NodesList.java | 33 ++ .../java/utilties/FA_StateComparator.java | 20 + .../java/utilties/FA_StateIDController.java | 26 + src/main/java/utilties/FA_StatesList.java | 40 ++ .../NFA_StatePatternMappingController.java | 31 ++ .../utilties/SquareBracketMarkInnerType.java | 12 + src/main/resources/log4j.properties | 8 + src/main/resources/re_backup | 13 + src/main/resources/regular_expression.l | 11 + .../java/finiteAutomata/DFA_HandlerTest.java | 196 +++++++ .../finiteAutomata/FA_ControllerTest.java | 64 +++ .../java/finiteAutomata/NFA_HandlerTest.java | 59 ++ .../RegularExpressionHandlerTest.java | 219 ++++++++ .../java/finiteAutomata/entity/DFATest.java | 110 ++++ 50 files changed, 3174 insertions(+), 2 deletions(-) create mode 100644 .gitignore create mode 100644 .idea/vcs.xml create mode 100644 Lex.iml create mode 100644 README.assets/dfa.jpg create mode 100644 README.assets/dtran.jpg create mode 100644 README.assets/fa-edge.jpg create mode 100644 README.assets/fa-node.jpg create mode 100644 README.assets/fa-state.jpg create mode 100644 README.assets/fa.jpg create mode 100644 README.assets/nfa.jpg create mode 100644 README.assets/token.jpg create mode 100644 pom.xml create mode 100644 src/main/java/exceptions/NotMatchingException.java create mode 100644 src/main/java/exceptions/UnexpectedRegularExprRuleException.java create mode 100644 src/main/java/finiteAutomata/DFA_Handler.java create mode 100644 src/main/java/finiteAutomata/FA_Controller.java create mode 100644 src/main/java/finiteAutomata/NFA_Handler.java create mode 100644 src/main/java/finiteAutomata/RegularExpressionHandler.java create mode 100644 src/main/java/finiteAutomata/entity/DFA.java create mode 100644 src/main/java/finiteAutomata/entity/DTran.java create mode 100644 src/main/java/finiteAutomata/entity/FA.java create mode 100644 src/main/java/finiteAutomata/entity/FA_Edge.java create mode 100644 src/main/java/finiteAutomata/entity/FA_Node.java create mode 100644 src/main/java/finiteAutomata/entity/FA_State.java create mode 100644 src/main/java/finiteAutomata/entity/NFA.java create mode 100644 src/main/java/lex/LexicalAnalyzer.java create mode 100644 src/main/java/lex/Main.java create mode 100644 src/main/java/lex/UserInteractionController.java create mode 100644 src/main/java/lex/entity/Token.java create mode 100644 src/main/java/lex/generator/LexInputHandler.java create mode 100644 src/main/java/lex/generator/LexInputReader.java create mode 100644 src/main/java/utilties/ClosureRecursionHandler.java create mode 100644 src/main/java/utilties/DFA_StatePatternMappingController.java create mode 100644 src/main/java/utilties/ExtendedMark.java create mode 100644 src/main/java/utilties/FA_NodeComparator.java create mode 100644 src/main/java/utilties/FA_NodesList.java create mode 100644 src/main/java/utilties/FA_StateComparator.java create mode 100644 src/main/java/utilties/FA_StateIDController.java create mode 100644 src/main/java/utilties/FA_StatesList.java create mode 100644 src/main/java/utilties/NFA_StatePatternMappingController.java create mode 100644 src/main/java/utilties/SquareBracketMarkInnerType.java create mode 100644 src/main/resources/log4j.properties create mode 100644 src/main/resources/re_backup create mode 100644 src/main/resources/regular_expression.l create mode 100644 src/test/java/finiteAutomata/DFA_HandlerTest.java create mode 100644 src/test/java/finiteAutomata/FA_ControllerTest.java create mode 100644 src/test/java/finiteAutomata/NFA_HandlerTest.java create mode 100644 src/test/java/finiteAutomata/RegularExpressionHandlerTest.java create mode 100644 src/test/java/finiteAutomata/entity/DFATest.java diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..32cd9c9 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +target/* + +.idea/* diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Lex.iml b/Lex.iml new file mode 100644 index 0000000..72e51be --- /dev/null +++ b/Lex.iml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/README.assets/dfa.jpg b/README.assets/dfa.jpg new file mode 100644 index 0000000000000000000000000000000000000000..92706681fc3d333b280ccfe8f0685b03839ab6e1 GIT binary patch literal 79624 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 p1kQdY4W!==zR_5oS^kg*`yEg#4n3o^dH33f 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 literal 0 HcmV?d00001 diff --git a/README.assets/fa-edge.jpg b/README.assets/fa-edge.jpg new file mode 100644 index 0000000000000000000000000000000000000000..be98310588f77f5d369026059dc07e588f7c0cc4 GIT binary patch literal 55580 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�xV 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 `QxMR%6 z2CnU!D)ORsSXc1@rN#W>|{EwSBHR zh`RsHhaYKwMX)57Vtx{|IQa~9()v*6`eqM6mhE^^mtFL&2fPI8>Rj0f7FxCwMUNZu zmsYpO+rOb!dR?x+6a#)hR{~uToUz-C<>NJ{$sbx+kWkaB+Qy3(*NUk9gCTtSTb49S z9Nkws$_#myG)L?#&UV7S$eBt!EZ$%bl^SX+Djl_zl9gdW9kE$$J~g9u^Bkf2>r2RP zArDfZ0+tE)zSD+de1?)sk3*3O?ZC%sxQ~zE=C`cRXoLr!X=p z?z;?wv84fVK+t~i0e@zjRJdaETYxZ`)vUeKoM@CH|07||;~))s_rWPIm6R7)*4iV5 z$h3CtaXqhN9ipHoHfPpTJ0Jv)^xOgy^)ssyWAa!2rr42oIbqxp2e77B&bWUi`{Ovh z(@OxM3*F|rW{+nf>WAEq@OewHSov3|-|{m$mXNQ;S%3h=Dw${7=-j;f{~7KFCmTJv z9#^JJ7eE+``p8FBnlmgogh6yKGASNfs>fGBmuf_ibTj>_i$!}hnJ4k20@LZi8o3;DBC{T>?`tBwFRLP1PU*4ek1r>Bw}wg6}gA9 z8REeTUPt$l8r$uFFf{^(N3}(FmX&Y&W&QISbe|9(IsPigj;94N___rE;U>ZXTA;~EQf_6zGJ|9myA#>Ej!4AbE4-G=TW8<`9_e2 z1#LYd6tE_3YD2vk%iBzyp*G`Te?7EI>a=C0=&k?kE#fTA_EL^~gyK{{M`fTs-!!qh z3Xv0SHHV4UHL%N!&<`B})G?K(8^#)#i!RA2s|cZaj5`c&=V?2@F|tyUzV836n8sAwPsZ4aJ>o_Fa@n2{&Lk(Z3N=?)s#LoN$ASZ&Ja~Wru-f!BaPUcym zb(1+`s$j&1-a_qcxE)J`W5OIE?LI}=Hl-ySM7d0bo<0(EnYc5VM_7X6DxhNsv+u4S zEN_%asgj9;M0BMoS^>jVXjaYiWlJtNIQPwV&*dW9564W-q|h3+&1?q`KVS`z*Yt|| zr_<($F&6E|#^J_afEAa|-`<=e#WL}YVE9dC+d1j5zUI;N_;74+-4W1j6&+rph_&qd zL;o*s!V1%9Jg(i4N%Efg%Cm)T#&WDfepvtM4XOPL;dMcO*7fJ2f0ZBO9YYwB6gSPI z(r<}7(AhR1f4N!gJCi2PYML|?l@gPAR*WqZf%T(n5~pVK_ubeFip|zdo&OjW$_S?7 zN+oX=xR^hxpEWuEEYBjkAm#z;0idjxtl~J!uD^8vF_2pv?uu$ZP%+P%;ZgaosGoh| zZaH)yvY4<3>Yh=1sIf5H9U~#^hDw_>8{2=Cator$g7tp1r)CpKro2#7c}qftO-{cS zX(U3=k`2{+B0ZkSKFCxOX07TF(9lsH<*7l`53}9uVmk}2@M+o|=B}_c`x)>+3`av) z$z#H^gca&LjHgT|Dstt8;j&XbvgwOO^#6{T#-(zq#4>lh=mW<5=z?Zd+ zHH@NcdWQWDofwNSeRoU~2DJVwWOBH&)#L8V)Bwt_$m zVGrlZm`Lv@#uJz@tH+VdSdb3`D$Yt#)|zCCVg5~q(Ua)cVDKeTV-QO5=18i+uK zSPUxz6GQ~pW6t)%_i{8$yczn&x(9*ius;W8@8*5Uy0ldk9mf79*u&HI1xTwC@Gw=) zb03d7k_Jse^YSCKb?L(2aJga%eY0E0!*{8y*As|vad;uu&slrby5KNU@ zkN#~e&ix&KbDON~H7*4@ERxZ**>{G-FEQgwT@q~d1U4JL;l-b*-`B|>C;Cej8)2k+ zck^|IAvR5Xg?eX=Orm#PhtY(OJpp7hRHGxCWUz?r7n7?Rq^y>UDNyMe#$g6Y7by+3 z(CLtB1k1J~^TVQS_V>k?9yDNiJ3IFtLhpUw>Z2$%4jz&FKH|$$>4dVM*u8CkXqNx$i#M4x4m6o zYGjm&1NYL7BG9ihDTXOLEL}XH@|_~VPAWx*zeqho!Zrk0m9gZ~!BJmIf3ZS|t0XBA zm&p2~CSdO9{{cP;|KlhA#aN=@!k=<@bU599U^6@VAhAT303SMuKXUa{H?l2H6sw~z zrVn8ruWu7$yMqWu6J>gGpzMO9QOf`+_vLcZOx;y^xdVuHXUoY z$G)J>s-xf3qQRnxCOQkyF#YTo07$mX%t}$WGajtoGMUS(aBo~_<&I%^Db5t0{MGA+ z*5B2$VBqnyrDWEXoqI%*qzPBZ_^g@)2%M1^vMwzNcg;FtaZwvdOFINUllOiip&kJS zx8`$wU+JI6fbUbKd!Ed9r^)fNwm#Am*R8DRRIX3$DqLCLxuGS)ykpffyEw|XX%ppV zO=JuceUKHGShJnh8#b0SeNkl^TQ0}IIBU5p+IV1L5s(^Pa8merl&;MXaR6avv}FH+ z-itQ(4l~Wuo;bc)&is0t?C)xR&fRZDxdvZF^VOLmlTa7DV)?7wKE-hbf;-0|19Hn} zGnk|I=0_mu+kM6_rK7MnzhqmtztBFJg4F89^-A=?1DCc?)> zIxKpWZuOl5$K((6WNTPB^I1GKpesIiJM`z%tml~~*>q0t!o|YI*-nXjcVW7<9+l; zsy#=x|C`sQ7kuvBK!7d+_a6aupJNF_>D5+l3d{4$2|Si4|0|`zfjkBhGx3JkR5JjD z`vmpY=Ai-QfU$~@JI?N;HY=dcTMks3G2{tJw1ZWqRf|{iH+kFQ$8=yceAMYE&xb4}D3QDjWQc1~LHZ-@MDi7_S8p=G2 zUu(avd8?b$itc<1S(<;7V_0*^aP$>8t!(ackkdifGkDrQJvSSxI9&jDpe_l{o2&_E4u62&BWdr>X%z<$+pK)1@Wx z=ivY50}AK-I3+cPFHKNWnz zGR^hqbEc^X*YJU}=SVT!$NHh&W`ZN`^fkLnRL#@`&(1FU6T|!qxwXIt^d;p*BV%a; z+sSth{1qM6b}|;Lfz4FFTv=HP*+-hctL39AYhm(xclV0(vzN0E%CyBo(*upU@#xj5 z%$5qdVhXIh6E)nXN<|nv#6<_W8xa}H^EkQ1o?rGwn~(jA|6{BDwQB#*u>22|_&;Lz zf_XrhK{(B;dtVTPCYN*xLo~tJ&*+z9*pjs7ZrGM4wdn7y&)yTbq%+1E91>vCZ(*ca zyM`sVjUo22r4wJCAx*Y)4k{SlP7o+$OQpO#&}~gi{VZPGMb4fzNhfs+mk5a_P*#-m z{CV>m>IPAPGYmK$4-AdRd5R$xarGNsDf^fRMs#`lAGKo$Ic3Ml9oz{r`Ift>-} z3IJ3X0@mv(%*38!VGy)0bw@_2!1&qa3zMJLdX23iI7rP^>z}vA$W@;S6f@EljJ3|B zIZ;*|oJ@@%(=~BaM)bGoYjV+8AuiVElZ-zyIh$i7EMnhS%2fahc53>W5OE#TwBYcS zfPuoW%6C%gc(Tn5@e%ETv=pxEaBx?+j#HNdwD1nBbn6DimrS`JG&f~`sN{`I99yCPd+aM}VSmfDh=YpsjZ=8_)!N3i2&;5AAw(U7uX(zYrmics!9wu*hra;)h6R^`G;DA0;2Rkg%s|J$^@!tI%h%^plA*e+u*VT#5>cfue7}?VYIY;FwNAi-32nFG4*W zpP5)$JMaQk;O>Mq+ocP;2swX{t+*b#&XHru#SwIIs~^?F+fZpKE7F%zpg7U+kcf7O zub@*VNV`@Ie7nkXcEEJ**w9C*r9iPoLjMYJvZWnCiC`rro(SLu7S=5Zxx@89dqrGI z(mEuciovgr(@$bl?0JGBkf>IO3GUG@mYO|pEtPz7;9C>pHXV$Nh!F5r*>ru`6 z$i!L^bq;a;FFh$M5;KQ(YAT3*erl?@p(fWaK8qkH1;6RG63!%96 z(x@WzunP&92VW4+s1jA%^ZM#3_%}H0`FDz|QG2*H$rET}oAI#tXz8o=g!eSz0tlog z>3Xfov)~ZA+cS~}Wgly>ZKe4}(?jfI0#6QJKV9>?Ot&MToH^}hJHUq$Zdkf7K|~ca z*&juETvfIO)*ywY(IQ!vmF{Uz%c^^WT*z57HDj^_w?I6Mm=O>P7`>CwbsI5q`{f18=VDUDIZ8{`IfyokC% zNlTTVEFFQZ-7<~GuR&5K{onjqq--mBfGk@4c=XF;(traZxTjQBKn9|l079~%W!%TR zkBYWNa4B=bu-A5O8{RPG@=Gq!|E9xY$B0N&KBtL<92-}`^Jc|BaveQx9xuy^=pUOn z#})}x{sjwP1@BN?PKY+51RnF+E$aS05C!5n9|MvloxuV2WjQN ziigT(Dv}eZ_280(VBsPTlH+t3F_cNI=N$#%y#pVEq%@sAyvE;m7+KeU7A36Bl7Ucw z^ReNtU37*b#$+HIlB;m=klXJj*^#mO9g6kIrK6Co|oJEW@iaZhVG=^nrJmwG|g`Z|0wkndzL!F`6HlvGo~M9%r~gz8WH z;7%yT#S9Y&Nz+sx53Fr4?r-m+$mKrNt3UWM=nkKoxW(X29Yf$@@T!+v3|cuboY|9#)y<8tsj)^5vLLk`JERdKsCu5= zL0Vze>ld3b)NE3tBY{Q=_8=yn2x*|G@~)5RKByI1C!mi&AoEU?bX7|I{a`?(HRXPb4o8oc!8leD$Am#Czp00)F&%woO<70cFN>AAU~e!{9bf4$MWPsA-D)tH zG^_XOtY?gcYi6qZMM&oCB#}tKN-VnzzmdtpAh^fZD=Whg%vL$;rl1^bkt&;Xau&nW zCRf#--E?6B=8T+3!4xpIiNG<9Yx*4e^jThD*UR*^eI#rX636(lnxKQRAgKbEDyTwx zFKN^1fOD^<*}}muOH<2p9Zzq;h(vXee`8s^6BO4tzrjdLbH18ZVF6hMKgDDjP8X>W zdi2s+PjVWZBl>b-A!2kRd^-LwV$kn2WS2?mRRMdm)Bu+7OwZf)emgbG#YU7!KK$dJ?-S|ea18(1>(=CBeH?JS&3ZA60#%B}Uvk3}QF zpQpdRuGDgo;E_oosqTGdUv?9;nZThHV~1tlj?{v9WU+F}w1vyW(lTYVVIueE+%lnu z@QB{I+o0))xY;>rYvCvXgLd^xmZbTG|F9L-j(C@=7J{57kd~)kfLj5Q)>LfSqW&u{ zI>;3BpRvH%roVeN7foi5iyD5z{@XN<-E6*tUtf`FHEP*0ZRNdT{%=G|_qnowF3t1h zztD1{@yDKj)cGT~1G@j}Xosd1@!$9ZzZePMZzaByHC1ty&TSX7nFWS?X4P!TAjfg3 zaXTqY>Geae6HfofWw2P1fcrx6v~6b56W*NHc@`tA3^_2UQShR6PepF%qlFdpW*ck0 zdqz0T=JeQn;_*z(Wb_?_&^Z037LyoCkM3-=l?FLGC-eI6qqd&G1_YE(&wkH3f~Dyc zMDH5t($wwAL~^HK)LXgs>Hy2h1Wy8k50k1?b|oznUtOl}{WX8xFF*rly5UGFmZpXgM0nTAAP`& zTfOd?U)Yg_SyH&~lrS#4kJ-B1H}`qJlN(o^<~%EkD_@3 z%U=uUL?Upx*L|T*^?et8_)dd`>$wy@V;aF!KGNfdwkmCD@6-%Qr5TRcK90CDTYd#| zCTs+04H){dbCo%Oknw4jc^4J;U@fW+A&iY~h^t$|Du zFREq?`~A5G#hw?QAy2j_TzZ^%~w+CO6q4Tj$Jy1&GVxm+%zYj)9Kdu*y zyt6th<(Ujfq1nn2K}&q_m`lbckRmC)^i}X`+#{AF&b#YAH+;u5u)FATfi51_B9bU! zaSz`~1jlS%E4L4XK}U!zPzl<(&jeA7JOYlYIJkQo{C4%X}m)#s1!A0%t#i0)+!o#HgGBm=u@Z ztAhoB0F;1(DrsPqf}ePCZjm^%yO&52LTw{VlduSY4sYKFNlN?t;SK++Q8M=bi-kNH zN_(_p{rwNM2br*7e2K+_{J!Yv@K{$jEtXzeUXoj}ge9J~>w~Ec$-@}8bv{QI8?gyM z;@j<8u>sL5aYd9XHF#-C)O`d)vylc)E_{r1R;;x2dR(&3VoF$JE6$0k!SS#L8!-vo<0mX~ zY9>C18ye~%zBu>@hM3*nN$xxFDGknD`E)^Q^*Jnf7OIX7Kej;Yf6Ok8%>oY=%L7TL z^Z-Y3vG-EafE@LQ;Agtz_-U`-5zHz5MBv-wFvTZo$2|yRXVscmC8`HPy%vtjI!iGMsN5bbQfFLS?}}>QNA5Iy^8^DL#kk$WE2@H*QO#<;6JBJ zXU|ZM7Cz`TpxT;FrMS1P!ARzg>!W5U!&JPkGW)aX-7@M+Nh2?36@NvN!{SglDM zt+Z>0kvY@kt&wMlvu7q-XqU#nhaA)qt+s$d1MC-7^$!9{#@0$Cr~_s6&HYSo(>6q*F{e+ zn(FvbeW!Ps*68D?{I`o~#S@0bx3r0)SCe`XpeX^DjfMdIzUwq42ay9SgFNx5fjeY& zI#Lo$i3N>d#!cb8cgkx<%a6n{UrL7R%Tad&lHXdWAsi@G$hoG(^H)@Lj33P_cSDX} zul^H))Wkrds5O8h%;FhYg)vJ+bRi0SvdU~RKj*I$Ki|vqO?M3_vU8*$bdC&Y;GWRx zm+&^oJuH)aA;n7`nHN`MF?83tpg5~1hC1Dj;XmcTK-L=`-z;c78>x4JtngY8yg*&L z*FADDY$0{PkS==;eCD6$C+_#;_^}Xai1I@&Z8p>R33BJ>dw$ zj(N(TsY1cM0B2r)PsM_+44CXRQI3ctGI@YWCr9ZonckhUXt0cR!7?_ zq$e#zd6#UB{N(V5iz4CAyGv_j8F^`-Ac9*FliILH;#<QV}H!ir_MXYx}X!F%RXi|(w z@o(CvC9?gn<|SDf2#W+J(P75L!8i1{d@OiCbA}5RbDDS*z)CXg`CpyA1yCFB|L>cG z;O_1ecY@PGaJOK^iWd!TE$&vF7Hx5Nx8hc;xI4w&3KZ$#`;&9;%)K*b{%3cSne5Ia zGf!6D@7ME@#H}eBd$5fD+Tys4fYxq~h{nputrDzFfIdEnn}x%K>-{H#dYKF-Rb`vS zw7Ag=Id)V{XtswKT8iZxnh6^Q$QT$MU#vt6!I9JXs?dh5*!!7vLr=MgWZ!mgKq1j~ zE0A;(_vw>i^Us)33#)%-c_F1zoUr6+ABzU#e-FHsHL1}?1=3Lc2$_5T#N7mWz_i#K z*^a$WGXpz~OEPqXA5AZ@Foi{8-aUnSWTZj8&~^8;Ym*c$1;Z4vDB4HJT2ogVm*ore zSgSs3ffAvqX!H?ao6tftf2RAQ{}RpANHc}MfO>qSR7YjOLh@&w9;KQ{lQ1bl{8xI{ z4Zxv7!CjgjNxosa7;=rXi^2uf<^pT+u0lTduy?SsJh(MhYnjb{*uQxjzTeoRs_B($ zb$7>M$ek-ub)#8{M?`7xW%<*x_xEyhW$iZag4()o)q2HC3MC5!pImq)}5^<*?P=+mg}*z8L+U!}A?{9<$)!C&GeeaAk* z{UH=zM^;@y812lz?}d`oH!8fxl7O7xE7h%FcP9Z%avbeS|NuQNn` z>`C1GhX!%UVyZOs#J=@!hI~(Y^x&$yiNajtyqC`dtdsuHs3#>5U`N+D-dOJ6Cfv8} z=CNUD^BR~nRSNWEb`mcOZq|ONiE`I)tw*K@UE8BqDhvf0C5GYm}CBM}8$L{LLgKXH82rv!& zH*~h)ZR+H7w_RZQZlFyY7-KDqp+MVI1UMcbaL>*8?86kAjS-B)Iy6igIix+kB4L)< z4eMb1{DZxF2q|VL^%t`R;%FR?qOO@ebXBC=3@NKHyv zm)TqN)9)?l+n0dXX44{b#+T64e<=rav{;N@!N?p--vOYp8dsLSA!$29)Y!0N8&Q#2 z-7SZ5DqS$Itvth>e3V^C5cUPxM+VI9J()NUzfNj1OAq=8QKUJIdr9WTpkn=^pC4H)6OSrNY_P|LLfoPWGY@gB#z zLnqz4I=``RBsdvMQplh+j?$S=m7}i3y6cs=IZ-r~qTZyL=0P)HpyKxgr*T#cgeZ@g z7hA5OnZqH9joFU z73a2@2CGBUYwBpZ?Zg(a(f&1Ts#G+=LplZP`jq)U_IdNx;%8qt{yNk7th0{3w~Rp} zLBd=nLrKIL>Q?DM0|v`b z6K7uXyNU))2CJ~c_}3jmH_~vs-}0H<{rdmW7Lu_&=3P=5%!#M`TZ`Jncz|@frfD4R z&rbixu~fw1oFf>i#xDhgoAR2ztMpM^Pls?-&`ci5Yi}y{R|=L2loDnvdMv6|Du_uK z1)Ud2*2bvbGl7KG!!0Hs8(glI8H8b@6U}%#g$&cEns0UF79+AZx#_TE8&bk;gebHU z8uVi>&eP-3Eh_Nm@ys&n-Y*WB@S4kP6iU8>8;~7GPzE+n%_d+lw0QplBtb2D*{Hkt zbSc&SKOBGV0Y00{UPxg;%LB0tv&!oEq8SqD5ZMUncZEFQI`e%K2ns3ru7x#OK_nQd z(9lQ0Z1l_4laig+aJ*pUq9rHjCYThYK@f*dSq z!*>+^hcfqyMx7_-pI@a(j|`Mt;aTpGi=BClo!KR@w`vfUzq2k5O^s^q112O8NQ9)l zDDk-8zY}?1ka+5_cEH1y3YS29-sOyRIlD+CHqmU<{i0gjV`nT?S zV6_?Gp(53ZdI)VKfnKD4Wa8@nhwc?bJj9gAf4xX${I9P^#{^`BZPkA3N|&RRV2~jA z2SSHi`Ftr?@2~XzQD$8LfXqSpD+L)p=(13B6-eQC@(iptK&^)iOV}Iwn>|NNfaMFX z8xgP%qP{Ong@B8N-3iM`ES#&Bj1eonl{8L>u0~ILS!*0H8(^Ssb!-rKq)rE;)o3a^ z1=F``QkY5>yt_(Jnkf&)ZY4ZKEa*bRKerf7eGmOMk3$iBRsd4CgAQd%SNiX@R5-WrO;s`qSMg^<-58TW-EyqD{einEkm8sBBX2R9`nzbeC6hG) zCpSrIo>|rqgIf}GXk^f)!q3I3HHp7?t)2!c2QDjX(!E*CJ(7IhUp>9?IhbqZ1Z2l6p6)0s>?!$_*6hk|eW?{=F_T!)5`R?TTT^DT*D;H8uu+#s{xCz25%bSpL3^6G zgb%e54yCCCPgzP++t|^lfd~8uiFV!4CCxFktPE+>MqPzGJqcUWR2LR>blRt@(aykc1y#6E^(Mfy_c5*7NAk zV@6Eck%_jex$Mh9F6OGEqkiwBgiRC^F%fDuw8~g6kb)Ix3$1DN(smTH$-Q0UviKB? zq<&uLf_f~42Bmc0@G2+i5}^Dz9;QQC7*>0?`Z`*tf7Z2(8Ux_Bk@rSzj{oD;$AcZh5 z%QA7q8re0Bo{JSf)(NK}&ZMuB!U-~`0;F<-R~4@A&=mweT_XO_ak+9C8u+Q+Xhc!- zIQTM&-vZEtAl*-bmX}zZO^}Gur9mMSI1a7B*?nw!=b1I1uJ_bJxt&3j7fe=>IMW?c<{S zX}+g6YACH1BQAHoQ@r4&Ahau#J|rODb5r{~xIo(`gpwxN2%wj{L9oJFg%cde@F8N8 zzdEa_RWO>4D^#H;HqV00+&g5_M<%JU@es3Z7zE}@U1t3Y@YX$S)SzB`cgvEhisW3I zzkbj|VI{K(!S#|XHRH^~ToiF|n6%+!hHK&TnWdv7GjbiWP_Q|=!&IN!?QB%7J+wq} z+F3ck%kzO9;>kB*1~Rei%pn4Mk$xTO@tFmt>e+5Tvb@v0XWbj@lCYG zF3S1zttvy4mM8}~horZrD3kE))I#5Su;H!H7BED_driEDtm^Qf8IJ=!^^n2vr}>?- zy9$!du!!FyuV0yo5A$ZtjU7aPa+lV{Z6o4mGRXwWX^V11`^RLr1#|IEECbsTN`XXW zOH4-8vBydSGp@8@J1J=_yz=}K*prZGliOhhdZpYYDEpNboh33TIzS>QFh#F3R6V9d zGw>@RqPn)17#o#V$?c6naN&?Ce#+&Zn|Lb|y$!TyZ`eWH9naqlj@`Uruht4i-7ujD zwGLdB`F$6E7gO9~0A7tNLydbUT&qs}`{wBDTwk&~3Eh29xz>cBc2mcBSRU3vYXwIc zYNcIu=57=75k%xJQcfeFuhN{g(6KAJCx2B_OYcq_tt8`5r)H%&3pv3mudx3K@@XcO z;S``LWkhVaaPd!}O}h|25#?nId}q>r(Wa5H%h&RC<>!_fS|Xtt2M@lS z`Iibm&2Ibr1z4btt_}UFN^$%&d0$majYfU>T$8O_>Qkys3$sp*NpqXU%c^{y4S_Y$U4jiCYb& zH584nFGSiY6iujmlT^J?z0FDZx}(5wKvRG%`J6^(5s{MV1|1q#%i+nJgNvh${pt#5 zlT^7J#m%60#!~CfiDgM!xDA33GViiPa=^1ds1zODs}GIYars80AAbqcH;t|Z`DqL?9XKlo7deLOGVeU^ zJnWEAHk+mX{cL8@ejynb2=2pdmsNz#GwZGDo$n6Kb;)jd ziEzI|5<+gB*fLT`*x@y#5Kfw2Rg(RjP_}Eojtb3f=LY^eE8vWgLp< zKWlS%$a_loN&Mp@IG!s+sf?~UB9a-vpT%%OtnZjq$l6Y-?oB(}s_eL9v(T=I%Xo=n!GLH%VR^Ke) zF{71=ZV*8!_R@F7m6p&C_`FOrq$ONWW?S>krNqlBwNO4Nb1?BVrkV5^y)Ou9Q&Tld zthvXPk~7dY>~;LKJ3H9ts@IbKyy&uxE8`jlautR$5Ee=Xf`= zwwF|Oiz%c->Gu|@8eLKW>x(Gwws3{zEb}~kc>H&T6ER45QilHmO8x>~-ZwY|?D$td z%wo+9UK0My4+JMIx*Fg=FB+Z}$@ADfWUFyU)+=JS?ODvvUM8Fd#hfonh7xb=g>?lf z9Jd??nnxP0RU;@%SGtx(Iu0tsGfL-i&3(M3bPG=T%(5yloH2Pti#pW>avTvU71@tc zlMpOzp+?Ou-4%(k#kd@9zYUjb$>iBm!FTkhEkU_UDoOlO5j7n+cqLkEIQGQ{Y0@a9 zt#tT?6iicRcF_w4J1)u+o+C&@`x!TSeap2R{4-b+x*SsnPR-ww$Tq*Ip>7LFm$Yn_ zVl<4UbxdXCnl`7K45dIz@+nYy>;PpyUJ1%aedxfQYEcabUAPL#sd|68OE7h1VLJX+ zsK6k?0F@j=s6FXFDVFrhk|viweWm_^CO|IagihhGCbG$b9C5G}o~hvl_CexW3A5xPaV^g&VVscr^ZJ#o^LbfdEqP8SW=C`_ckW(j z-eI1j`(-ZTBYpBqONha56I0LTr*tCN(6W3vMH-D5A{ckmHiZhw_qt-%4hW1$yqcD6gCB5Jzk36CZ%l4+@&1sQP7h|cApjPq__hE(Q@q8w&J(J4s2GcO?h$hLYLooI2tN&)&*7N#$g;b%b4ywC6pMd)h4s)$7H-1Y z5!KjP;e<@3MYmcRbd!^?N!h3*QC7DG(88Z09%uj_ zFWtRPQ;~_VU(V9>ERp_N4m*AR#8*_Np*s`;Fa2kb-FqEO$WaczE*ar88SFIGu9S>8 zuU7TD#)bC#1T%jh5aXoZbr6^7bH9G#t(fV-cEV-eY9Bmrj!kRYkB*M{Ce5sI@8l_c zm@m2e?HCcNMW^n>nq8>QTS}~r$g0kl0@WgXt3^<9+Jqo5tUH`ube)XyP&gGJyYb|* z-j^-6{!-HvxFhp4F;i@W?{WI$Y-^F(ZoR@hi#v?`2OVTq-E=TFXH_7j*K1J}wR^JE zRmok&#v{U1DDI`&R-ZD>ATE#nCRDwI+o;L2Hl2szTD1>3a`(-Tg1|~}MkUSWbjQ~p zcb_Z#}XQ9Y|3u z&@8zuQ72@DXq7skrO2nqYsH>9^ES{A`UjT#%TUgT2*1MwFOumyo90fWQ|yW-9av&+ z&Lha*>U{zheUTK9y{kwVY06-K_vQ2J9C+sd)Lz$c@Ls)2QM8C-8dfCHosryZAB*pGttVB?Z2f?o>zY}h2Iu`}@C;?~8U0vL%=nVmq@N}@ zvg^ld36(MJm4jKX@#)~{W_}TGfGf!|Ryo9)08EDE+=`mrROtZp*7&a*n|M0p0rSp? zN>Ya4HJpBnB>yNknW+~FoV+tD8Iw+q%~Vh~%~89b$J|tVm?uNV8GUc$LfPol#lAa- zU%l;&j~@P0{(w0`WEhRWZy5KdbG)#?dFGM=<+|RlhNV(mu+LQUr&1gG)feKeu37Y3 z`j4rs%95KJ2PY)j)7u=_8(hv*le;;WYAD=S=%M;j-8;uVZm?t!dp2!<jirDA$MJ=Z?8p=MwNL{4j{jY6#Oi zz)b~{9Vs#`6(!Nh0N^N~7ZVs^HWx}Ct%4c%sMe-u@-CMw1VrwuxV&gz!%vZI&=g36 zJAZ!2Lp_aWXz>@|DWx!hmwl}z5^o9{rev-Uz}C{=EEd+>&Sr+Bou?0q+POc{hHXg% zy;47jQZ6;(LDB%*zUFg;ng>he{up&t{kmTtL7ogHi;!Zz8MnYKKEV(V#!rW6*Nms< zQZv79FRWl~nnl^{TeDQMc`w$T5(!SE=G7qu&QC0qF4+;vCLEXAd>m6pq2(U~w*LW% zBR0|>mLlMl?rF^nkTah9yE!9D2Vcq>>=6An(jD1npx|b0PTmW5<|@I-S0yD0>K*Rq zXn0MuFNu5$bF^% zU0di@ec2Q`FHqkcfYZaYORe2gx6_4F%qaGAQDa0aO3b>+|2{&Uu zPlNm#d$R*RpY^vAt+1Apb5qlr_PP@AjzqmzD~HLtJLZ-MvX&J8K6p@D9?R*%agx7+ zw)ID{O-`XmNqjfx8NUmYK_!O1Rv6y8Q$6C&<}Qp0TKGdLhgpcRYSxhXOF0M^le4!S zL_}{xi#dZhYj7O%){a#5-SB>q_ADi@0|RLm$HJ&D?V5VOSH>Az#9bt`4C@ z>$-BH&OnM{CWQCiNWIUCVZ4Kw@X3YCg_B9!Al{jbb(Ntss<@Bkbb zpyh#TnBq8_&;%yrOuoRPnr?~zO^I-ZVyB*c2aszv=jt3kmfJr*22ubG`Ewqu+VIbC zpv0n*JETg9DRhy;MHkG zh&Y;xgCn*R>qH`5!&t4L^UQiNeogeb;A*z)(bRG%q zdyw!npxtH5eh3)qo?V19g~`|71?CJ1fu|OMT#WFz|hE;?eGXSZhrTa#SXPj&g!>aeoTD(Y`oZMWhFcc;Aok*<-!YS5P^Sj_YUe!|#{c)MG(P56hWrh6M_4x+^lE1(R3Uxa(YF2$iA{WS@yY$m_? z83>q3^Ql~~!-_!wcex#e321N+tQoO1xD7-??l*X_+!vZ!T@EVfpWlCjgbMi!=m5Q< z{+ZbO^NAN_TiFPme(U)oy4AB$f1!gUDfg;UN@bxF$_AoX(M7~n4?mVl!b56;{4}Uw z`VIc&snc#K7heqKZ?zEhZ{0tFskhNBsNe6v(L%?N5J6W3Zk8MNZmT_?NNkkRWm~vn zR^yuu%38ZUj*P6~TDA7dnD?q`x&-7Xm6(Jq9UhMibUM;ozoO7$rhkyIA+6dCw%f@L zMzDo=u5$rQuIM^bicRDisSkRu_!+GD6mqbCzQZ$swELQj%`6b@ByW3&DW%KRzq!oj zAP$c)E*8!UDyxajHObvEEp0)`rH#wXIgtu;T%%Q$NH|0FOfX0K4eTiq>eBT@4Xw_( z_o^q@nVb`q?|RyDtMCZTzX%j^MGjHQJPWjetzEb^u;_kl>u()!YWCgYWGm8g{vCeb zHf|l&uP>r3W3}bich~vqtB@6&$}#c52+UM|q?=ppcp!v#PJG)TyaT&^O7p%C$a-^s zq}(dfpTZZd_A>{c5LxJ&b7X8>Mf+*g+T{ju>^>As4j1s~A~hbzH*m{yjnO8=KFhFx zgmC6stv>wz3z+kmbmPX_rOBVGC#$YU7}Z)g#V z^tBo>UK~?u7&FlI{F55NhFVpgA?^C~OT7Z_0t$~&e+0PvWeSmpD&<0h3klO5`c2%Z&A=Uy^Av&muX}jo;Mi zhfxoPwn}5&662Wy@RviblYR|9bXp8@LymjBCC!0K>p}q(ueggg;f1O1S&Kx5@^a5Z z_~5E7_-Y@!l2bCfG4mV?!C9IynnLtedgxWln*o%;!H%=M)hEBWhLC+Nfq{;>n@UvG zs%VBW&5i=#p^4#|>7ey;P{yFJ=9Y~QAdWgZ8mekUY4zljnB<9f_0dkA8x#VZEm2b8u_fjgX7*L@9&z$}zFm`%S2L0UEkjK{JJ1 z7+s1qG;7X~ycW<^rOP(c4Ru7xej1)&g5RaU2f>@LHB|0=8*L%%D7wXRt%oLtoo8Ob zBV~m9VTsi_$j7Pozj={6l+weUgs@keLp>>4#R^%d?1J`vE72^bJnt5AKNoDvd0EbZ zndrB{&BcIEbquh{JwW>+w+d?ij|#8(k9~`g=G+8AbD&4b)yNc1XlxS6p5>6A5UwiiPZ<(${Yn-BhU8Yo1F5xLVHKhiuF z4x%)%VX?S~IAE`~`0c}+eXMqdBLJDE%o?IVjQ(YzB1DXqv22=-r~ScC@2&;6y5q>9U z)TV~9Kj4Ga422pK-__mAA?#h9cZ(%G15g4N$H7uVCJ~~q-aMx&iTbFGEVRW(JBy^NRWyPQSif+e)JhQuD8-ww>h4t3p5^taJCJ)#lKG9M9Wrb zizAWfrY-&p*cIqTF*0RXn5Z(^T9sh2^hFj5qtj$*7#OhHJgPIf36?epHb_Fl9NtWV z86ffVS6+NKq2mqhV?m`WGMF4kE5U2Cdpr8)z2J%8E{T(ARbT^qs?h-`<4s$${;TYY zt!288>+M1c=*PTy0VzhonS&|m-M^aNas>YfV9BTFW_2$F+fUbdeFaDCBzEAVH@MDtu#aMiB%a?iP&P^9EHoIw`|Jj}P* za(o7$g8!V;yRgD3EA6E8aWFAaQLgw!lG#jS!{E!EL902!B`qElVr7$0B@VDk48-Ms`gSg{vigiy@8`T6g6_8G>uR>touR8zOL} z_M6~VJ>ViJ$MjK1qT7uOxTe#KTgmoW1SHCrj;2Ae(R2jptbVf|f`v`7jqf#RB?{cy zlA~MzBbr9iG(|uxITRJdzm!~a8T&K*A)>%Mfj;y zoYV!4-qb+i%rBN>D^Lf&o5bS{akdR?qQ}m-Q@2}3Wvfp*aSLgsThRqMyR;`7gv~NP@N` zxM&RpaOI3v&*qYVkoX=`z!LRzkJlB>;Ti?t@7h>P1YuY>m*tw3DQS8iQRhb3^k02Z zM^#w(`eYh^ebdJXq0E!tY&W^w>7N7m7jlLV!eK2n&*X^$;0^ki6geNkBm5pZD!rA* z!9#qpubINlft73`B8;H9@UKS^i6cq_=V4JOIyLTSOxar@pSO(>NU90RcYiTZx*ElGu?K~Al(@G0;(1f*W2js^hM1?*mdM;zP+)}&O<*SJw?)eUySjS75-ly%lS&j3&H zcjozXYtC56OwSv*hoe&49DT@oI0nsK)3%+{nDceOW%Gw2h=}+Ry(76Dh*;v8LTE59 zEU`D_<3+|WrEu$2s7Yb;cakv;S!@6JJw{jlkVxC$-(5tfsjs=vA9f<(6i=o^42Y9Q zDAOU$8lLCDV?#h<^M@{$18&VDoFJPa>D8Qa1YDU97w0#3=!N1mfx$ts=O%~N1aoZe z?j8fq%9`m;QDyOdVvmCu=Uk6#_yH$hjAjDQFQ0Qk~!?ZLL<-5!yn zAn*(n@=cb*bF?`d`|XM&uI>)yhtwiL!;Fpwkv*LPii0qNr6+IG(`*;X$O ziS=I&35WoGu}BF2W~KjiNG8rN28rgM+4P#p^M6~UfA}cQ@Y}g}{>*3_#(B7HtDa8O zz_ZO4j|3_CJtjqpq`9ZJhSJT6iQpc9c*czp86;*#k&}FCF+ZRM!)f4_&WmsfgC=(* zm@$6w!ko_CbkakVMB=MmW8ncDI#n~b8xmlB-6ABJHy9_XuGz-b&C#Wt=?h71mz9HK z>{Fa?PSD9I!x1D*bgap?@Mu0~g#!R4BSh_6@GM=i7OiO?0W)GvYj2FQjy+VT-k4vS z*!C4i33og-p#w#x8G(i%C>76wioi~e#7bUaV~e4vmzb$$=scR!ckGyAnBS)QPM4Ta zPQy6oF(L2?#Zgx3126ex{8~)d^~dkbsl@F`ADk04NPo-=H)p$bh1|XvqD>wS+l;gcY^ZMZ0>%VTR=_H?`<(FfzT zb46vgH1l>VoIxZ=S(l~k=M|jv={Tjt^>CI_B8o{A(N3@Y;PmaTU^rKkW+%xaq=^&7 zwxXMm?&1tFG}ZJ2vDfTt-#<+e*qZ%9#isO=8=$k?8{KC|uMt_@th$b**nU4(Z;V4< zqW%Zlv}D!KjhqdQ5eaF?os&Col0fUfVlZ{#^63{*r7d&P8#&4(5HjoO2u+(De6Qkt zJn3&F-E0S_e7>WRd|}o2r+=8J*MS|+OH}QT79!}+HSb5`?9LVp4g*$}D$MXb43#pG zdR@>XFSl_yD1R+d52#*me4rNGhG@2>66cLxuaG|qoK-**u`Ni!-8!jm#G z@bfOrpwe%D1jHyO@R$j2dlE^R8mBg3^1~YXgH>)g+btYRTHUTynPAB8qca$KExa)Z z!eZWeHj_|g&V)4IosRURWm`DbHX3RYQmibkX#xP3%&;r*D&2ReA!GWTcH@OK9?VVr!M@+LZ z<@4`P+^P0_aWrkn9XcLOnKrA_l&fL<&Jb8~_g_F;-)v>dXx|TA$4MvI)vuI;ls5vm zu3M_Z78NKIm27|E&B8aGhpmR%ew#(|o@mW|=I?z2M~ zx}JEKru-KP6)glQM87;Ow;|MXE~d6+rxyV%u94I4_tuYaCYxq)BdKMu3_Ftj^Qah^ zf8FY{VnaCzVK7DXagog2*i!4ka@244W{|g}$j_q)Sb^$nc_=R5m)Q0P!+SrKZ5~Wu z3V!xYJ$EE&m(z1HokrUr2xN14RsM;#B!zuOFthWMISo#0^R0StMCZH7xE*)#lp96* z^B2$Zhv+H0&wxD_nXAJD1jfrDbCcceZJnN`qby{ZCW+vPz{js)?3>HSUtx#OJqgwbI7Dq(u8@7;jhzOuk}#b7u% zF2L&d;VAA!H*#=f!!oc#plj)RQ}m-f9N+nJ%(C$M@I326Q6f+v(Xd)BVL-}{TMac+ zZYLT&p=72XTSnsSiz_qnIOewg@D+QXHo?j1v)MKL0BNUq*g116zf{FB*JE5z=ppMu z4i(e+!!Id=X;$~T(PqbOdMf!|OGoIGW6PVW4&;BW(bx zn`>Df*Gc6sC%p2N@!6%E^d>yxA1<+f`Ut?G-Asu)=YPo1Y&y${o0P)7@ucvt3G1&j zn-d$lYzzZTS5LGzyI#2kkujCPqU!6G4$roNv{_wtiT-<&HNDxd9ureD81$+_^r^-cvC_OeZ z*!;}5Os|`y`6MR1jv4%Dj%4!;X!i#zoLp;B1sR%vkX1vt<_u>_RneY#4E4E!%=Ass zRP5jkc-r8ipN83p)?Q8|@aQ7rw6aiT1Z=kMAgDfbE4He9jOtI(VY##w@?Sf3*n zJAF_2(F`iTj72XPgTo)W*vBsrWI{)~l?0SQHr(ja{355k&5Y=FXx?hrY$x*^v3&Ij zvkz9|+JjE-YOe4@FhZJY+-S7$T)M?wWt;Gk2&+ojja5%J(>IJrcI)DcMJgL7=-g5% z;jt$YaO?pmSu++R)ugTK7 z4t?Ar$dS;aiHQrJzQS|ZOMzO5%3$C?kg4dM3MXU6>L4;z!8E>!#dM2vZ0HVqQ$Y{n zfiu>3C;krn1Y8k5*!Sp2Cq^tW`apOs|GaNEW0oQQiBmQ|=EXLJZ`Qky5p>CIe18FQ z312*m9?*I;*>-{ms&+cP} z$%v7*2_=LL*$HHQ_qd_>oTS>mZ+Nx}^C`ZNd1;Kz8@BKs@>qVp(W6`&(&eP%pGG#H zQ_;mS3#_g~oy5XQp5qpl6+mw^H@ij=Nm*AR;xHk^EoC0* z$;`T##HC^_rzF%Fr)`8TB+`K~YsQ9 zwyJs1{9!k;C1ZRv4^aab^kC5bwB$)S$0Dms(wn_^WWh!hVnmRvI^Zp2lZm||dJ1)w zNKN$N%2BBjGFC-9>hJc6>4te#hHUM~>?6b$^#;Aq_|sGP(EN>V)N@UI?g`5m$WKx7 zBUz$k*~=-%W6Yr|9?Ch{i5jru9_ea{5%^j;-qm9W$89{e(F{kmxtD*RYc7@TvPI%g zEE_hAT@6OY?9mL(f2klg^lf??<-!B@*miU6j?`DxVPeN9M~ zi3AFX+=w7YH|e{X;U6jUF|b3)4miLnWXSQSFsg_d7R|t|C{^zx;q9HIzrX+A#s391 C8~Z8% literal 0 HcmV?d00001 diff --git a/README.assets/fa-node.jpg b/README.assets/fa-node.jpg new file mode 100644 index 0000000000000000000000000000000000000000..611419ae661bc0c7e3ace2dbf302b724a53485fc GIT binary patch literal 37937 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 literal 0 HcmV?d00001 diff --git a/README.assets/fa-state.jpg b/README.assets/fa-state.jpg new file mode 100644 index 0000000000000000000000000000000000000000..953c699454fcb22057ab763852f46e6aa7c596cd GIT binary patch literal 56238 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%0A+G^(CN6&g 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 literal 0 HcmV?d00001 diff --git a/README.assets/fa.jpg b/README.assets/fa.jpg new file mode 100644 index 0000000000000000000000000000000000000000..74d4b195fc0d7fd94b01f60e78e677c7c25a310c GIT binary patch literal 99576 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 literal 0 HcmV?d00001 diff --git a/README.assets/nfa.jpg b/README.assets/nfa.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ddb2f096eb3f959d56e47c7d58ffaaffffe67e2e GIT binary patch literal 28039 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 CMW0~+ literal 0 HcmV?d00001 diff --git a/README.assets/token.jpg b/README.assets/token.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c0c668ac37c1bfa980b7071f07c8cb87db771489 GIT binary patch literal 56799 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 NFA => DFA => minimized DFA 的算法过程,生成 Lex 中由 .l 文件生成的 DFA 转换表,再对输入的源程序/文本进行词法分析,最终输出相应的词法单元序列。自动化构建 Lex,深入理解各步转换的核心算法。 + +## Content description +在整个程序中,我是先从控制台获取用户输入,然后读取资源目录下定义正则定义的 .l 文件,依据 .l 文件中正则定义的顺序为优先级,生成对应的最小 DFA 序列。然后对输入的词素序列依次匹配。 + +## Ideas / Methods +通过定义自己的 .l lex 文件,生成一个可以用于判断词素是否合法的 DFA,基于 Lex 编程。 + +## Assumptions +1. 输入的需要分析的源程序/文本中__不含有空格__(引号中也不能出现空格)。 +2. 输入文本中支持的正则操作符有且只有 ___· | * + ? () {} [] , -___,如果需要匹配如上所述任一符号,需要在正则定义中对其进行转义。 + +基本符号 __·__ (连接符) 可以输入,也可以不输入+表示一次或多次,__?__ 表示0次或1次。 + +__{}__ 支持{n}、{m, n}、{m,}、{,n}四种形式,分别表示出现n次、出现m-n次、出现至少m次,出现至多n次。 + +__[]__ 支持[abc]简写或运算,也支持[a-zA-Z0-9]逻辑顺序连字符形式。 + +转义使用 __\\__ 进行转义。比如需要匹配左大括号 { ,即需要在 RE 中写入 \\{ + +3. 输入结束后需要在空白符后输入 __###__ 结束输入,从而让程序运行。 +4. 输出的词法单元序列即会出现在控制台,也会出现在代码项目父目录下(与项目 Lex 同级)。 + + +## Related FA description +通过自定义资源目录下 regular_expression.l 中的正则定义,即可获取到对应的 DFA,故没有一定的确切的 FA 描述。 + + +## Description of important Data Structures +(Java 定义文件位于 /finiteAutomata/entity 和 /lex/entity 下) + +1. FA:有限自动机。NFA 和 DFA 的抽象父类,包含字母表、开始状态、结束状态、所有状态,和一个判断输入词素是否合法的抽象方法。 + + ![](README.assets/fa.jpg) + +2. NFA:不确定的有限自动机。 + ![](README.assets/nfa.jpg) + +3. DFA:确定的有限自动机。 + ![](README.assets/dfa.jpg) + +4. FA_State:FA 中的一个节点。包含编号和对后续状态的链接集合。 + ![](README.assets/fa-state.jpg) + +5. FA_Edge:FA 中的一条边/链接。包含边上的标记、这条链接的后继状态。 + ![](README.assets/fa-edge.jpg) + +6. FA_Node:最小化 DFA 的时候,用于划分等价的 DFA 等价集合。 + ![](README.assets/fa-node.jpg) + +7. D_Tran:子集构造法中,包含对处理的 NFA 进行转换关系的映射。包含等价状态的开始态、等价状态的结束态、等价状态的标记。 + ![](README.assets/dtran.jpg) + +8. Token:词法分析后得到的的词法单元。包含此法单元的名称和属性值。 + ![](README.assets/token.jpg) + +## Description of core Algorithms + +(Java 定义文件位于 /finiteAutomata 下) + +### 1. RE => standardized RE postfix +首先将扩展符号 +、?、{}、[] 用基本符号 · | * 代替,如 a+ 可以替换为 aa*,a? 可以替换为 (ε|a),并为正则定义补上缺省的连接符;然后将只含有并、或、闭包,括号的中缀表达式转换为后缀表达式。在这一步骤中,如果处理的字符是一个转义字符,则将其当作一个普通字符处理,具体实现中则是使用一个布尔变量 curCharIsTransferred 在遍历输入时标记前一字符是否为转移符号 __\\__ (即当前字符是否为需要被转移的操作符号)。 + +### 2. RE => NFA +输入标准化的正则定义后缀表达式,对其遍历,一个字符一个字符处理即可。若不为操作符,即操作数或转移的操作符,即新增这样一个只有两个状态,链接边为此字符的 NFA,若为操作符号则使用栈的形式暂时保存构建过程中产生的各 NFA,如遇见连接符(·)就取栈顶两个 NFA 连接,遇见或符(|)就取栈顶两个 NFA 做或操作,遇见闭包符(*)就取栈顶 NFA 闭包。 + +### 3. NFA => DFA +对处理过的正则定义后缀表达式通过 *子集构造法* 构建等价的 DFA。 + +### 4. DFA => minimized DFA +因为 DFA 中等价的状态节点意义相同,可以合并,所以可以通过算法构建状态数目最少的 DFA。具体思想是:先将其划分为终止态集合和非终止态集合,再分别计算每一个节点状态在字母表上每一个标记的后继状态是否等价。而在实现中,用布尔变量 isWeakEqual 标记整个算法是否产生了新的等价状态,保证算法退出时有实现 look back 回头看,即后续的状态集合分化可能会引起之前已经分化的状态集合再次分化。 + +## Use cases on running +在满足 Assumptions 的前提下,可以任意修改资源文件目录下 regular_expression.l Lex文件,并在控制台输入与之对应的源程序/文本,与 Lex 文件匹配。 + +比如对实践中现有的 regular_expression.l 可输入: +``` +, ; >= != = +2 5 14 47 +2345676543 +a +t E surprise +"Wordmakesman" curTemperature10 +{aaaaaaabbbbbbbbcc} [0-9]aaa +### +``` + +另外,在 /test 目录下,也存在很多测试用例可供测试。 + +## Problems occurred and related solutions + +1.  最开始我是将所有正则定义依次构建为 NFA,再将各 NFA 连接为一整个大的 NFA,再将此 NFA 转换为具有最少状态的 DFA。这样的话,虽然连接为一整个大的 NFA 时只合并了起始态,没有合并终止态,但是因为先合并再形成 DFA,所以在 NFA => DFA 的子集构造法中取 ε 闭包时,也变相合并了终止态。所以最终形成的 DFA 中一个终止态会对应多个正则定义的模式,那至于他具体对应的是哪一个模式 pattern 就需要进一步处理。最开始采用将这多个可能的正则定义再生成一次最小 DFA,即使使用了 map 映射尽可能减少生成的次数,但是至少也会多算一次。所以在想通出现一个终止态对应多个正则定义/模式后,决定不再将所有正则定义生成的所有 NFA 连接为一个 NFA,而是分别生成 DFA,再依据输入的正则定义为优先级,串形匹配各 DFA,如果合法即可以返回。 + +2.  DFA 的最小化优化算法虽然很好理解,但是在实践过程中却一直不能合适地写出来,最后通过拆分、减小复杂度的办法,逐步实现了优化算法。 + + +## Your feelings and comments +1. 有时候虽然理解了算法能够手动计算,但是实际用程序语言去实现仍然是一件有难度的事情。 +2. 灵活使用各数据结构,能够在一定程度上避免后续的编程错误。 + +## Highlights +1. 完整、合适的注释,详略得当,便于再次理解与修改,对算法中也别需要注意的点着重注释。 +2. 对输入进行词法分析的源程序/文本进行异常处理。如输入 (*a) 形式时会抛出异常 UnexpectedRegularExprRuleException,对输入的形式无法匹配 .l 文件中的正则定义时抛出异常 NotMatchingException。 +3. 测试驱动编程。先根据情况写好测试用例,保证够狠地去进行测试。并通过测试各公开接口和使用反射测试私有方法,尽可能全面地覆盖各种情况。 +4. 实现了正则定义中的转义符号,从而匹配实践中的操作符。 +5. Maven 项目开发,使用 __log4j__ 进行日志记录输出,而不是简单的 System.out.print()。 -深入理解编译原理中词法分析的过程,通过实现 RE => NFA => DFA => minimized DFA 的算法过程,生成 Lex 中由 .l 文件生成的 DFA 转换表,再对输入的源程序/文本进行词法分析,最终输出相应的词法单元序列。自动化构建 Lex,深入理解各步转换的核心算法。 \ No newline at end of file diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..71d0642 --- /dev/null +++ b/pom.xml @@ -0,0 +1,33 @@ + + + 4.0.0 + + cn.edu.nju.charlesfeng + charlesfeng + 1.0-SNAPSHOT + + + + junit + junit + 4.12 + + + + log4j + log4j + 1.2.17 + + + + + org.apache.commons + commons-lang3 + 3.6 + + + + + \ No newline at end of file diff --git a/src/main/java/exceptions/NotMatchingException.java b/src/main/java/exceptions/NotMatchingException.java new file mode 100644 index 0000000..379bfb3 --- /dev/null +++ b/src/main/java/exceptions/NotMatchingException.java @@ -0,0 +1,23 @@ +package exceptions; + +/** + * Created by cuihua on 2017/11/2. + *

+ * 用户要分析的字符串和 .l 正则定义不匹配 + */ +public class NotMatchingException extends Exception { + + /** + * 不合法的词素 + */ + private String lexeme; + + public NotMatchingException(String lexeme) { + this.lexeme = lexeme; + } + + @Override + public String getMessage() { + return "转换生成的 DFA 中对词素 " + lexeme + " 无匹配状态"; + } +} diff --git a/src/main/java/exceptions/UnexpectedRegularExprRuleException.java b/src/main/java/exceptions/UnexpectedRegularExprRuleException.java new file mode 100644 index 0000000..cb239d7 --- /dev/null +++ b/src/main/java/exceptions/UnexpectedRegularExprRuleException.java @@ -0,0 +1,24 @@ +package exceptions; + +/** + * Created by cuihua on 2017/10/25. + *

+ * 处理RE的时候,不期望输入的格式 + * 如:(*, (|, |), |*, ||, ·), ·*, ·|, (·, |·, ·· + */ +public class UnexpectedRegularExprRuleException extends Exception { + + /** + * 不合理的正则定义 + */ + private String re; + + public UnexpectedRegularExprRuleException(String re) { + this.re = re; + } + + @Override + public String getMessage() { + return "输入中 " + re + " 不符合规格"; + } +} diff --git a/src/main/java/finiteAutomata/DFA_Handler.java b/src/main/java/finiteAutomata/DFA_Handler.java new file mode 100644 index 0000000..60f1272 --- /dev/null +++ b/src/main/java/finiteAutomata/DFA_Handler.java @@ -0,0 +1,474 @@ +package finiteAutomata; + +import finiteAutomata.entity.*; +import org.apache.log4j.Logger; +import utilties.*; + +import java.util.*; + +/** + * Created by cuihua on 2017/10/27. + *

+ * 对 NFA 进行处理 + * NFA => DFA + * optimize DFA + */ +public class DFA_Handler { + + private static Logger logger = Logger.getLogger(DFA_Handler.class); + + private static FA_StateComparator comparator = new FA_StateComparator(); + + public DFA_Handler() { + } + + /** + * @param nfa 需要转变的NFA + * @return 与输入NFA一致的DFA + */ + public DFA getFromNFA(final NFA nfa) { + List dTrans = new LinkedList<>(); + + // dStates为<闭包, 已标记>,LinkedHashMap保证为顺序而不是 hash 过的 + Map, Boolean> dStates = new LinkedHashMap<>(); + dStates.put(closure(nfa.getStart()), false); + + // 清理当前节点计算 closure 时的递归现场 + ClosureRecursionHandler.reset(); + + while (true) { + // dStates中是否还有未标记的状态,并对未标记的状态进行处理 + boolean hasStopped = true; + List unhandled = null; + for (Map.Entry, Boolean> entry : dStates.entrySet()) { + if (!entry.getValue()) { + hasStopped = false; + entry.setValue(true); + unhandled = entry.getKey(); + break; + } + } + + // 循环的终止条件 + if (hasStopped) break; + + // 处理此时的标记 + for (char c : nfa.getAlphabet()) { + List curFollowing = move(unhandled, c); + int curFollowingSize = curFollowing.size(); + + if (curFollowingSize != 0) { + // 否则此等价状态在此字符上无后继状态,标记为空 + + // 保存当前要计算闭包的核 + List curFollowingClosure = new FA_StatesList(); + curFollowingClosure.addAll(curFollowing); + + + // 遍历后继的核,得到核的闭包 + for (FA_State tempState : curFollowing) { + List tempClosure = closure(tempState); + + // 清理当前节点计算 closure 时的递归现场 + ClosureRecursionHandler.reset(); + + // 在 curFollowingClosure 中加入所有 tempClosure 没有的元素 + curFollowingClosure.removeAll(tempClosure); + curFollowingClosure.addAll(tempClosure); + } + + // 排序后对比,判断此集合是都在dStates中 + curFollowingClosure.sort(comparator); + if (!isInDSates(dStates, curFollowingClosure)) { + dStates.put(curFollowingClosure, false); + } + + // 标记dTrans转换表 + dTrans.add(new DTran(unhandled, curFollowingClosure, c)); + } + } + } + + // 打印 DFA 的状态对应表 + logger.info("NFA => DFA 子集构造法结束"); + for (DTran dTran : dTrans) { + dTran.show(); + } + + return getEquivalentDFA(nfa, dStates, dTrans); + } + + /** + * 计算当前节点的ε闭包 ε-closure + */ + private List closure(FA_State nowState) { + List result = new FA_StatesList(); + result.add(nowState); + ClosureRecursionHandler.addState(nowState); + + // 遍历当前节点的每一个后续节点 + for (FA_Edge tempEdge : nowState.getFollows()) { + if (tempEdge.getLabel() == 'ε') { + // 若递归 closure 结果集中不包含此节点,则将此节点加入结果集 + FA_State nextState = tempEdge.getPointTo(); + if (!ClosureRecursionHandler.contain(nextState)) { + List temp = closure(nextState); + result.addAll(temp); + } + } + } + + result.sort(comparator); + return result; + } + + /** + * 将此状态以label后移 + */ + private List move(List cur, char label) { + List result = new FA_StatesList(); + + for (FA_State tempState : cur) { + for (FA_Edge tempEdge : tempState.getFollows()) { + if (tempEdge.getLabel() == label) { + result.add(tempEdge.getPointTo()); + } + } + } + + result.sort(comparator); + return result; + } + + /** + * 判断states是否已经在DSates中了 + */ + private boolean isInDSates(Map, Boolean> DStates, List states) { + for (Map.Entry, Boolean> entry : DStates.entrySet()) { + List keyStates = entry.getKey(); + if (keyStates.size() == states.size()) { + boolean allEqual = true; + for (int i = 0; i < states.size(); i++) { + if (states.get(i).getStateID() != keyStates.get(i).getStateID()) allEqual = false; + } + + // 找到已经存在的状态 + if (allEqual) return true; + } + } + return false; + } + + /** + * 判断toTest是否与pre有交集 + * 有交集,现等价状态即为现DFA的终止态 + */ + private boolean isTerminatedState(final List pre, final List toTest) { + // 取交集无并集 + // 深度拷贝复制 toTest,保证 retainAll 之后 toTest 不会被修改 + List newList = new FA_StatesList(); + newList.addAll(toTest); + newList.retainAll(pre); + + return newList.size() != 0; + } + + /** + * @param nfa 原 NFA + * @return 通过子集构造法构建的等价的简单 DFA + */ + private DFA getEquivalentDFA(NFA nfa, Map, Boolean> dStates, List dTrans) { + // 子集构造法结束,根据dStates、dTrans构造相对应的DFA(dStates从后往前即为现等价状态的产生顺序) + // pre代表原NFA,cur代表对应的DFA + List preTerminatedStates = nfa.getTerminatedStates(); + + List curStates = new FA_StatesList(); + List curTerminatedStates = new FA_StatesList(); + + // 标记子集构造法中形成的等价节点和现在简化的节点之间的映射 + Map, FA_State> faStatesConvertTable = new LinkedHashMap<>(); + + // dStates 顺序压入,重新更换为简单 FA_State 也是顺序 + int curIndex = 0; + for (List nowConvertedNFAStates : dStates.keySet()) { + FA_State equivalentState = new FA_State(curIndex); + curStates.add(equivalentState); + curIndex++; + + faStatesConvertTable.put(nowConvertedNFAStates, equivalentState); + + // 含有原 NFA 终止态的即为现终止态 + if (isTerminatedState(preTerminatedStates, nowConvertedNFAStates)) { + curTerminatedStates.add(equivalentState); + } + } + + // 把 dTrans 上的连接加入现在 DFA,并存入 DFA 成员变量 move + Map> move = new LinkedHashMap<>(); + for (DTran dTran : dTrans) { + FA_State curStart = faStatesConvertTable.get(dTran.getFrom()); + FA_State curTo = faStatesConvertTable.get(dTran.getTo()); + char label = dTran.getLabel(); + + FA_Edge curEdge = new FA_Edge(label, curTo); + curStart.getFollows().add(curEdge); + + Map curMove = move.get(curStart); + if (curMove != null) { + curMove.put(label, curTo); + } else { + curMove = new HashMap<>(); + curMove.put(label, curTo); + move.put(curStart, curMove); + } + } + + // 打印真正 DFA 的状态对应表 + logger.info("NFA 经过子集构造法完成后真正的状态转换表"); + showDFATrans(move); + + curStates.sort(comparator); + curTerminatedStates.sort(comparator); + + DFA dfa = new DFA(); + dfa.setStart(curStates.get(0)); + dfa.setAlphabet(nfa.getAlphabet()); + dfa.setStates(curStates); + dfa.setTerminatedStates(curTerminatedStates); + dfa.setMove(move); + + // 将原 NFA 对应的模式 pattern 加入现在的 DFA 映射 + DFA_StatePatternMappingController.add(dfa, NFA_StatePatternMappingController.getMap().get(nfa)); + return dfa; + } + + + /** + * @param dfa 需要被优化的DFA + * @return 具有最少状态的DFA + */ + public DFA optimize(DFA dfa) { + List nonTerminatedStates = new FA_StatesList(); + List terminatedStates = dfa.getTerminatedStates(); + List alphabet = dfa.getAlphabet(); + + // 构造初始两个集合 终结状态/非终结状态 + nonTerminatedStates.addAll(dfa.getStates()); + nonTerminatedStates.removeAll(terminatedStates); + + nonTerminatedStates.sort(comparator); + terminatedStates.sort(comparator); + + // 第一次分的这两个集合手动排序,让程序先处理非终结状态 + List nodes = new FA_NodesList(); + + if (nonTerminatedStates.size() > 0) { + // 只有终结态 + FA_Node node1 = new FA_Node(nonTerminatedStates); + nodes.add(node1); + } + FA_Node node2 = new FA_Node(terminatedStates); + nodes.add(node2); + + // while 循环保证算法的 traceBacking 回头看 + while (true) { + // 所有叶节点内部的 FA_State 都是等价的 + boolean isWeakEqual = true; + for (int i = 0; i < nodes.size(); i++) { + + // 节点中只有一个状态,已是最少,无需再进行分化此节点 + if (nodes.get(i).getStates().size() == 1) { + continue; + } + + // 子集分化 + for (int j = 0; j < alphabet.size(); ) { + + char c = alphabet.get(j); + List tempResult = optimizeOneNodeOneChar(dfa, nodes, nodes.get(i), c); + + nodes.remove(i); + nodes.addAll(i, tempResult); + + if (tempResult.size() > 1) { + // 发生了子集替换,重新遍历每个 label + isWeakEqual = false; + j = 0; + } else { + j++; + } + } + + } + + // 全都弱等价,结束算法 + if (isWeakEqual) break; + } + + // 重构 DFA + return reconstruction(dfa, nodes); + } + + /** + * 在特定字母下子集分化一个 FA_Node 节点 + * + * @param dfa 当前 DFA + * @param curDivision 目前的分化 + * @param node 要优化的叶节点 + * @param c 分化基于的条件 + */ + private List optimizeOneNodeOneChar(final DFA dfa, List curDivision, FA_Node node, char c) { + List result = new FA_NodesList(); + + if (node.getStates().size() == 1) { + // 节点中只有一个状态,已是最少,无需再进行分化此节点 + result.add(node); + return result; + } + + // 在此 label 下分别无后继分化、有后继分化 + List parentToNull = new FA_StatesList(); + Map parentToSon = new HashMap<>(); + + for (FA_State parentState : node.getStates()) { + // 该节点在该映射条件下的后继 + Map curEdges = dfa.getMove().get(parentState); + if (curEdges != null) { + FA_State sonState = curEdges.get(c); + if (sonState != null) { + // 有后继边且后继边中有 label 为 c 的边 + parentToSon.put(parentState, sonState); + } else { + parentToNull.add(parentState); + } + } else { + parentToNull.add(parentState); + } + } + + if (parentToNull.size() != 0) { + parentToNull.sort(comparator); + result.add(new FA_Node(parentToNull)); + } + + if (parentToSon.size() != 0) { + // 判断 following 是不是在同一叶节点中(FA_Node 为此次判断中原来的Node,List 为此 Node 下的父节点) + Map> judge = new HashMap<>(); + for (Map.Entry entry : parentToSon.entrySet()) { + FA_State sonState = entry.getValue(); + FA_Node belongingNode = getBelongingNode(curDivision, sonState); + if (judge.get(belongingNode) == null) { + List temp = new FA_StatesList(); + temp.add(entry.getKey()); + judge.put(belongingNode, temp); + } else { + judge.get(belongingNode).add(entry.getKey()); + } + } + + if (judge.size() > 1) { + // 形成了不同的分化 + for (List states : judge.values()) { + states.sort(comparator); + result.add(new FA_Node(states)); + } + } else { + // parentToSon 不形成新分化 + List states = new FA_StatesList(parentToSon.keySet()); + states.sort(comparator); + result.add(new FA_Node(states)); + } + } + + return result; + } + + /** + * 找到当前状态所在的节点 + */ + private FA_Node getBelongingNode(List curDivision, FA_State state) { + for (FA_Node node : curDivision) { + if (node.getStates().contains(state)) return node; + } + return null; + } + + /** + * 根据子集分化的算法结果,对 DFA 重的等价状态进行合并 + */ + private DFA reconstruction(DFA dfa, List nodes) { + // <被删除的状态节点, 用于替换的状态节点> + Map deleteTran = new HashMap<>(); + for (FA_Node node : nodes) { + // 只需要第一个状态作为代表,从后面向前记录要删除的节点 + List division = node.getStates(); + for (int i = 1; i < division.size(); i++) { + deleteTran.put(division.get(i), division.get(0)); + } + } + + // 移除这些状态 + List needDeleteStates = new FA_StatesList(deleteTran.keySet()); + needDeleteStates.sort(comparator); + + // 转移链接关系 + // 需移除节点 指向 其他节点 + for (FA_State state : needDeleteStates) { + dfa.getMove().remove(state); + } + + // 其他节点 指向 需移除节点 + Map> newMove = new LinkedHashMap<>(); + for (Map.Entry> curMove : dfa.getMove().entrySet()) { + FA_State curStart = curMove.getKey(); + + if (newMove.get(curStart) == null) { + Map edges = new LinkedHashMap<>(); + newMove.put(curStart, edges); + } + + // 转换表 + for (Map.Entry curEdge : curMove.getValue().entrySet()) { + char label = curEdge.getKey(); + FA_State deleteState = curEdge.getValue(); + if (needDeleteStates.contains(curEdge.getValue())) { + newMove.get(curStart).put(label, deleteTran.get(deleteState)); + } else { + newMove.get(curStart).put(label, deleteState); + } + } + + // 状态链接 + for (FA_Edge curEdge : curStart.getFollows()) { + if (needDeleteStates.contains(curEdge.getPointTo())) { + curEdge.setPointTo(deleteTran.get(curEdge.getPointTo())); + } + } + } + + dfa.getStates().removeAll(needDeleteStates); + dfa.getTerminatedStates().removeAll(needDeleteStates); + dfa.setMove(newMove); + + // 如果删除了初始节点 + if (needDeleteStates.contains(dfa.getStart())) { + dfa.setStart(deleteTran.get(dfa.getStart())); + } + + logger.info("DFA 已经优化为最少数目"); + showDFATrans(dfa.getMove()); + return dfa; + } + + /** + * 输出 NFA 的转换信息到控制台 + */ + private void showDFATrans(Map> move) { + for (Map.Entry> entryState : move.entrySet()) { + FA_State start = entryState.getKey(); + for (Map.Entry entryEdge : entryState.getValue().entrySet()) { + logger.info(start.getStateID() + " through " + entryEdge.getKey() + " to " + entryEdge.getValue().getStateID()); + } + } + } +} diff --git a/src/main/java/finiteAutomata/FA_Controller.java b/src/main/java/finiteAutomata/FA_Controller.java new file mode 100644 index 0000000..bf4cad3 --- /dev/null +++ b/src/main/java/finiteAutomata/FA_Controller.java @@ -0,0 +1,50 @@ +package finiteAutomata; + +import exceptions.UnexpectedRegularExprRuleException; +import finiteAutomata.entity.DFA; +import finiteAutomata.entity.NFA; +import org.apache.log4j.Logger; + +import java.util.LinkedList; +import java.util.List; + +/** + * Created by cuihua on 2017/10/27. + *

+ * 控制将输入的所有 RE 转换为拥有最少数目状态的 DFA + */ +public class FA_Controller { + + private static final Logger logger = Logger.getLogger(FA_Controller.class); + + public List lexicalAnalysis(List res, List patternType) { + RegularExpressionHandler rgHandler = new RegularExpressionHandler(); + NFA_Handler nfaHandler = new NFA_Handler(); + DFA_Handler dfaHandler = new DFA_Handler(); + + // 对每个正则定义依次生成最小 DFA + List result = new LinkedList<>(); + for (int i = 0; i < res.size(); i++) { + // 处理当前 RE + String re = res.get(i); + try { + re = rgHandler.convertInfixToPostfix(rgHandler.standardizeRE(re)); + logger.debug("正在处理正则定义 " + re); + } catch (UnexpectedRegularExprRuleException e) { + e.printStackTrace(); + } + + // RE => NFA + NFA nfa = nfaHandler.getFromRE(re, patternType.get(i)); + logger.debug("将正则定义 " + re + " 成功转化为 NFA"); + + // 转化为最小DFA + DFA dfa = dfaHandler.optimize(dfaHandler.getFromNFA(nfa)); + logger.debug("正则定义 " + re + " 的状态数量: " + dfa.getStates().size()); + + result.add(dfa); + } + + return result; + } +} diff --git a/src/main/java/finiteAutomata/NFA_Handler.java b/src/main/java/finiteAutomata/NFA_Handler.java new file mode 100644 index 0000000..fafbf6e --- /dev/null +++ b/src/main/java/finiteAutomata/NFA_Handler.java @@ -0,0 +1,305 @@ +package finiteAutomata; + +import finiteAutomata.entity.FA_Edge; +import finiteAutomata.entity.FA_State; +import finiteAutomata.entity.NFA; +import utilties.FA_StateComparator; +import utilties.FA_StateIDController; +import utilties.FA_StatesList; +import utilties.NFA_StatePatternMappingController; + +import java.util.LinkedList; +import java.util.List; +import java.util.Stack; + +/** + * Created by cuihua on 2017/10/27. + *

+ * 对 NFA 进行处理 + * RE => NFA + * combine 多个 NFA + */ +public class NFA_Handler { + + private static FA_StateComparator comparator = new FA_StateComparator(); + + /** + * @param re 标准化的正则定义后缀表达式 + * @param patternType 此正则定义对应的模式 patternType + * @return 此正则定义对应的NFA + */ + public NFA getFromRE(String re, String patternType) { + // 栈中暂时保存处理过的NFA + Stack handling = new Stack<>(); + + for (int i = 0; i < re.length(); i++) { + char c = re.charAt(i); + + if (c == '\\') { + // 转义字符不作为连接符,直接连接 + handling = add(handling, re.charAt(i+1)); + i++; + } else { + switch (c) { + case '·': + handling = join(handling); + break; + case '|': + handling = or(handling); + break; + case '*': + handling = closure(handling); + break; + default: + handling = add(handling, c); + break; + } + } + } + + // 映射 NFA 与其对应的模式 pattern + NFA result = handling.get(0); + NFA_StatePatternMappingController.add(result, patternType); + + // 最终栈中剩下的唯一NFA即为所求 + return result; + } + + /** + * 将字符c转换为一个NFA + */ + private Stack add(Stack handling, char c) { + int nowID = FA_StateIDController.getID(); + + FA_State start = new FA_State(nowID); + FA_State end = new FA_State(++nowID); + FA_StateIDController.setID(++nowID); + + FA_Edge edge = new FA_Edge(c, end); + List follows = new LinkedList<>(); + follows.add(edge); + start.setFollows(follows); + + + // 构造NFA,边的标记为 ε 时,不计入字母表 + List alphabet = new LinkedList<>(); + if (c != 'ε') alphabet.add(c); + + List terminatedStates = new FA_StatesList(); + terminatedStates.add(end); + + List states = new FA_StatesList(); + states.add(start); + states.add(end); + + NFA newNFA = new NFA(); + newNFA.setStart(start); + newNFA.setAlphabet(alphabet); + newNFA.setTerminatedStates(terminatedStates); + newNFA.setStates(states); + + // 得到结果压栈 + handling.push(newNFA); + return handling; + } + + /** + * 根据连接符取栈顶两个NFA连接 + */ + private Stack join(Stack handling) { + NFA after = handling.pop(); + NFA before = handling.pop(); + + // 将after加到before后面 + FA_State joinStart = before.getTerminatedStates().get(0); + FA_State joinEnd = after.getStart(); + + FA_Edge joinEdge = new FA_Edge('ε', joinEnd); + List follows = new LinkedList<>(); + follows.add(joinEdge); + joinStart.setFollows(follows); + + // 连接之后字母表取无重复并集,所有状态相加,终止态变为after,起始态不变 + List beforeAlphabet = before.getAlphabet(); + List afterAlphabet = after.getAlphabet(); + beforeAlphabet.removeAll(afterAlphabet); + beforeAlphabet.addAll(afterAlphabet); + + List beforeStates = before.getStates(); + beforeStates.addAll(after.getStates()); + before.setTerminatedStates(after.getTerminatedStates()); + + handling.push(before); + return handling; + } + + /** + * 根据或符取栈顶两个NFA做或操作 + */ + private Stack or(Stack handling) { + NFA nfa1 = handling.pop(); + NFA nfa2 = handling.pop(); + + // 新增两个连接态 + int nowID = FA_StateIDController.getID(); + FA_State newStart = new FA_State(nowID); + FA_State newEnd = new FA_State(++nowID); + FA_StateIDController.setID(++nowID); + + // 将 nfa1 和 nfa2 并联 + FA_State preStart1 = nfa1.getStart(); + FA_State preStart2 = nfa2.getStart(); + FA_State preEnd1 = nfa1.getTerminatedStates().get(0); + FA_State preEnd2 = nfa2.getTerminatedStates().get(0); + + FA_Edge orEdge1 = new FA_Edge('ε', preStart1); + FA_Edge orEdge2 = new FA_Edge('ε', preStart2); + FA_Edge orEdge3 = new FA_Edge('ε', newEnd); + FA_Edge orEdge4 = new FA_Edge('ε', newEnd); + + // 完善开始态 + List startFollows = new LinkedList<>(); + startFollows.add(orEdge1); + startFollows.add(orEdge2); + newStart.setFollows(startFollows); + + // 修改原终止态 + List preEndFollows1 = new LinkedList<>(); + preEndFollows1.add(orEdge3); + preEnd1.setFollows(preEndFollows1); + List preEndFollows2 = new LinkedList<>(); + preEndFollows2.add(orEdge4); + preEnd2.setFollows(preEndFollows2); + + // 重新构造NFA,字母集为无重复并集,所有状态相加,开始态和终止态为新态 + List alphabet = new LinkedList<>(); + alphabet.addAll(nfa1.getAlphabet()); + alphabet.removeAll(nfa2.getAlphabet()); + alphabet.addAll(nfa2.getAlphabet()); + + List terminatedStates = new FA_StatesList(); + terminatedStates.add(newEnd); + + List states = new FA_StatesList(); + states.addAll(nfa1.getStates()); + states.addAll(nfa2.getStates()); + states.add(newStart); + states.add(newEnd); + + NFA newNFA = new NFA(); + newNFA.setStart(newStart); + newNFA.setAlphabet(alphabet); + newNFA.setTerminatedStates(terminatedStates); + newNFA.setStates(states); + + handling.push(newNFA); + return handling; + } + + /** + * 取栈顶NFA做闭包操作 + */ + private Stack closure(Stack handling) { + NFA nfa = handling.pop(); + + // 新增两个连接态 + int nowID = FA_StateIDController.getID(); + FA_State newStart = new FA_State(nowID); + FA_State newEnd = new FA_State(++nowID); + FA_StateIDController.setID(++nowID); + + // 新增连接边 + FA_State preStart = nfa.getStart(); + FA_State preEnd = nfa.getTerminatedStates().get(0); + + FA_Edge newEdge1 = new FA_Edge('ε', preStart); + FA_Edge newEdge2 = new FA_Edge('ε', newEnd); + FA_Edge newEdge3 = new FA_Edge('ε', newEnd); + FA_Edge newEdge4 = new FA_Edge('ε', preStart); + + List startFollows = new LinkedList<>(); + startFollows.add(newEdge1); + startFollows.add(newEdge3); + newStart.setFollows(startFollows); + + // 修改原终止态 + List preEndFollows = new LinkedList<>(); + preEndFollows.add(newEdge2); + preEndFollows.add(newEdge4); + preEnd.setFollows(preEndFollows); + + // 对闭包NFA,字母表不变,修改开始态、终止态、所有状态 + nfa.setStart(newStart); + + List terminatedStates = new FA_StatesList(); + terminatedStates.add(newEnd); + nfa.setTerminatedStates(terminatedStates); + + List states = nfa.getStates(); + states.add(newStart); + states.add(newEnd); + + handling.push(nfa); + return handling; + } + + + /** + * @param nfaStack 需要被连接的所有NFA + * @return 连接为一个NFA + */ + public NFA combine(Stack nfaStack) { + if (nfaStack.size() > 1) { + while (nfaStack.size() > 1) { + NFA nfa1 = nfaStack.pop(); + NFA nfa2 = nfaStack.pop(); + + NFA newNFA = combineTwoNFA(nfa1, nfa2); + nfaStack.push(newNFA); + } + } + return nfaStack.pop(); + } + + private NFA combineTwoNFA(NFA nfa1, NFA nfa2) { + // 增加一个新的起始节点作为初始态 + int nowID = FA_StateIDController.getID(); + FA_State newStart = new FA_State(nowID); + FA_StateIDController.setID(++nowID); + + // 连接原来的两个NFA + FA_Edge newEdge1 = new FA_Edge('ε', nfa1.getStart()); + FA_Edge newEdge2 = new FA_Edge('ε', nfa2.getStart()); + + List startFollows = new LinkedList<>(); + startFollows.add(newEdge1); + startFollows.add(newEdge2); + newStart.setFollows(startFollows); + + // 重新构造NFA,字母集为无重复并集,所有状态和终止态相加,开始态为新态 + List alphabet = new LinkedList<>(); + alphabet.addAll(nfa1.getAlphabet()); + alphabet.removeAll(nfa2.getAlphabet()); + alphabet.addAll(nfa2.getAlphabet()); + + List terminatedStates = new FA_StatesList(); + terminatedStates.addAll(nfa1.getTerminatedStates()); + terminatedStates.addAll(nfa2.getTerminatedStates()); + terminatedStates.sort(comparator); + + List states = new FA_StatesList(); + states.addAll(nfa1.getStates()); + states.addAll(nfa2.getStates()); + states.add(newStart); + states.sort(comparator); + + NFA newNFA = new NFA(); + newNFA.setStart(newStart); + newNFA.setAlphabet(alphabet); + newNFA.setTerminatedStates(terminatedStates); + newNFA.setStates(states); + + return newNFA; + } + +} diff --git a/src/main/java/finiteAutomata/RegularExpressionHandler.java b/src/main/java/finiteAutomata/RegularExpressionHandler.java new file mode 100644 index 0000000..939c50f --- /dev/null +++ b/src/main/java/finiteAutomata/RegularExpressionHandler.java @@ -0,0 +1,524 @@ +package finiteAutomata; + +import exceptions.UnexpectedRegularExprRuleException; +import org.apache.commons.lang3.ArrayUtils; +import org.apache.log4j.Logger; +import utilties.ExtendedMark; +import utilties.SquareBracketMarkInnerType; + +import java.util.LinkedList; +import java.util.List; +import java.util.Stack; + +/** + * Created by cuihua on 2017/10/25. + *

+ * 输入的正则表达式 + */ +public class RegularExpressionHandler { + + private static final Logger logger = Logger.getLogger(RegularExpressionHandler.class); + + /** + * 不可能存在的正则定义 + */ + private static List unexpectedRERules; + + /** + * 标准化的正则表达式中优先级序列 + * 优先级越高,越靠后 + */ + private static List priority; + + /** + * 匹配如 [a-z] + */ + private static char[] lowCaseCharSequence = { + 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', + 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z' + }; + + /** + * 匹配如 [A-Z] + */ + private static char[] upCaseCharSequence = { + 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', + 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z' + }; + + /** + * 匹配如 [0-9] + */ + private static char[] intSequence = { + '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' + }; + + public RegularExpressionHandler() { + unexpectedRERules = new LinkedList<>(); + unexpectedRERules.add("(*"); + unexpectedRERules.add("(|"); + unexpectedRERules.add("|)"); + unexpectedRERules.add("|*"); + unexpectedRERules.add("||"); + unexpectedRERules.add("·)"); + unexpectedRERules.add("·*"); + unexpectedRERules.add("·|"); + unexpectedRERules.add("(·"); + unexpectedRERules.add("|·"); + unexpectedRERules.add("··"); + + priority = new LinkedList<>(); + priority.add(0, '('); + priority.add(1, '·'); + priority.add(2, '|'); + priority.add(3, '*'); + } + + /** + * 默认re不含有连接符 + * 将扩展符 +、?、{}、[] 用基本符号代替 + * 添加省略的连接符'·'(对所有操作符画出所有的可能情况) + * + * @param re 输入的正则表达式 + * @return 标准的没有扩展语法如[], +, ? + */ + public String standardizeRE(String re) throws UnexpectedRegularExprRuleException { + // 替换所有空格,便于控制 + re = re.replace(" ", ""); + + // 替换扩展符号,result存储替换后的字符串,differ表示替换前后的对当前处理字符的Index差 + StringBuffer result = new StringBuffer().append(re); + int differ = 0; + for (int i = 0; i < re.length(); i++) { + char c = re.charAt(i); + + if (c == '\\') { + // 转义字符跳过处理 + i++; + } else { + int preLength = result.length(); + if (c == '?') { + result = standardizeExtendedMark(result, i + differ, ExtendedMark.QUESTION_MARK); + } + if (c == '+') { + result = standardizeExtendedMark(result, i + differ, ExtendedMark.PLUS_MARK); + } + if (c == '{') { + result = standardizeExtendedMark(result, i + differ, ExtendedMark.BRACE_MARK); + } + if (c == '[') { + result = standardizeSquareBracketMark(result, i + differ); + } + differ += result.length() - preLength; + } + } + + String tempResult = result.toString(); + checkREValidation(tempResult); + + + // 补充连接符,joinCount表示连接前后的对当前处理字符的Index差,curCharIsTransferred表示当前字符是否是转义字符 + int joinCount = 0; + boolean curCharIsTransferred = false; + for (int i = 0; i < tempResult.length() - 1; i++) { + char before = tempResult.charAt(i); + char after = tempResult.charAt(i + 1); + + if (before == '\\') { + // 转义字符之间不添加连接符,跳过检查下一个操作符 + curCharIsTransferred = true; + continue; + } + + // 合法情况下含有连接符号的都不需要处理 + if (before == '·' || after == '·') { + curCharIsTransferred = false; + continue; + } + + if (after == '(' || isValidChar(false, after)) { + if (before == ')' || before == '*' || isValidChar(curCharIsTransferred, before)) { + result = standardizeJoinMark(result, i + joinCount); + joinCount++; + } + } + + curCharIsTransferred = false; + } + return result.toString(); + } + + /** + * 处理扩展符号(+ / ? / {}) + */ + private StringBuffer standardizeExtendedMark(final StringBuffer re, int markIndex, ExtendedMark mark) throws UnexpectedRegularExprRuleException { + StringBuffer result = new StringBuffer(); + + // ? 前面是括号,需要找到核 + String content; + int contentStartIndex; + + if (re.charAt(markIndex - 1) == ')') { + // 核为非单字符 + contentStartIndex = getContentStartIndexOfExtendedMark(re, markIndex); + content = re.substring(contentStartIndex, markIndex); + } else { + // 核直接是前面的单个字符 + if (markIndex >= 2 && re.charAt(markIndex - 2) == '\\') { + // 核为转义字符 + contentStartIndex = markIndex - 2; + content = re.substring(contentStartIndex, markIndex); + } else { + // 核为普通单个字符 + contentStartIndex = markIndex - 1; + content = String.valueOf(re.charAt(markIndex - 1)); + } + } + + result.append(re.substring(0, contentStartIndex)); + + if (mark == ExtendedMark.QUESTION_MARK) result.append("(ε|").append(content).append(')'); + else if (mark == ExtendedMark.PLUS_MARK) result.append(content).append(content).append('*'); + else if (mark == ExtendedMark.BRACE_MARK) { + // 大括号里面的内容 + String sub = re.substring(markIndex + 1); + int braceEndIndex = sub.indexOf("}"); + int commaIndex = sub.indexOf(","); + + if (braceEndIndex == -1) throw new UnexpectedRegularExprRuleException(re.toString()); + + if (commaIndex == -1) { + // {n} 类型。没有逗号,只有数字,重复数字遍即可 + int times = Integer.parseInt(sub.substring(0, braceEndIndex)); + for (int i = 0; i < times; i++) { + result.append(content); + } + } else { + if (commaIndex == 0) { + // {, n} 类型,重复0-n遍 + int times = Integer.parseInt(sub.substring(1, braceEndIndex)); + for (int i = 0; i < times; i++) { + result.append("(ε|").append(content).append(')'); + } + } else if (commaIndex == braceEndIndex - 1) { + // {n, } 类型,重复最少n遍 + int times = Integer.parseInt(sub.substring(0, commaIndex)); + for (int i = 0; i < times; i++) { + result.append(content); + } + result.append(content).append("*"); + } else { + // {m, n} 类型,最少m遍,最多n遍 + int mTimes = Integer.parseInt(sub.substring(0, commaIndex)); + int nTimes = Integer.parseInt(sub.substring(commaIndex + 1, braceEndIndex)); + for (int i = 0; i < mTimes; i++) { + result.append(content); + } + for (int i = mTimes; i < nTimes; i++) { + result.append("(ε|").append(content).append(')'); + } + } + } + + // 如果 {} 不是最后一个字符,加上后续字符 + if (braceEndIndex != re.length() - 1) result.append(sub.substring(braceEndIndex + 1)); + } + + if (mark == ExtendedMark.QUESTION_MARK | mark == ExtendedMark.PLUS_MARK) { + // 如果 +/? 不是最后一个字符,加上后续字符 + if (markIndex != re.length() - 1) result.append(re.substring(markIndex + 1)); + } + logger.debug(result); + return result; + } + + /** + * 找到扩展符号(+ / ? / {})作用的核的左括号 + */ + private int getContentStartIndexOfExtendedMark(final StringBuffer re, int markIndex) { + int pairCount = 0; + + int contentStartIndex; + for (contentStartIndex = markIndex - 1; contentStartIndex >= 0; contentStartIndex--) { + char c = re.charAt(contentStartIndex); + if (c == ')') pairCount++; + else if (c == '(') { + if (pairCount == 1) break; + else pairCount--; + } + } + return contentStartIndex; + } + + /** + * 增加省略的连接符(·) + * + * @param joinIndex 需要在两个字符中间添加连接符号,第一个字符的index + */ + private StringBuffer standardizeJoinMark(final StringBuffer re, int joinIndex) { + StringBuffer sb = new StringBuffer(); + sb.append(re.substring(0, joinIndex + 1)).append('·').append(re.substring(joinIndex + 1)); + return sb; + } + + /** + * 将方括号里面的内容替换为普通的表达式 + */ + private StringBuffer standardizeSquareBracketMark(final StringBuffer re, int markIndex) + throws UnexpectedRegularExprRuleException { + StringBuffer result = new StringBuffer(); + result.append(re.substring(0, markIndex)); + + // 方括号里面的内容 + String sub = re.substring(markIndex + 1); + int bracketEndIndex = sub.indexOf("]"); + + if (bracketEndIndex == -1) throw new UnexpectedRegularExprRuleException(re.toString()); + + String bracketContent = sub.substring(0, bracketEndIndex); + + List bracketCompleted = new LinkedList<>(); + for (int i = 0; i < bracketContent.length(); ) { + if (i < bracketContent.length() - 1 && bracketContent.charAt(i + 1) == '-') { + // 是连字符形式,按范围或起来 + char start = bracketContent.charAt(i); + char end = bracketContent.charAt(i + 2); + + int startIndex, endIndex; + if (ArrayUtils.contains(lowCaseCharSequence, start)) { + // 小写字母 + startIndex = ArrayUtils.indexOf(lowCaseCharSequence, start); + endIndex = ArrayUtils.indexOf(lowCaseCharSequence, end); + bracketCompleted.add(standardizeSquareBracketMarkSeparatorToCompleted(startIndex, endIndex, + SquareBracketMarkInnerType.LOW_CHAR)); + } else if (ArrayUtils.contains(upCaseCharSequence, start)) { + // 大写字母 + startIndex = ArrayUtils.indexOf(upCaseCharSequence, start); + endIndex = ArrayUtils.indexOf(upCaseCharSequence, end); + bracketCompleted.add(standardizeSquareBracketMarkSeparatorToCompleted(startIndex, endIndex, + SquareBracketMarkInnerType.UP_CHAR)); + } else if (ArrayUtils.contains(intSequence, start)) { + // 数字 + startIndex = ArrayUtils.indexOf(intSequence, start); + endIndex = ArrayUtils.indexOf(intSequence, end); + bracketCompleted.add(standardizeSquareBracketMarkSeparatorToCompleted(startIndex, endIndex, + SquareBracketMarkInnerType.INT)); + } + + i += 3; + } else { + // 没有被跳过最后一个字(单个字符)/不是连字符形式(单个字符),或起来 + StringBuffer sb = new StringBuffer(); + sb.append(bracketContent.charAt(i)); + bracketCompleted.add(sb); + + i++; + } + } + + + // 将 bracketCompleted 中的结果集或起来 + if (bracketCompleted.size() > 1) { + result.append("(").append(bracketCompleted.get(0)); + for (int i = 1; i < bracketCompleted.size(); i++) { + result.append("|").append(bracketCompleted.get(i)); + + } + result.append(")"); + } else { + result.append(bracketCompleted.get(0)); + } + + if (bracketEndIndex != sub.length() - 1) result.append(sub.substring(bracketEndIndex + 1)); + logger.debug(result); + return result; + } + + /** + * 对 [m-n] 类型的字符串进行补全 + * + * @param startIndex 补全的第一个字母(含) + * @param endIndex 补全的最后一个字母(含) + */ + private StringBuffer standardizeSquareBracketMarkSeparatorToCompleted(int startIndex, int endIndex, + SquareBracketMarkInnerType innerType) { + StringBuffer sb = new StringBuffer(); + sb.append("("); + switch (innerType) { + case LOW_CHAR: + for (int i = startIndex; i < endIndex; i++) { + sb.append(lowCaseCharSequence[i]).append("|"); + } + sb.append(lowCaseCharSequence[endIndex]); + break; + + case UP_CHAR: + for (int i = startIndex; i < endIndex; i++) { + sb.append(upCaseCharSequence[i]).append("|"); + } + sb.append(upCaseCharSequence[endIndex]); + break; + + case INT: + for (int i = startIndex; i < endIndex; i++) { + sb.append(intSequence[i]).append("|"); + } + sb.append(intSequence[endIndex]); + break; + } + sb.append(")"); + return sb; + } + + /** + * 检查标准化正则定义的正确性 + */ + private void checkREValidation(final String re) throws UnexpectedRegularExprRuleException { + for (int i = 0; i < re.length() - 1; i++) { + char before = re.charAt(i); + char after = re.charAt(i + 1); + + // 输入RE不合法 + String temp = before + "" + after; + if (unexpectedRERules.contains(temp)) { + throw new UnexpectedRegularExprRuleException(temp); + } + } + + // 转义字符不合法 + // {m, n} 形式已在标准化时处理 + String toCheckComma = re; + int commaIndex; + while ((commaIndex = toCheckComma.indexOf(",")) != -1) { + if (commaIndex == 0) throw new UnexpectedRegularExprRuleException(re); + if (toCheckComma.charAt(commaIndex - 1) != '\\') throw new UnexpectedRegularExprRuleException(re); + else toCheckComma = toCheckComma.substring(commaIndex + 1); + } + + // [m-n] 形式已在标准化时处理 + String toCheckSeparator = re; + int separatorIndex; + while ((separatorIndex = toCheckSeparator.indexOf("-")) != -1) { + if (separatorIndex == 0) throw new UnexpectedRegularExprRuleException(re); + if (toCheckSeparator.charAt(separatorIndex - 1) != '\\') throw new UnexpectedRegularExprRuleException(re); + else toCheckSeparator = toCheckSeparator.substring(separatorIndex + 1); + } + + } + + + /** + * 判断 re 中的输入字符 c 在条件 isTransferred 下是否合法 + */ + private boolean isValidChar(boolean isTransferred, char toTest) { + if (isTransferred) { + // 转义字符 + return isOperand(toTest); + } else { + // 普通字符 + return !isOperand(toTest); + + } + } + + /** + * 判断字符 c 是不是操作符 + */ + private boolean isOperand(char c) { + return (c == '·' || c == '|' || c == '*' || c == '(' || c == ')' || c == '+' || c == '?' || c == '{' || c == '}' + || c == '[' || c == ']' || c == '-') || c == ','; + } + + + /** + * 将标准化后的正则定义的中缀表达式改为后缀表达式 + * 只含有并、或、闭包,括号 + */ + public String convertInfixToPostfix(String re) { + // 存储结果的后缀字符串 + StringBuilder sb = new StringBuilder(re.length()); + + // 操作符的栈 + Stack operandStack = new Stack<>(); + + // 判断当前字符是否是转义字符 + boolean curCharIsTransferred = false; + for (int i = 0; i < re.length(); i++) { + char c = re.charAt(i); + + // 转义的操作符 + if (c == '\\') { + sb.append(c); + curCharIsTransferred = true; + continue; + } + + // 非操作符 + if (isValidChar(curCharIsTransferred, c)) { + sb.append(c); + curCharIsTransferred = false; + continue; + } + + // 操作符 + if (c == '(') operandStack.push('('); + else if (c == ')') { + // 退栈至匹配的'(' + char top; + while ((top = operandStack.pop()) != '(') { + sb.append(top); + } + } else { + if (!operandStack.empty()) { + char top = operandStack.peek(); + + while (true) { + // 退栈高优先级的操作符,最后再压栈当前操作符 + // 没有优先级更高的操作符时跳出 + if (comparePriority(c, top)) { + operandStack.pop(); + sb.append(top); + } else break; + + // 操作栈不为空时继续比较,否则跳出 + if (!operandStack.empty()) { + top = operandStack.peek(); + } else break; + } + + operandStack.push(c); + } else { + // 操作符栈中之前无堆栈,将此操作符压栈 + operandStack.push(c); + } + + } + + curCharIsTransferred = false; + } + + // 栈中剩余操作符 + while (!operandStack.empty()) { + char top = operandStack.pop(); + sb.append(top); + } + + return sb.toString(); + } + + + /** + * @param curChar 当前读取的操作符 + * @param top 当前符号栈的栈顶操作符 + * @return true 如果 curChar 优先级小于等于 top 优先级,top 需要被弹出。false otherwise + */ + private boolean comparePriority(char curChar, char top) { + int curCharIndex = priority.indexOf(curChar); + int topCharIndex = priority.indexOf(top); + + boolean result = (curCharIndex - topCharIndex) <= 0; + logger.debug("优先级:当前符号" + curChar + "小于等于栈顶符号" + top + ": " + result); + return result; + } + +} diff --git a/src/main/java/finiteAutomata/entity/DFA.java b/src/main/java/finiteAutomata/entity/DFA.java new file mode 100644 index 0000000..42a01a5 --- /dev/null +++ b/src/main/java/finiteAutomata/entity/DFA.java @@ -0,0 +1,45 @@ +package finiteAutomata.entity; + +import java.util.Map; + +/** + * Created by cuihua on 2017/10/24. + *

+ * Deterministic FA,确定的有穷自动机 + */ +public class DFA extends FA { + + /** + * DFA 中各状态之间的转换关系 + * 第一个 state(FA_State) 通过 label(Character) 到达第二个 state(FA_State) + */ + private Map> move; + + + public Map> getMove() { + return move; + } + + public void setMove(Map> move) { + this.move = move; + } + + + @Override + public boolean isValid(String lexeme) { + FA_State curState = getStart(); + + for (char c : lexeme.toCharArray()) { + boolean canFind = false; + for (FA_Edge curEdge : curState.getFollows()) { + if (curEdge.getLabel() == c) { + curState = curEdge.getPointTo(); + canFind = true; + break; + } + } + if (!canFind) return false; + } + return getTerminatedStates().contains(curState); + } +} diff --git a/src/main/java/finiteAutomata/entity/DTran.java b/src/main/java/finiteAutomata/entity/DTran.java new file mode 100644 index 0000000..e58cdd5 --- /dev/null +++ b/src/main/java/finiteAutomata/entity/DTran.java @@ -0,0 +1,74 @@ +package finiteAutomata.entity; + +import org.apache.log4j.Logger; + +import java.util.List; + +/** + * Created by cuihua on 2017/10/24. + *

+ * 标记子集构造法中产生的映射关系 + */ +public class DTran { + + private static Logger logger = Logger.getLogger(DTran.class); + + /** + * 构造中产生的等价转换的出发状态 + */ + private List from; + + /** + * 构造中产生的等价转换的到达状态 + */ + private List to; + + /** + * 标记的转换条件 + */ + private char label; + + public DTran(List from, List to, char label) { + this.from = from; + this.to = to; + this.label = label; + } + + public List getFrom() { + return from; + } + + public void setFrom(List from) { + this.from = from; + } + + public List getTo() { + return to; + } + + public void setTo(List to) { + this.to = to; + } + + public char getLabel() { + return label; + } + + public void setLabel(char label) { + this.label = label; + } + + // 控制台呈现该DTran + public void show() { + StringBuilder sb = new StringBuilder(); + sb.append("\n"); + for (FA_State state : from) { + sb.append(state.getStateID() + " "); + } + sb.append("\n" + label + "\n"); + for (FA_State state : to) { + sb.append(state.getStateID() + " "); + } + logger.debug(sb.toString()); + } +} diff --git a/src/main/java/finiteAutomata/entity/FA.java b/src/main/java/finiteAutomata/entity/FA.java new file mode 100644 index 0000000..10efd87 --- /dev/null +++ b/src/main/java/finiteAutomata/entity/FA.java @@ -0,0 +1,70 @@ +package finiteAutomata.entity; + +import java.util.List; + +/** + * Created by cuihua on 2017/10/24. + *

+ * 表示有穷自动机 + */ +public abstract class FA { + + /** + * 开始状态 + */ + private FA_State start; + + /** + * 所有状态 + */ + private List states; + + /** + * 终止/接受态 + */ + private List terminatedStates; + + /** + * 字母表 + */ + private List alphabet; + + public FA_State getStart() { + return start; + } + + public void setStart(FA_State start) { + this.start = start; + } + + public List getStates() { + return states; + } + + public void setStates(List states) { + this.states = states; + } + + public List getTerminatedStates() { + return terminatedStates; + } + + public void setTerminatedStates(List terminatedStates) { + this.terminatedStates = terminatedStates; + } + + public List getAlphabet() { + return alphabet; + } + + public void setAlphabet(List alphabet) { + this.alphabet = alphabet; + } + + /** + * @param lexeme 要检查的词素 + * @return 词素是否合法 + */ + public abstract boolean isValid(String lexeme); + +} diff --git a/src/main/java/finiteAutomata/entity/FA_Edge.java b/src/main/java/finiteAutomata/entity/FA_Edge.java new file mode 100644 index 0000000..c555bf8 --- /dev/null +++ b/src/main/java/finiteAutomata/entity/FA_Edge.java @@ -0,0 +1,41 @@ +package finiteAutomata.entity; + +/** + * Created by cuihua on 2017/10/24. + *

+ * 有穷自动机中的链接 + */ +public class FA_Edge { + + /** + * 这条边上的标记,空用ε表示 + */ + private char label; + + /** + * 这条边指向的后记状态 + */ + private FA_State pointTo; + + + public FA_Edge(char label, FA_State pointTo) { + this.label = label; + this.pointTo = pointTo; + } + + public char getLabel() { + return label; + } + + public void setLabel(char label) { + this.label = label; + } + + public FA_State getPointTo() { + return pointTo; + } + + public void setPointTo(FA_State pointTo) { + this.pointTo = pointTo; + } +} diff --git a/src/main/java/finiteAutomata/entity/FA_Node.java b/src/main/java/finiteAutomata/entity/FA_Node.java new file mode 100644 index 0000000..bab46ee --- /dev/null +++ b/src/main/java/finiteAutomata/entity/FA_Node.java @@ -0,0 +1,28 @@ +package finiteAutomata.entity; + +import java.util.List; + +/** + * Created by cuihua on 2017/10/26. + *

+ * 最小化 DFA 过程中形成的等价 FA_State 组成的集合 + */ +public class FA_Node { + + /** + * 等价 FA_State + */ + private List states; + + public FA_Node(List states) { + this.states = states; + } + + public List getStates() { + return states; + } + + public void setStates(List states) { + this.states = states; + } +} diff --git a/src/main/java/finiteAutomata/entity/FA_State.java b/src/main/java/finiteAutomata/entity/FA_State.java new file mode 100644 index 0000000..16602be --- /dev/null +++ b/src/main/java/finiteAutomata/entity/FA_State.java @@ -0,0 +1,44 @@ +package finiteAutomata.entity; + +import java.util.LinkedList; +import java.util.List; + +/** + * Created by cuihua on 2017/10/24. + *

+ * 有穷自动机中的节点 + */ +public class FA_State { + + /** + * 此节点对应的ID编号 + */ + private int stateID; + + /** + * 此节点对应的后续状态链接 + */ + private List follows; + + + public FA_State(int stateID) { + this.stateID = stateID; + this.follows = new LinkedList<>(); + } + + public int getStateID() { + return stateID; + } + + public void setStateID(int stateID) { + this.stateID = stateID; + } + + public List getFollows() { + return follows; + } + + public void setFollows(List follows) { + this.follows = follows; + } +} diff --git a/src/main/java/finiteAutomata/entity/NFA.java b/src/main/java/finiteAutomata/entity/NFA.java new file mode 100644 index 0000000..92c233a --- /dev/null +++ b/src/main/java/finiteAutomata/entity/NFA.java @@ -0,0 +1,17 @@ +package finiteAutomata.entity; + +/** + * Created by cuihua on 2017/10/24. + *

+ * Nondeterministic FA,不确定的有穷自动机 + */ +public class NFA extends FA { + + /** + * TODO 因为没有使用 NFA 来校验词素,所以等需要的时候再来实现 + */ + @Override + public boolean isValid(String lexeme) { + return false; + } +} diff --git a/src/main/java/lex/LexicalAnalyzer.java b/src/main/java/lex/LexicalAnalyzer.java new file mode 100644 index 0000000..6389ea3 --- /dev/null +++ b/src/main/java/lex/LexicalAnalyzer.java @@ -0,0 +1,41 @@ +package lex; + +import exceptions.NotMatchingException; +import finiteAutomata.entity.DFA; +import lex.entity.Token; +import utilties.DFA_StatePatternMappingController; + +import java.util.List; + +/** + * Created by cuihua on 2017/11/2. + *

+ * 词法分析器 + */ +public class LexicalAnalyzer { + + /** + * 由当前 .l 文件生成的最小 DFA + */ + private List allDFAs; + + public LexicalAnalyzer(List allDFAs) { + this.allDFAs = allDFAs; + } + + /** + * 对每一个词素都进行分析 + * + * @param lexeme 要分析的词素 + * @return 分析结束之后的的结果词法单元 + */ + public Token analyze(String lexeme) throws NotMatchingException { + for (DFA curDFA : allDFAs) { + // 按优先级顺序依次对比,满足了就返回 + if (curDFA.isValid(lexeme)) + return new Token(DFA_StatePatternMappingController.getMap().get(curDFA), lexeme); + } + throw new NotMatchingException(lexeme); + + } +} diff --git a/src/main/java/lex/Main.java b/src/main/java/lex/Main.java new file mode 100644 index 0000000..b7b41fb --- /dev/null +++ b/src/main/java/lex/Main.java @@ -0,0 +1,43 @@ +package lex; + +import exceptions.NotMatchingException; +import finiteAutomata.entity.DFA; +import lex.entity.Token; +import lex.generator.LexInputHandler; +import lex.generator.LexInputReader; + +import java.util.LinkedList; +import java.util.List; + +/** + * Created by cuihua on 2017/11/1. + *

+ * 主程序 + * 输入:用户输入程序 + * 输出:根据已有的 .l 文件输出 Token 序列 + */ +public class Main { + + public static void main(String[] args) throws NotMatchingException { + UserInteractionController userInteractionController = new UserInteractionController(); + List lexemes = userInteractionController.readUserContent(); + + + // 解析 .l 文件代表的 DFA + LexInputReader lexInputReader = new LexInputReader(); + List lexContent = lexInputReader.readREs(); + + LexInputHandler lexInputHandler = new LexInputHandler(lexContent); + List allDFAs = lexInputHandler.convert(); + + // 生成词法分析器 + LexicalAnalyzer lexicalAnalyzer = new LexicalAnalyzer(allDFAs); + List resultTokens = new LinkedList<>(); + for (String lexeme : lexemes) { + resultTokens.add(lexicalAnalyzer.analyze(lexeme)); + } + + userInteractionController.showAllTokens(resultTokens); + + } +} diff --git a/src/main/java/lex/UserInteractionController.java b/src/main/java/lex/UserInteractionController.java new file mode 100644 index 0000000..35c92a7 --- /dev/null +++ b/src/main/java/lex/UserInteractionController.java @@ -0,0 +1,90 @@ +package lex; + +import lex.entity.Token; + +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; +import java.time.LocalDateTime; +import java.util.LinkedList; +import java.util.List; +import java.util.Scanner; + +/** + * Created by cuihua on 2017/11/1. + *

+ * 与使用词法分析器的用户进行交互 + */ +public class UserInteractionController { + + /** + * 读取用户输入并进行简单处理,返回所有的词素 lexemes + */ + public List readUserContent() { + Scanner sc = new Scanner(System.in); + + List lexemes = new LinkedList<>(); + String line; + while (!(line = sc.nextLine()).equals("###")) { + String[] parts = line.split(" "); + for (String lexeme : parts) { + if (!lexeme.equals("")) + lexemes.add(lexeme); + } + } + + return lexemes; + } + + /** + * 向用户展示所有的词法单元结果 + */ + public void showAllTokens(List tokens) { + String s = getTokenOutput(tokens); + showInConsole(s); + try { + showInFile(s); + } catch (IOException e) { + System.out.println("Token 序列输出到文件:失败!"); + } + } + + /** + * 从 token 序列中获取要输出的内容 + */ + private String getTokenOutput(List tokens) { + StringBuilder sb = new StringBuilder(); + sb.append("-------------------\n"); + for (Token token : tokens) { + sb.append("< ").append(token.getPatternType()); + if (token.getAttribute() != null) { + sb.append(", "); + sb.append(token.getAttribute()); + } + sb.append(" >").append("\n"); + } + sb.append("-------------------"); + return sb.toString(); + } + + /** + * 控制台输出 + */ + private void showInConsole(String s) { + System.out.println(s); + } + + /** + * 文件输出 + */ + private void showInFile(String s) throws IOException { + File file = new File(System.getProperty("user.dir") + " "+ LocalDateTime.now() + ".txt"); + if (file.createNewFile()) { + FileWriter writer = new FileWriter(file); + writer.write(s); + writer.flush(); + writer.close(); + } + + } +} diff --git a/src/main/java/lex/entity/Token.java b/src/main/java/lex/entity/Token.java new file mode 100644 index 0000000..6d566ce --- /dev/null +++ b/src/main/java/lex/entity/Token.java @@ -0,0 +1,40 @@ +package lex.entity; + +/** + * Created by cuihua on 2017/10/31. + * + * 词法单元 + */ +public class Token { + + /** + * 模式 + */ + private String patternType; + + /** + * 属性值 + */ + private String attribute; + + public Token(String patternType, String attribute) { + this.patternType = patternType; + this.attribute = attribute; + } + + public String getPatternType() { + return patternType; + } + + public void setPatternType(String patternType) { + this.patternType = patternType; + } + + public String getAttribute() { + return attribute; + } + + public void setAttribute(String attribute) { + this.attribute = attribute; + } +} diff --git a/src/main/java/lex/generator/LexInputHandler.java b/src/main/java/lex/generator/LexInputHandler.java new file mode 100644 index 0000000..1e0c9f8 --- /dev/null +++ b/src/main/java/lex/generator/LexInputHandler.java @@ -0,0 +1,54 @@ +package lex.generator; + +import finiteAutomata.FA_Controller; +import finiteAutomata.entity.DFA; + +import java.util.*; + +/** + * Created by cuihua on 2017/11/1. + *

+ * 处理 Lex .l 文件中的数据(只含有正则定义) + */ +public class LexInputHandler { + + /** + * .l 文件的内容(模式 pattern + 正则定义 re) + */ + private List content; + + /** + * 模式 与 正则定义 的一一映射 + */ + private Map patternREMap; + + public LexInputHandler(List content) { + this.content = content; + initMap(); + } + + /** + * 根据 .l 文件初始化映射表 + * LinkedHashMao 保证顺序与读入顺序相同 + */ + private void initMap() { + patternREMap = new LinkedHashMap<>(); + for (String line : content) { + String[] parts = line.split(" "); + patternREMap.put(parts[0], parts[1]); + } + } + + /** + * .l 文件内容对应的 DFA + */ + public List convert() { + // 处理正则定义 + List res = new LinkedList<>(patternREMap.values()); + List patternTypes = new LinkedList<>(patternREMap.keySet()); + + FA_Controller controller = new FA_Controller(); + return controller.lexicalAnalysis(res, patternTypes); + } + +} diff --git a/src/main/java/lex/generator/LexInputReader.java b/src/main/java/lex/generator/LexInputReader.java new file mode 100644 index 0000000..b4e3910 --- /dev/null +++ b/src/main/java/lex/generator/LexInputReader.java @@ -0,0 +1,36 @@ +package lex.generator; + +import java.io.InputStream; +import java.util.LinkedList; +import java.util.List; +import java.util.Scanner; + +/** + * Created by cuihua on 2017/10/24. + *

+ * 用于读取 Lex 的规格 .l 文件 + */ +public class LexInputReader { + + /** + * .l 文件的路径 + */ + private static final String path = "regular_expression.l"; + + public LexInputReader() { + } + + /** + * 从 .l 文件中读取数据 + */ + public List readREs() { + InputStream is = getClass().getClassLoader().getResourceAsStream(path); + Scanner sc = new Scanner(is); + + List reContent = new LinkedList<>(); + while (sc.hasNext()) { + reContent.add(sc.nextLine()); + } + return reContent; + } +} diff --git a/src/main/java/utilties/ClosureRecursionHandler.java b/src/main/java/utilties/ClosureRecursionHandler.java new file mode 100644 index 0000000..c959710 --- /dev/null +++ b/src/main/java/utilties/ClosureRecursionHandler.java @@ -0,0 +1,55 @@ +package utilties; + +import finiteAutomata.entity.FA_State; +import org.apache.log4j.Logger; + +import java.util.List; + +/** + * Created by cuihua on 2017/10/27. + *

+ * 解决递归 closure 时循环处理的问题 + */ +public class ClosureRecursionHandler { + + private static Logger logger = Logger.getLogger(ClosureRecursionHandler.class); + + private static List states = new FA_StatesList(); + private static FA_StateComparator comparator = new FA_StateComparator(); + + private ClosureRecursionHandler() { + } + + /** + * 清理当前处理的现场 + */ + public static void reset() { + states = new FA_StatesList(); + logger.debug("Already reset the ClosureRecursionHandler"); + } + + /** + * 增加一个 state,需保证整个 list 是排好序的,才能被复写的二分法找到 + */ + public static void addState(FA_State state) { + states.add(state); + states.sort(comparator); + } + + /** + * 增加一堆 state list,需保证整个 list 是排好序的,才能被复写的二分法找到 + */ + public static void addAllState(List newStates) { + states.addAll(newStates); + states.sort(comparator); + } + + /** + * 检测 states 中是否含有参数 state + */ + public static boolean contain(FA_State state) { + boolean result = states.contains(state); + logger.debug("State " + state.getStateID() + " is contained: " + result); + return result; + } +} diff --git a/src/main/java/utilties/DFA_StatePatternMappingController.java b/src/main/java/utilties/DFA_StatePatternMappingController.java new file mode 100644 index 0000000..28032cb --- /dev/null +++ b/src/main/java/utilties/DFA_StatePatternMappingController.java @@ -0,0 +1,31 @@ +package utilties; + +import finiteAutomata.entity.DFA; + +import java.util.HashMap; +import java.util.Map; + +/** + * Created by cuihua on 2017/11/2. + *

+ * 统一控制 DFA 与其对应模式的映射 + */ +public class DFA_StatePatternMappingController { + + private static Map map = new HashMap<>(); + + private DFA_StatePatternMappingController() { + } + + public static Map getMap() { + return map; + } + + /** + * 对终止态 state 添加对应的模式 pattern + */ + public static boolean add(DFA dfa, String pattern) { + map.put(dfa, pattern); + return true; + } +} diff --git a/src/main/java/utilties/ExtendedMark.java b/src/main/java/utilties/ExtendedMark.java new file mode 100644 index 0000000..673cd92 --- /dev/null +++ b/src/main/java/utilties/ExtendedMark.java @@ -0,0 +1,10 @@ +package utilties; + +/** + * Created by cuihua on 2017/10/25. + * + * 正则表达式中的扩展符号(+ / ? / {}) + */ +public enum ExtendedMark { + QUESTION_MARK, PLUS_MARK, BRACE_MARK +} diff --git a/src/main/java/utilties/FA_NodeComparator.java b/src/main/java/utilties/FA_NodeComparator.java new file mode 100644 index 0000000..51d3e3a --- /dev/null +++ b/src/main/java/utilties/FA_NodeComparator.java @@ -0,0 +1,42 @@ +package utilties; + +import finiteAutomata.entity.FA_Node; +import finiteAutomata.entity.FA_State; + +import java.util.Comparator; +import java.util.List; + +/** + * Created by cuihua on 2017/10/28. + *

+ * 对当前优化最小化 DFA 的结果集进行排序 + */ +public class FA_NodeComparator implements Comparator { + + + @Override + public int compare(FA_Node o1, FA_Node o2) { + List states1 = o1.getStates(); + List states2 = o2.getStates(); + + int size1 = states1.size(); + int size2 = states2.size(); + + if (size1 < size2) return -1; + else if (size1 > size2) return 1; + else { + // 状态数目相同,逐一比较 + for (int i = 0; i < size1; i++) { + int state1 = states1.get(i).getStateID(); + int state2 = states2.get(i).getStateID(); + + if (state1 < state2) return -1; + else if (state1 > state2) return 1; + } + + // 每个状态都相同 + return 0; + + } + } +} diff --git a/src/main/java/utilties/FA_NodesList.java b/src/main/java/utilties/FA_NodesList.java new file mode 100644 index 0000000..5f63442 --- /dev/null +++ b/src/main/java/utilties/FA_NodesList.java @@ -0,0 +1,33 @@ +package utilties; + +import finiteAutomata.entity.FA_Node; + +import java.util.LinkedList; + +/** + * Created by cuihua on 2017/10/28. + *

+ * 优化 DFA 时使用的数据结构 + * 复写二分法(根据叶节点中 FA_State 的状态数目而定) + */ +public class FA_NodesList extends LinkedList { + + @Override + public int indexOf(Object o) { + int i = ((FA_Node) o).getStates().size(); + + int start = 0; + int end = this.size() - 1; + while (start <= end) { + int middle = (start + end) / 2; + if (i < get(middle).getStates().size()) { + end = middle - 1; + } else if (i > get(middle).getStates().size()) { + start = middle + 1; + } else { + return middle; + } + } + return -1; + } +} diff --git a/src/main/java/utilties/FA_StateComparator.java b/src/main/java/utilties/FA_StateComparator.java new file mode 100644 index 0000000..28ac149 --- /dev/null +++ b/src/main/java/utilties/FA_StateComparator.java @@ -0,0 +1,20 @@ +package utilties; + +import finiteAutomata.entity.FA_State; + +import java.util.Comparator; + +/** + * Created by cuihua on 2017/10/24. + *

+ * 对 ε 闭包的集合进行排序 + */ +public class FA_StateComparator implements Comparator { + + + public int compare(FA_State o1, FA_State o2) { + if (o1.getStateID() < o2.getStateID()) return -1; + else if (o1.getStateID() == o2.getStateID()) return 0; + else return 1; + } +} diff --git a/src/main/java/utilties/FA_StateIDController.java b/src/main/java/utilties/FA_StateIDController.java new file mode 100644 index 0000000..05f9c7c --- /dev/null +++ b/src/main/java/utilties/FA_StateIDController.java @@ -0,0 +1,26 @@ +package utilties; + +/** + * Created by cuihua on 2017/10/26. + * + * 统一控制 FA_State 的序号 + */ +public class FA_StateIDController { + + /** + * 代表从此Controller中取到的当前可使用的ID + */ + private static int nowID; + + private FA_StateIDController() { + FA_StateIDController.nowID = 0; + } + + public static int getID() { + return FA_StateIDController.nowID; + } + + public static void setID(int nowID) { + FA_StateIDController.nowID = nowID; + } +} diff --git a/src/main/java/utilties/FA_StatesList.java b/src/main/java/utilties/FA_StatesList.java new file mode 100644 index 0000000..ff8ecb6 --- /dev/null +++ b/src/main/java/utilties/FA_StatesList.java @@ -0,0 +1,40 @@ +package utilties; + +import finiteAutomata.entity.FA_State; + +import java.util.Collection; +import java.util.LinkedList; + +/** + * Created by cuihua on 2017/10/24. + *

+ * 优化查找为二分法,速度更快 + */ +public class FA_StatesList extends LinkedList { + + public FA_StatesList() { + } + + public FA_StatesList(Collection c) { + super(c); + } + + @Override + public int indexOf(Object o) { + int i = ((FA_State) o).getStateID(); + + int start = 0; + int end = this.size() - 1; + while (start <= end) { + int middle = (start + end) / 2; + if (i < get(middle).getStateID()) { + end = middle - 1; + } else if (i > get(middle).getStateID()) { + start = middle + 1; + } else { + return middle; + } + } + return -1; + } +} diff --git a/src/main/java/utilties/NFA_StatePatternMappingController.java b/src/main/java/utilties/NFA_StatePatternMappingController.java new file mode 100644 index 0000000..e0e2eac --- /dev/null +++ b/src/main/java/utilties/NFA_StatePatternMappingController.java @@ -0,0 +1,31 @@ +package utilties; + +import finiteAutomata.entity.NFA; + +import java.util.HashMap; +import java.util.Map; + +/** + * Created by cuihua on 2017/11/2. + *

+ * 统一控制 NFA 与其对应模式的映射 + */ +public class NFA_StatePatternMappingController { + + private static Map map = new HashMap<>(); + + private NFA_StatePatternMappingController() { + } + + public static Map getMap() { + return map; + } + + /** + * 对终止态 state 添加对应的模式 pattern + */ + public static boolean add(NFA nfa, String pattern) { + map.put(nfa, pattern); + return true; + } +} diff --git a/src/main/java/utilties/SquareBracketMarkInnerType.java b/src/main/java/utilties/SquareBracketMarkInnerType.java new file mode 100644 index 0000000..550dcb8 --- /dev/null +++ b/src/main/java/utilties/SquareBracketMarkInnerType.java @@ -0,0 +1,12 @@ +package utilties; + +/** + * Created by cuihua on 2017/11/3. + * + * [m-n] m, n 的类型 + */ +public enum SquareBracketMarkInnerType { + + LOW_CHAR, UP_CHAR, INT + +} diff --git a/src/main/resources/log4j.properties b/src/main/resources/log4j.properties new file mode 100644 index 0000000..8c22b1d --- /dev/null +++ b/src/main/resources/log4j.properties @@ -0,0 +1,8 @@ +# 调整 rootLogger 的优先级以控制输入态输出的内容 +log4j.rootLogger=info, stdout + +### direct log messages to stdout ### +log4j.appender.stdout=org.apache.log4j.ConsoleAppender +log4j.appender.stdout.Target=System.out +log4j.appender.stdout.layout=org.apache.log4j.PatternLayout +log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n \ No newline at end of file diff --git a/src/main/resources/re_backup b/src/main/resources/re_backup new file mode 100644 index 0000000..ac5836e --- /dev/null +++ b/src/main/resources/re_backup @@ -0,0 +1,13 @@ +separator \,|; +comparator <|>|(<=)|(>=)|(==)|(!=) +assignment = +digit 0|1|2|3|4|5|6|7|8|9 +number (1|2|3|4|5|6|7|8|9)(0|1|2|3|4|5|6|7|8|9)* +letter a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z +id letter(letter|number)* + + +ID aa+ +A (a|b)* +B (a|b)*abb(a|b)* +C aba?a+abb+cc diff --git a/src/main/resources/regular_expression.l b/src/main/resources/regular_expression.l new file mode 100644 index 0000000..751e05b --- /dev/null +++ b/src/main/resources/regular_expression.l @@ -0,0 +1,11 @@ +separator \,|; +comparator <|>|(<=)|(>=)|(==)|(!=) +assignment = +digit [0-9] +number [1-9][0-9]* +letter [a-zA-Z] +word [a-zA-Z]* +quotation "[a-zA-Z]*" +id [a-zA-Z][_a-zA-Z0-9]* +testTransferred1 \{a*b*c{1,3}\} +testTransferred2 \[0\-9\]a* \ No newline at end of file diff --git a/src/test/java/finiteAutomata/DFA_HandlerTest.java b/src/test/java/finiteAutomata/DFA_HandlerTest.java new file mode 100644 index 0000000..29e6cba --- /dev/null +++ b/src/test/java/finiteAutomata/DFA_HandlerTest.java @@ -0,0 +1,196 @@ +package finiteAutomata; + +import finiteAutomata.entity.DFA; +import finiteAutomata.entity.FA_Edge; +import finiteAutomata.entity.FA_State; +import finiteAutomata.entity.NFA; +import org.apache.log4j.Logger; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +import java.lang.reflect.Method; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; + +/** + * DFA_Handler Tester. + * + * @author + * @version 1.0 + * @since

十月 24, 2017
+ */ +public class DFA_HandlerTest { + + private static final Logger logger = Logger.getLogger(DFA_HandlerTest.class); + + private NFA defaultNFA; + + @Before + public void before() throws Exception { + FA_State state1 = new FA_State(1); + FA_State state2 = new FA_State(2); + FA_State state3 = new FA_State(3); + FA_State state4 = new FA_State(4); + FA_State state5 = new FA_State(5); + FA_State state6 = new FA_State(6); + FA_State state7 = new FA_State(7); + FA_State state8 = new FA_State(8); + FA_State state9 = new FA_State(9); + FA_State state10 = new FA_State(10); + + FA_Edge edge1 = new FA_Edge('ε', state2); + FA_Edge edge2 = new FA_Edge('ε', state3); + FA_Edge edge3 = new FA_Edge('a', state4); + FA_Edge edge4 = new FA_Edge('ε', state6); + FA_Edge edge5 = new FA_Edge('ε', state7); + FA_Edge edge6 = new FA_Edge('ε', state8); + FA_Edge edge7 = new FA_Edge('ε', state5); + FA_Edge edge8 = new FA_Edge('ε', state9); + FA_Edge edge9 = new FA_Edge('a', state10); + + List follow1 = new LinkedList<>(); + follow1.add(edge1); + follow1.add(edge2); + state1.setFollows(follow1); + List follow2 = new LinkedList<>(); + follow2.add(edge3); + follow2.add(edge4); + state2.setFollows(follow2); + List follow3 = new LinkedList<>(); + follow3.add(edge5); + follow3.add(edge6); + state3.setFollows(follow3); + List follow4 = new LinkedList<>(); + follow4.add(edge7); + state4.setFollows(follow4); + List follow5 = new LinkedList<>(); + follow5.add(edge8); + state5.setFollows(follow5); + List follow7 = new LinkedList<>(); + follow7.add(edge9); + state7.setFollows(follow7); + + List alphabet = new LinkedList<>(); + alphabet.add('a'); + + List terminatedStates = new LinkedList<>(); + terminatedStates.add(state6); + terminatedStates.add(state8); + terminatedStates.add(state9); + terminatedStates.add(state10); + + List allStates = new LinkedList<>(); + allStates.add(state1); + allStates.add(state2); + allStates.add(state3); + allStates.add(state4); + allStates.add(state5); + allStates.add(state6); + allStates.add(state7); + allStates.add(state8); + allStates.add(state9); + allStates.add(state10); + + defaultNFA = new NFA(); + defaultNFA.setAlphabet(alphabet); + defaultNFA.setStart(state1); + defaultNFA.setTerminatedStates(terminatedStates); + defaultNFA.setStates(allStates); + } + + @After + public void after() throws Exception { + } + + /** + * Method: getFromNFA(NFA defaultNFA) + */ + @Test + public void testGetFromNFA1() throws Exception { + DFA_Handler dfaHandler = new DFA_Handler(); + dfaHandler.getFromNFA(defaultNFA); + + } + + /** + * Method: getFromNFA(NFA defaultNFA) + */ + @Test + public void testGetFromNFA2() throws Exception { + RegularExpressionHandler rgHandler = new RegularExpressionHandler(); + NFA_Handler nfaHandler = new NFA_Handler(); + DFA_Handler dfaHandler = new DFA_Handler(); + +// String re = "((ε|a)b*)*"; + String re = "(a|b)*abb(a|b)*"; + re = rgHandler.convertInfixToPostfix(rgHandler.standardizeRE(re)); + logger.debug("---------------- " + re + " ----------------"); + + NFA finalNFA = nfaHandler.getFromRE(re, null); + logger.debug("*************** finish convert " + re + " to NFA ***************"); + + // 转化为 DFA + DFA dfa = dfaHandler.getFromNFA(finalNFA); + logger.debug("all states size: " + dfa.getStates().size()); + } + + /** + * Method: optimize(DFA defaultNFA) + */ + @Test + public void testOptimize1() throws Exception { + DFA_Handler dfaHandler = new DFA_Handler(); + dfaHandler.optimize(dfaHandler.getFromNFA(defaultNFA)); + } + + /** + * Method: optimize(DFA defaultNFA) + */ + @Test + public void testOptimize2() throws Exception { + RegularExpressionHandler rgHandler = new RegularExpressionHandler(); + NFA_Handler nfaHandler = new NFA_Handler(); + DFA_Handler dfaHandler = new DFA_Handler(); + +// String re = "(a|b)*abb(a|b)*"; + String re = "\\{a*b*c{1,3}\\}"; + re = rgHandler.convertInfixToPostfix(rgHandler.standardizeRE(re)); + NFA finalNFA = nfaHandler.getFromRE(re, null); + DFA dfa = dfaHandler.optimize(dfaHandler.getFromNFA(finalNFA)); + + logger.info("优化后的 DFA 转换表"); + for (Map.Entry> entryState : dfa.getMove().entrySet()) { + FA_State start = entryState.getKey(); + for (Map.Entry entryEdge : entryState.getValue().entrySet()) { + logger.info(start.getStateID() + " through " + entryEdge.getKey() + " to " + entryEdge.getValue().getStateID()); + } + } + } + + + /** + * Method: closure(FA_State nowState) + */ + @Test + public void testClosure() throws Exception { + DFA_Handler dfaHandler = new DFA_Handler(); + + Method method = DFA_Handler.class.getDeclaredMethod("closure", FA_State.class); + method.setAccessible(true); + method.invoke(dfaHandler, defaultNFA.getStart()); + + // 需比对的答案 + // state: closure + // 1: 1, 2, 3, 6, 7, 8 + // 2: 2, 6 + // 3: 3, 7, 8 + // 4: 4, 5, 9 + // 7: 7 +// for (FA_State temp : result) { +// logger.debug(temp.getStateID()); +// } + } + +} diff --git a/src/test/java/finiteAutomata/FA_ControllerTest.java b/src/test/java/finiteAutomata/FA_ControllerTest.java new file mode 100644 index 0000000..a89b057 --- /dev/null +++ b/src/test/java/finiteAutomata/FA_ControllerTest.java @@ -0,0 +1,64 @@ +package finiteAutomata; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import utilties.DFA_StatePatternMappingController; +import utilties.NFA_StatePatternMappingController; + +import java.util.LinkedList; +import java.util.List; + +/** + * FA_Controller Tester. + * + * @author + * @version 1.0 + * @since
十月 27, 2017
+ */ +public class FA_ControllerTest { + + @Before + public void before() throws Exception { + } + + @After + public void after() throws Exception { + } + + /** + * Method: lexicalAnalysis(List res) + */ + @Test + public void testLexicalAnalysis() throws Exception { + FA_Controller controller = new FA_Controller(); + + List res = new LinkedList<>(); +// res.add("a+"); +// res.add("a*|b*"); +// res.add("(a|b)*"); +// res.add("(a*|b*)*"); +// res.add("((ε|a)b*)*"); +// res.add("(a|b)*abb(a|b)*"); +// res.add("aba?a+abb+cc"); +// res.add("\\{a*b*c{1,3}\\}"); + res.add("[a-z0-9]*"); + + + List patterns = new LinkedList<>(); + patterns.add("ID"); + patterns.add("A"); + patterns.add("B"); + patterns.add("C"); + patterns.add("D"); + patterns.add("E"); + patterns.add("F"); + + controller.lexicalAnalysis(res, patterns); +// NFA_StatePatternMappingController.getMap(); + DFA_StatePatternMappingController.getMap(); + + } + + +} diff --git a/src/test/java/finiteAutomata/NFA_HandlerTest.java b/src/test/java/finiteAutomata/NFA_HandlerTest.java new file mode 100644 index 0000000..2dcd278 --- /dev/null +++ b/src/test/java/finiteAutomata/NFA_HandlerTest.java @@ -0,0 +1,59 @@ +package finiteAutomata; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +/** + * NFA Tester. + * + * @author + * @version 1.0 + * @since
十月 26, 2017
+ */ +public class NFA_HandlerTest { + + @Before + public void before() throws Exception { + } + + @After + public void after() throws Exception { + } + + /** + * Method: getFromRE(String re) + */ + @Test + public void testGetFromRE1() throws Exception { + NFA_Handler handler = new NFA_Handler(); + handler.getFromRE("ab·a|*", "ID"); + } + + /** + * Method: getFromRE(String re) + */ + @Test + public void testGetFromRE2() throws Exception { + NFA_Handler handler = new NFA_Handler(); + handler.getFromRE("ab·c·\\{·ε\\{|·ε\\{|·", "ID"); + } + + /** + * Method: getFromRE(String re) + */ + @Test + public void testGetFromRE3() throws Exception { + NFA_Handler handler = new NFA_Handler(); + handler.getFromRE("\\{a*·b*·c·εc|·εc|·\\}·", "ID"); + } + + /** + * Method: combine(List nfaList) + */ + @Test + public void testCombine() throws Exception { + } + + +} diff --git a/src/test/java/finiteAutomata/RegularExpressionHandlerTest.java b/src/test/java/finiteAutomata/RegularExpressionHandlerTest.java new file mode 100644 index 0000000..0adb3f7 --- /dev/null +++ b/src/test/java/finiteAutomata/RegularExpressionHandlerTest.java @@ -0,0 +1,219 @@ +package finiteAutomata; + +import exceptions.UnexpectedRegularExprRuleException; +import org.apache.log4j.Logger; +import org.junit.After; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import utilties.ExtendedMark; + +import java.lang.reflect.Method; + +/** + * RegularExpressionHandler Tester. + * + * @author + * @version 1.0 + * @since
十月 25, 2017
+ */ +public class RegularExpressionHandlerTest { + + private static final Logger logger = Logger.getLogger(RegularExpressionHandlerTest.class); + + @Before + public void before() throws Exception { + } + + @After + public void after() throws Exception { + } + + /** + * Method: standardizeRE(String re) + */ + @Test + public void testStandardizeRE() throws Exception { + RegularExpressionHandler re = new RegularExpressionHandler(); + Assert.assertEquals("a·a*", re.standardizeRE("a+")); + Assert.assertEquals("a·b·(ε|a)·a·a*·a·b·b·b*·c·c", re.standardizeRE("aba?a+abb+cc")); + Assert.assertEquals("(a|b)·(a|b)*", re.standardizeRE("(a|b)+")); + Assert.assertEquals("(a*|b*)*", re.standardizeRE("(a*|b*)*")); + Assert.assertEquals("((ε|a)·b*)*", re.standardizeRE("((ε|a)b*)*")); + Assert.assertEquals("(a|b)*·a·b·b·(a|b)*", re.standardizeRE("(a|b)*abb(a|b)*")); + + Assert.assertEquals("c·c·(a·b)·(a·b)·(ε|(a·b))·a·a·a", re.standardizeRE("cc(ab){2, 3}aaa")); + Assert.assertEquals("c·c·c·c*·a·a·a", re.standardizeRE("cc{2, }aaa")); + Assert.assertEquals("c·c·(ε|(a·b))·(ε|(a·b))·(ε|(a·b))·a·a·a", re.standardizeRE("cc(ab){, 3}aaa")); + Assert.assertEquals("c·c·c·a·a·a", re.standardizeRE("cc{2}aaa")); + Assert.assertEquals("c·(ε|c)·(ε|c)·(ε|c)·a·a·a", re.standardizeRE("cc{, 3}aaa")); + + Assert.assertEquals("c·(ε|c)·(ε|c)·(ε|(ε|c))·a·a·a", re.standardizeRE("c·(ε|c)·(ε|c){1, 2}aa·a")); + Assert.assertEquals("c·(ε|a)·(ε|a)·(ε|a)·(ε|c)·(ε|(ε|c))·a·a·a", re.standardizeRE("ca{0,3}·(ε|c){1, 2}aa·a")); + Assert.assertEquals("c·c·(a·b)·(ε|((0|1|2|3|4|5|6|7|8|9)|(a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z)))·a·a·a", + re.standardizeRE("cc(ab)[0-9a-z]?aaa")); + Assert.assertEquals("c·c·(a·b)·((0|1|2|3|4|5|6|7|8|9)|(a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z))·((0|1|2|3|4|5|6|7|8|9)|(a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z))*·a·a·a", + re.standardizeRE("cc(ab)[0-9a-z]+aaa")); + Assert.assertEquals("c·c·(a·b|(c·d)*)·(a·b|(c·d)*)·(ε|(a·b|(c·d)*))·a·a·a", re.standardizeRE("cc(ab|(cd)*){2,3}aaa")); + Assert.assertEquals("c·c·(a·b)·(a|b|c)·a·a·a", re.standardizeRE("cc(ab)[abc]aaa")); + Assert.assertEquals("c·c·(a·b)·(a|b|(c|d|e|f)|x|y)·a·a·a", re.standardizeRE("cc(ab)[abc-fxy]aaa")); + } + + /** + * Method: standardizeRE(String re) + */ + @Test(expected = UnexpectedRegularExprRuleException.class) + public void testStandardizeRE2() throws Exception { + RegularExpressionHandler re = new RegularExpressionHandler(); +// logger.debug(re.standardizeRE("aa(*)") + "\n"); + re.standardizeRE("aa["); + } + + /** + * Method: standardizeRE(String re) + */ + @Test + public void testStandardizeRE3() throws Exception { + RegularExpressionHandler re = new RegularExpressionHandler(); + + Assert.assertEquals("a·a·\\|", re.standardizeRE("aa\\|")); + Assert.assertEquals("a·a·\\{", re.standardizeRE("aa\\{")); + Assert.assertEquals("a·a·\\{·\\}", re.standardizeRE("aa\\{\\}")); + Assert.assertEquals("a·a·\\+", re.standardizeRE("aa\\+")); + Assert.assertEquals("a·a·\\?", re.standardizeRE("aa\\?")); + Assert.assertEquals("a·a·\\[", re.standardizeRE("aa\\[")); + Assert.assertEquals("a·a·\\[·\\]", re.standardizeRE("aa\\[\\]")); + Assert.assertEquals("a·a·\\-", re.standardizeRE("aa\\-")); + Assert.assertEquals("a·b·c·\\{·(ε|\\{)·(ε|\\{)", re.standardizeRE("abc\\{{1,3}")); + Assert.assertEquals("a·b·\\[·0·\\-·9·\\]", re.standardizeRE("ab\\[0\\-9\\]")); + Assert.assertEquals("\\{·a*·b*·c·(ε|c)·(ε|c)·\\}", re.standardizeRE("\\{a*b*c{1,3}\\}")); + } + + /** + * Method: standardizeRE(String re) + */ + @Test(expected = UnexpectedRegularExprRuleException.class) + public void testStandardizeRE4() throws Exception { + RegularExpressionHandler re = new RegularExpressionHandler(); +// re.standardizeRE("ab\\[0-9\\]"); + re.standardizeRE("ab\\[0\\-9\\]\\[0-\\9]"); + } + + /** + * Method: convertInfixToPostfix(String re) + */ + @Test + public void testConvertInfixToPostfix() throws Exception { + RegularExpressionHandler re = new RegularExpressionHandler(); + + Assert.assertEquals("ab|*", re.convertInfixToPostfix("(a|b)*")); + Assert.assertEquals("a*b*|*", re.convertInfixToPostfix("(a*|b*)*")); + Assert.assertEquals("εa|b*·*", re.convertInfixToPostfix("((ε|a)·b*)*")); + Assert.assertEquals("ab|*a·b·b·ab|*·", re.convertInfixToPostfix("(a|b)*·a·b·b·(a|b)*")); + Assert.assertEquals("ab·εa|·a·a*·a·b·b·b*·c·c·", re.convertInfixToPostfix("a·b·(ε|a)·a·a*·a·b·b·b*·c·c")); + + Assert.assertEquals("cc·ab··ab··εab·|·a·a·a·", re.convertInfixToPostfix("c·c·(a·b)·(a·b)·(ε|(a·b))·a·a·a")); + Assert.assertEquals("cc·c·c*·a·a·a·", re.convertInfixToPostfix("c·c·c·c*·a·a·a")); + Assert.assertEquals("cc·εab·|·εab·|·εab·|·a·a·a·", re.convertInfixToPostfix("c·c·(ε|(a·b))·(ε|(a·b))·(ε|(a·b))·a·a·a")); + Assert.assertEquals("cc·c·a·a·a·", re.convertInfixToPostfix("c·c·c·a·a·a")); + Assert.assertEquals("cεc|·εc|·εc|·a·a·a·", re.convertInfixToPostfix("c·(ε|c)·(ε|c)·(ε|c)·a·a·a")); + + } + + /** + * Method: convertInfixToPostfix(String re) + */ + @Test + public void testConvertInfixToPostfix2() throws Exception { + RegularExpressionHandler re = new RegularExpressionHandler(); + Assert.assertEquals("\\,;|", re.convertInfixToPostfix("\\,|;")); + Assert.assertEquals("ab·c·\\{·ε\\{|·ε\\{|·", re.convertInfixToPostfix("a·b·c·\\{·(ε|\\{)·(ε|\\{)")); + Assert.assertEquals("\\{a*·b*·c·εc|·εc|·\\}·", re.convertInfixToPostfix("\\{·a*·b*·c·(ε|c)·(ε|c)·\\}")); + } + + @Test + public void testStandardizeExtendedMark() throws Exception { + RegularExpressionHandler regularExpressionHandler = new RegularExpressionHandler(); + + Method method = RegularExpressionHandler.class.getDeclaredMethod("standardizeExtendedMark", StringBuffer.class, int.class, ExtendedMark.class); + method.setAccessible(true); + + StringBuffer stringBuffer = new StringBuffer(); + stringBuffer.append("cc(ab)+aaa"); + + method.invoke(regularExpressionHandler, stringBuffer, 6, ExtendedMark.PLUS_MARK); + + /* + 检测: + "a?", 1, ExtendedMark.QUESTION_MARK: (ε|a) + "aba?a", 3, ExtendedMark.QUESTION_MARK: ab(ε|a)a + "cc(ab)?a", 6, ExtendedMark.QUESTION_MARK: cc(ε|(ab))a + "aba+a", 3, ExtendedMark.PLUS_MARK: abaa*a + "cc(ab)+aaa", 6, ExtendedMark.PLUS_MARK: cc(ab)(ab)*aaa + */ + } + + @Test + public void testStandardizeExtendedMark2() throws Exception { + RegularExpressionHandler regularExpressionHandler = new RegularExpressionHandler(); + + Method method = RegularExpressionHandler.class.getDeclaredMethod("standardizeExtendedMark", StringBuffer.class, int.class, ExtendedMark.class); + method.setAccessible(true); + + StringBuffer stringBuffer = new StringBuffer(); + stringBuffer.append("cc(ab){,3}aaa"); + + method.invoke(regularExpressionHandler, stringBuffer, 6, ExtendedMark.BRACE_MARK); + + /* + 检测: + "cc(ab){2,3}aaa", 6, ExtendedMark.PLUS_MARK: cc(ab)(ab)(ε|(ab))aaa + "cc{2, 3}aaa", 2, ExtendedMark.PLUS_MARK: ccc(ε|c)aaa + + "cc(ab){2}aaa", 6, ExtendedMark.PLUS_MARK: cc(ab)(ab)aaa + "cc{2}aaa", 2, ExtendedMark.PLUS_MARK: cccaaa + + "cc(ab){2,}aaa", 6, ExtendedMark.PLUS_MARK: cc(ab)(ab)(ab)*aaa + "cc{2,}aaa", 2, ExtendedMark.PLUS_MARK: cccc*aaa + + "cc(ab){,3}aaa", 6, ExtendedMark.PLUS_MARK: cc(ε|(ab))(ε|(ab))(ε|(ab))aaa + "cc{,3}aaa", 2, ExtendedMark.PLUS_MARK: c(ε|c)(ε|c)(ε|c)aaa + + */ + } + + @Test + public void testStandardizeSquareBracketMark() throws Exception { + RegularExpressionHandler regularExpressionHandler = new RegularExpressionHandler(); + + Method method = RegularExpressionHandler.class.getDeclaredMethod("standardizeSquareBracketMark", StringBuffer.class, int.class); + method.setAccessible(true); + + StringBuffer stringBuffer = new StringBuffer(); + stringBuffer.append("cc(ab)[0-9a-z]aaa"); + + method.invoke(regularExpressionHandler, stringBuffer, 6); + } + + /** + * Method: comparePriority(char curChar, char top) + */ + @Test + public void testComparePriority() throws Exception { + + try { + Method method = RegularExpressionHandler.class.getDeclaredMethod("comparePriority", char.class, char.class); + method.setAccessible(true); + method.invoke(new RegularExpressionHandler(), '*', '*'); + + /* + 测试: + '|', '*':true + '·', '*':true + '·', '(':false + '*', '*':true + */ + } catch (NoSuchMethodException e) { + } + } +} \ No newline at end of file diff --git a/src/test/java/finiteAutomata/entity/DFATest.java b/src/test/java/finiteAutomata/entity/DFATest.java new file mode 100644 index 0000000..a84ba44 --- /dev/null +++ b/src/test/java/finiteAutomata/entity/DFATest.java @@ -0,0 +1,110 @@ +package finiteAutomata.entity; + +import finiteAutomata.FA_Controller; +import org.junit.After; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; + +import java.util.LinkedList; +import java.util.List; + +/** + * DFA Tester. + * + * @author + * @version 1.0 + * @since
十一月 2, 2017
+ */ +public class DFATest { + + @Before + public void before() throws Exception { + } + + @After + public void after() throws Exception { + } + + /** + * Method: isValid(String s) + */ + @Test + public void testIsValid1() throws Exception { + List res = new LinkedList<>(); + res.add("aa+"); + + List patterns = new LinkedList<>(); + patterns.add("ID"); + + FA_Controller controller = new FA_Controller(); + DFA dfa = controller.lexicalAnalysis(res, patterns).get(0); + + Assert.assertEquals(true, dfa.isValid("aa")); + Assert.assertEquals(true, dfa.isValid("aaa")); + } + + /** + * Method: isValid(String s) + */ + @Test + public void testIsValid2() throws Exception { + List res = new LinkedList<>(); + res.add("aa+"); + res.add("b*"); + + + List patterns = new LinkedList<>(); + patterns.add("ID"); + patterns.add("A"); + + FA_Controller controller = new FA_Controller(); + List dfas = controller.lexicalAnalysis(res, patterns); + DFA dfa1 = dfas.get(0); + DFA dfa2 = dfas.get(1); + + Assert.assertEquals(true, dfa1.isValid("aa")); + Assert.assertEquals(true, dfa1.isValid("aaa")); + Assert.assertEquals(false, dfa1.isValid("b")); + Assert.assertEquals(true, dfa2.isValid("b")); + Assert.assertEquals(true, dfa2.isValid("bb")); + Assert.assertEquals(true, dfa2.isValid("bbb")); + } + + /** + * Method: isValid(String s) + */ + @Test + public void testIsValid3() throws Exception { + List res = new LinkedList<>(); + res.add("aa+"); + + + List patterns = new LinkedList<>(); + patterns.add("ID"); + + FA_Controller controller = new FA_Controller(); + DFA dfa = controller.lexicalAnalysis(res, patterns).get(0); + + Assert.assertEquals(false, dfa.isValid("a")); + } + + /** + * Method: isValid(String s) + */ + @Test + public void testIsValid4() throws Exception { + List res = new LinkedList<>(); + res.add("aa+"); + + + List patterns = new LinkedList<>(); + patterns.add("ID"); + + FA_Controller controller = new FA_Controller(); + DFA dfa = controller.lexicalAnalysis(res, patterns).get(0); + + Assert.assertEquals(false, dfa.isValid("b")); + } + +}