msc-projects-15.html
changeset 385 046a49edbeb8
parent 384 27b7af6a00e5
child 386 15ef47beeef1
equal deleted inserted replaced
384:27b7af6a00e5 385:046a49edbeb8
   137   Finally, there are millions of other pointers about regular expression
   137   Finally, there are millions of other pointers about regular expression
   138   matching on the Web. I found the chapter on Lexing in this
   138   matching on the Web. I found the chapter on Lexing in this
   139   <A HREF="http://www.diku.dk/~torbenm/Basics/">online book</A> very helpful.
   139   <A HREF="http://www.diku.dk/~torbenm/Basics/">online book</A> very helpful.
   140   Test cases for &ldquo;<A HREF="http://en.wikipedia.org/wiki/ReDoS#Examples">evil</A>&rdquo;
   140   Test cases for &ldquo;<A HREF="http://en.wikipedia.org/wiki/ReDoS#Examples">evil</A>&rdquo;
   141   regular expressions can be obtained from <A HREF="http://www.haskell.org/haskellwiki/Regex_Posix">here</A>.
   141   regular expressions can be obtained from <A HREF="http://www.haskell.org/haskellwiki/Regex_Posix">here</A>.
   142   
       
   143   </p>
   142   </p>
   144 
   143 
   145   <p>
   144   <p>
   146   <B>Skills:</B> 
   145   <B>Skills:</B> 
   147   This is a project for a student with an interest in theory and some
   146   This is a project for a student with an interest in theory and some
   148   good programming skills. The project can be easily implemented
   147   good programming skills. The project can be easily implemented
   149   in functional languages like
   148   in functional languages like
   150   <A HREF="http://www.scala-lang.org/">Scala</A>,
   149   <A HREF="http://www.scala-lang.org/">Scala</A>,
   151   F#, 
   150   <A HREF="http://fsharp.org">F#</A>, 
   152   <A HREF="http://en.wikipedia.org/wiki/Standard_ML">ML</A>,  
   151   <A HREF="http://en.wikipedia.org/wiki/Standard_ML">ML</A>,  
   153   <A HREF="http://haskell.org/haskellwiki/Haskell">Haskell</A>, etc. Python and other non-functional languages
   152   <A HREF="http://haskell.org/haskellwiki/Haskell">Haskell</A>, etc. Python and other non-functional languages
   154   can be also used, but seem much less convenient. If you attend my Formal Languages and
   153   can be also used, but seem much less convenient. If you attend my Formal Languages and
   155   Automata module, that would obviously give you a head-start with this project.
   154   Automata module, that would obviously give you a head-start with this project.
   156   </p>
   155   </p>
   194   for translating programs from other languages. In particular there are two
   193   for translating programs from other languages. In particular there are two
   195   very optimised subsets of JavaScript that can be used for this purpose:
   194   very optimised subsets of JavaScript that can be used for this purpose:
   196   one is <A HREF="http://asmjs.org">asm.js</A> and the other is
   195   one is <A HREF="http://asmjs.org">asm.js</A> and the other is
   197   <A HREF="https://github.com/kripken/emscripten/wiki">emscripten</A>.
   196   <A HREF="https://github.com/kripken/emscripten/wiki">emscripten</A>.
   198   There is a <A HREF="http://kripken.github.io/emscripten-site/docs/getting_started/Tutorial.html">tutorial</A> for emscripten
   197   There is a <A HREF="http://kripken.github.io/emscripten-site/docs/getting_started/Tutorial.html">tutorial</A> for emscripten
   199   and an impressive <A HREF="http://www.unrealengine.com/html5/">demo</A> which runs the
   198   and an impressive <A HREF="https://youtu.be/c2uNDlP4RiE">demo</A> which runs the
   200   <A HREF="http://en.wikipedia.org/wiki/Unreal_Engine">Unreal Engine 3</A>
   199   <A HREF="http://en.wikipedia.org/wiki/Unreal_Engine">Unreal Engine 3</A>
   201   in a browser with spectacular speed. This was achieved by compiling the
   200   in a browser with spectacular speed. This was achieved by compiling the
   202   C-code of the Unreal Engine to the LLVM intermediate language and then translating the LLVM
   201   C-code of the Unreal Engine to the LLVM intermediate language and then translating the LLVM
   203   code to JavaScript.
   202   code to JavaScript.
   204   </p>
   203   </p>
   619 </TD>
   618 </TD>
   620 </TR>
   619 </TR>
   621 </TABLE>
   620 </TABLE>
   622 
   621 
   623 <P>
   622 <P>
   624 <!-- hhmts start --> Last modified: Sat Nov 21 11:58:49 GMT 2015 <!-- hhmts end -->
   623 <!-- hhmts start --> Last modified: Sat Nov 21 12:24:03 GMT 2015 <!-- hhmts end -->
   625 <a href="http://validator.w3.org/check/referer">[Validate this page.]</a>
   624 <a href="http://validator.w3.org/check/referer">[Validate this page.]</a>
   626 </BODY>
   625 </BODY>
   627 </HTML>
   626 </HTML>