From bytecode to Java']JavaScript: the Js']Js_of_ocaml compiler

被引:30
|
作者
Vouillon, Jerome [1 ]
Balat, Vincent [2 ]
机构
[1] Univ Paris Diderot, CNRS, UMR 7126, PPS,Sorbonne Paris Cite, F-75205 Paris 13, France
[2] Univ Paris Diderot, CNRS, UMR 7126, Sorbonne Paris Cite,PPS,INRIA Paris Rocquencourt, F-75205 Paris 13, France
来源
SOFTWARE-PRACTICE & EXPERIENCE | 2014年 / 44卷 / 08期
关键词
compiler; OCaml; !text type='Java']Java[!/text]Script; bytecode;
D O I
10.1002/spe.2187
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We present the design and implementation of a compiler from OCaml bytecode to JavaScript. The compiler first translates the bytecode into a static single-assignment intermediate representation on which optimizations are performed, before generating JavaScript. We believe that taking bytecode as an input instead of a high-level language is a sensible choice. Virtual machines provide a very stable API. Such a compiler is thus easy to maintain. It is also convenient to use, and it can just be added to an existing installation of the development tools. Already-compiled libraries can be used directly, with no need to reinstall anything. Finally, some virtual machines are the target of several languages. A bytecode to JavaScript compiler would make it possible to retarget all these languages to Web browsers at once. Copyright (C) 2013 John Wiley & Sons, Ltd.
引用
收藏
页码:951 / 972
页数:22
相关论文
共 50 条
  • [22] JS']JSAI: A Static Analysis Platform for Java']JavaScript
    Kashyap, Vineeth
    Dewey, Kyle
    Kuefner, Ethan A.
    Wagner, John
    Gibbons, Kevin
    Sarracino, John
    Wiedermann, Ben
    Hardekopf, Ben
    22ND ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (FSE 2014), 2014, : 121 - 132
  • [23] BUGSJS']JS: a benchmark and taxonomy of Java']JavaScript bugs
    Gyimesi, Peter
    Vancsics, Bela
    Stocco, Andrea
    Mazinanian, Davood
    Beszedes, Arpad
    Ferenc, Rudolf
    Mesbah, Ali
    SOFTWARE TESTING VERIFICATION & RELIABILITY, 2021, 31 (04):
  • [24] OBJS']JS: Forking Java']Javascript to OOP Paradigms
    Rosa, Alessandro
    PROCEEDINGS OF THE FUTURE TECHNOLOGIES CONFERENCE (FTC) 2018, VOL 2, 2019, 881 : 385 - 401
  • [25] JS']JSNOSE: Detecting Java']JavaScript Code Smells
    Fard, Amin Milani
    Mesbah, Ali
    2013 IEEE 13TH INTERNATIONAL WORKING CONFERENCE ON SOURCE CODE ANALYSIS AND MANIPULATION (SCAM), 2013, : 116 - 125
  • [26] JS']JSME: a free molecule editor in Java']JavaScript
    Bienfait, Bruno
    Ertl, Peter
    JOURNAL OF CHEMINFORMATICS, 2013, 5
  • [27] KJS']JS: A Complete Formal Semantics of Java']JavaScript
    Park, Daejun
    Stefanescu, Andrei
    Rosu, Grigore
    ACM SIGPLAN NOTICES, 2015, 50 (06) : 346 - 356
  • [28] Poster: Supporting Java']JavaScript Experimentation with BUGSJS']JS
    Vancsics, Bela
    Gyimesi, Peter
    Stocco, Andrea
    Mazinanian, Davood
    Beszedes, Arpad
    Ferenc, Rudolf
    Mesbah, Ali
    2019 IEEE 12TH CONFERENCE ON SOFTWARE TESTING, VALIDATION AND VERIFICATION (ICST 2019), 2019, : 375 - 378
  • [29] DRUIDJS']JS - A Java']JavaScript Library for Dimensionality Reduction
    Cutura, Rene
    Kralj, Christoph
    Sedlmair, Michael
    2020 IEEE VISUALIZATION CONFERENCE - SHORT PAPERS (VIS 2020), 2020, : 111 - 115
  • [30] Managing security vulnerabilities introduced by dependencies in React.JS']JS Java']JavaScript framework
    Anastasia, Terzi
    Stamatia, Bibi
    2024 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION AND REENGINEERING-COMPANION, SANER-C 2024, 2024, : 126 - 133