progs/re1.scala
changeset 550 71fc4a7a7039
parent 546 6589afc6789b
child 556 40e22ad45744
equal deleted inserted replaced
549:352d15782d35 550:71fc4a7a7039
    48 val r = STAR(ALT(SEQ(CHAR('a'), CHAR('b')), CHAR('b')))
    48 val r = STAR(ALT(SEQ(CHAR('a'), CHAR('b')), CHAR('b')))
    49 der('a', r)
    49 der('a', r)
    50 der('b', r)
    50 der('b', r)
    51 der('c', r)
    51 der('c', r)
    52 
    52 
    53 val r = SEQ(SEQ(CHAR('x'), CHAR('y')), CHAR('z'))
    53 val r2 = SEQ(SEQ(CHAR('x'), CHAR('y')), CHAR('z'))
    54 der('x', r)
    54 der('x', r2)
    55 der('y', der('x', r))
    55 der('y', der('x', r2))
    56 der('z', der('y', der('x', r)))
    56 der('z', der('y', der('x', r2)))
    57 
    57 
    58 
    58 
    59 //optional regular expression (one or zero times)
    59 //optional regular expression (one or zero times)
    60 def OPT(r: Rexp) = ALT(r, ONE)
    60 def OPT(r: Rexp) = ALT(r, ONE)
    61 
    61