Merge branch 'master' into execution
tree: 7877f9a2e11320756e261d6812fa9b66b774e918
  1. .bowerrc
  2. .gdb_history
  3. .gitignore
  4. .idea/
  5. .jshintrc
  6. .travis.yml
  7. LICENSE
  8. Makefile
  9. README.md
  10. app.build.js
  11. app.js
  12. bower.json
  13. c-preload/
  14. d/
  15. etc/
  16. examples/
  17. lib/
  18. package.json
  19. rust/
  20. static-old/
  21. static/
  22. test/
README.md

Build Status Codewake

Compiler Explorer

Compiler Explorer is an interactive compiler. The left-hand pane shows editable C/C++/Rust/Go/D code. The right, the assembly output of having compiled the code with a given compiler and settings. Multiple compilers are supported, and the UI layout is configurable (the Golden Layout library is used for this).

Try out one of the demo sites: C++, Rust, D or Go.

Developing

Compiler Explorer is written in node.js.

Assuming you have npm and node installed, simply running make ought to get you up and running with an Explorer running on port 10240 on your local machine: http://localhost:10240/

The Makefile will automatically install all the third party libraries needed to run; using npm to install server-side components and bower to install all the client-facing libraries.

If you want to point it at your own GCC or similar binaries, either edit the etc/config/compiler-explorer.defaults.properties or else make a new one with the name compiler-explorer.local.properties. *.local.properties files have the highest priority when loading properties.

The config system leaves a lot to be desired, I'm working on porting CCS to javascript and then something more rational can be used.

Feel free to raise an issue on github or email me directly for more help.

Credits

Compiler Explorer is maintained by Matt Godbolt. Multiple compiler and difference view was implemented by Gabriel Devillers.