1 Q1 = (POS(0) ('X' | '') '*') 2 Q2 = (POS(0) (' ' | '') '*') 3 4 P1 = (POS(0) (SPAN(' ') | '') '*') 5 P2 = (POS(0) RPOS(0)) 6 7 P3 = P1 | P2 8 9 DEFINE("TEST(PAT,STR)") :(ETEST) 10TEST STR $PAT :F(RETURN) 11 OUTPUT = PAT " '" STR "' ok" :(RETURN) 12ETEST 13 14 TEST(.Q1,' *') 15 TEST(.Q1,'*') 16 TEST(.Q1,'') 17 18 TEST(.Q2,' *') 19 TEST(.Q2,'*') 20 TEST(.Q2,'') 21 22 TEST(.P1,' *') 23 TEST(.P1,'*') 24 TEST(.P1,'') 25 26 TEST(.P2,' *') 27 TEST(.P2,'*') 28 TEST(.P2,'') 29 30 TEST(.P3,' *') 31 TEST(.P3,'*') 32 TEST(.P3,'') 33END 34