Ask any question about EPFL courses, lectures, exercises, research, news, etc. or try the example questions below.
DISCLAIMER: The Graph Chatbot is not programmed to provide explicit or categorical answers to your questions. Rather, it transforms your questions into API requests that are distributed across the various IT services officially administered by EPFL. Its purpose is solely to collect and recommend relevant references to content that you can explore to help you answer your questions.
We introduce a mechanization of the JavaScript regexes by transcribing the ECMAScript specification, to which JavaScript conforms, into Coq. We discuss the challenges which arose during this mechanization, and present our efforts to ensure that the result is faithful to the original paper specification. We also use our implementation to prove some properties of the specification, notably that the functions it defines terminate and that no operation ever fails. We extract the implemented engine to OCaml and execute it on test inputs to further increase confidence in its correctness.