equal
deleted
inserted
replaced
82 val r2 = SEQ(SEQ(CHAR('x'), CHAR('y')), CHAR('z')) |
82 val r2 = SEQ(SEQ(CHAR('x'), CHAR('y')), CHAR('z')) |
83 der('x', r2) |
83 der('x', r2) |
84 der('y', der('x', r2)) |
84 der('y', der('x', r2)) |
85 der('z', der('y', der('x', r2))) |
85 der('z', der('y', der('x', r2))) |
86 |
86 |
|
87 // (a*)* b |
|
88 // (a?){10}a{10} |
|
89 //a + ONE |
87 |
90 |
88 // Test Cases |
91 // Test Cases |
89 //============ |
92 //============ |
90 |
93 |
91 // the optional regular expression (one or zero times) |
94 // the optional regular expression (one or zero times) |
117 // test: (a?{n}) (a{n}) |
120 // test: (a?{n}) (a{n}) |
118 @main |
121 @main |
119 def test1() = { |
122 def test1() = { |
120 println("Test (a?{n}) (a{n})") |
123 println("Test (a?{n}) (a{n})") |
121 |
124 |
122 for (i <- 0 to 20 by 2) { |
125 for (i <- 0 to 22 by 2) { |
123 println(f"$i: ${time_needed(2, matcher(EVIL1(i), "a" * i))}%.5f") |
126 println(f"$i: ${time_needed(2, matcher(EVIL1(i), "a" * i))}%.5f") |
124 } |
127 } |
125 } |
128 } |
126 |
129 |
127 // test: (a*)* b |
130 // test: (a*)* b |
128 @main |
131 @main |
129 def test2() = { |
132 def test2() = { |
130 println("Test (a*)* b") |
133 println("Test (a*)* b") |
131 |
134 |
132 for (i <- 0 to 20 by 2) { |
135 for (i <- 0 to 22 by 2) { |
133 println(f"$i: ${time_needed(2, matcher(EVIL2, "a" * i))}%.5f") |
136 println(f"$i: ${time_needed(2, matcher(EVIL2, "a" * i))}%.5f") |
134 } |
137 } |
135 } |
138 } |
136 |
139 |
137 |
140 |