bsc-projects-17.html
changeset 481 f1cde0b6cc30
parent 477 65d3f6e3e935
child 482 f0a42a598e4d
equal deleted inserted replaced
480:51b47eb732f9 481:f1cde0b6cc30
   127   <A HREF="http://nms.kcl.ac.uk/christian.urban/Publications/rexp.pdf">paper</A> 
   127   <A HREF="http://nms.kcl.ac.uk/christian.urban/Publications/rexp.pdf">paper</A> 
   128   about the <A HREF="http://en.wikipedia.org/wiki/Myhill–Nerode_theorem">Myhill-Nerode theorem</A>.
   128   about the <A HREF="http://en.wikipedia.org/wiki/Myhill–Nerode_theorem">Myhill-Nerode theorem</A>.
   129   So I know they are worth their money. Still, it would be interesting to actually compare their results
   129   So I know they are worth their money. Still, it would be interesting to actually compare their results
   130   with my simple rainy-afternoon matcher and potentially &ldquo;blow away&rdquo; the regular expression matchers 
   130   with my simple rainy-afternoon matcher and potentially &ldquo;blow away&rdquo; the regular expression matchers 
   131   in Python, Ruby and Java (and possibly in Scala too). The application would be to implement a fast lexer for
   131   in Python, Ruby and Java (and possibly in Scala too). The application would be to implement a fast lexer for
   132   programming languages, or improve the network traffic analysers in the tools Snort and Bro???
   132   programming languages, or improve the network traffic analysers in the tools <A HREF="https://www.snort.org">Snort</A> and
       
   133   <A HREF="https://www.bro.org">Bro</A>.
   133   </p>
   134   </p>
   134 
   135 
   135   <p>
   136   <p>
   136   <B>Literature:</B> 
   137   <B>Literature:</B> 
   137   The place to start with this project is obviously this
   138   The place to start with this project is obviously this
   205   languages to program in (being designed and released in a hurry). <B>But</B> it can be used as a convenient target
   206   languages to program in (being designed and released in a hurry). <B>But</B> it can be used as a convenient target
   206   for translating programs from other languages. In particular there are two
   207   for translating programs from other languages. In particular there are two
   207   very optimised subsets of JavaScript that can be used for this purpose:
   208   very optimised subsets of JavaScript that can be used for this purpose:
   208   one is <A HREF="http://asmjs.org">asm.js</A> and the other is
   209   one is <A HREF="http://asmjs.org">asm.js</A> and the other is
   209   <A HREF="https://github.com/kripken/emscripten/wiki">emscripten</A>. Since
   210   <A HREF="https://github.com/kripken/emscripten/wiki">emscripten</A>. Since
   210   last year there is even the official Webassembly???
   211   last year there is even the official <A HREF="http://webassembly.org">Webassembly</A>
   211   There is a <A HREF="http://kripken.github.io/emscripten-site/docs/getting_started/Tutorial.html">tutorial</A> for emscripten
   212   There is a <A HREF="http://kripken.github.io/emscripten-site/docs/getting_started/Tutorial.html">tutorial</A> for emscripten
   212   and an impressive <A HREF="https://youtu.be/c2uNDlP4RiE">demo</A> which runs the
   213   and an impressive <A HREF="https://youtu.be/c2uNDlP4RiE">demo</A> which runs the
   213   <A HREF="http://en.wikipedia.org/wiki/Unreal_Engine">Unreal Engine 3</A>
   214   <A HREF="http://en.wikipedia.org/wiki/Unreal_Engine">Unreal Engine 3</A>
   214   in a browser with spectacular speed. This was achieved by compiling the
   215   in a browser with spectacular speed. This was achieved by compiling the
   215   C-code of the Unreal Engine to the LLVM intermediate language and then translating the LLVM
   216   C-code of the Unreal Engine to the LLVM intermediate language and then translating the LLVM