101 \cwNINEa{} at 11pm. In the first part, you are asked to implement a |
102 \cwNINEa{} at 11pm. In the first part, you are asked to implement a |
102 regular expression matcher based on derivatives of regular |
103 regular expression matcher based on derivatives of regular |
103 expressions. The background is that ``out-of-the-box'' regular |
104 expressions. The background is that ``out-of-the-box'' regular |
104 expression matching in mainstream languages like Java, JavaScript and |
105 expression matching in mainstream languages like Java, JavaScript and |
105 Python can sometimes be excruciatingly slow. You are supposed to implement |
106 Python can sometimes be excruciatingly slow. You are supposed to implement |
106 an regular expression macther that is much, much faster. The advanced part is |
107 an regular expression matcher that is much, much faster. The advanced part is |
107 about the shunting yard algorithm that transforms the usual infix |
108 about the shunting yard algorithm that transforms the usual infix |
108 notation of arithmetic expressions into the postfix notation, which is |
109 notation of arithmetic expressions into the postfix notation, which is |
109 for example used in compilers.\bigskip |
110 for example used in compilers.\bigskip |
110 |
111 |
111 \IMPORTANT{} |
112 \IMPORTANT{} |
112 |
113 |
113 \noindent |
114 \noindent |
114 Also note that the running time of each part will be restricted to a |
115 Also note that the running time of each part will be restricted to a |
115 maximum of 30 seconds on my laptop. |
116 maximum of 30 seconds on my laptop. |
116 |
117 |
117 \DISCLAIMER{} |
118 \DISCLAIMER{} |
118 |
119 |
119 \subsection*{Reference Implementation} |
120 \subsection*{Reference Implementation} |
120 |
121 |