Skip to content

Directory structure

Arno van der Vegt edited this page Oct 7, 2020 · 1 revision

Root directory structure

──┬ wheel
  ├─── assets                   Images, example code and help files for the IDE.
  ├─── css                      Stylesheets for the website and the IDE.
  ├─── fonts                    Fonts for the IDE and website.
  ├─── images                   Images for the website.
  ├─── js                       The IDE, compiler and VM code.
  ├─── lms                      Code for the VM running on an EV3 device.
  ├─── site                     The code for the website.
  ├─── test                     Unit and integration tests.
  └─── tools                    Tools to pack images and javascript.

The website references to the Wheel website.

JavaScript directory structure

──┬ js
  ├─── backend
  ├─── browser
  ├──┬ frontend
  │  ├──┬ compiler
  │  │  ├─── compiler           Compiles blocks of code.
  │  │  ├─── expression         Compiles assingment, boolean, math or var expressions.
  │  │  ├─── keyword            Compiles keywords: addr, break, for, if, module, namespace, etc.
  │  │  ├─── linter             Validates code style.
  │  │  ├─── preprocessor       Loads the code, parses meta commands, processes resources.
  │  │  ├─── resources          Form, image, project and text resources.
  │  │  ├─── syntax             Syntax validators.
  │  │  ├─── tokenizer          The tokenizer.
  │  │  └─── types              Scopes: proc, record, var and namespace.
  │  ├──┬ ide
  │  │  ├─── console
  │  │  ├─── data
  │  │  ├─── dialogs
  │  │  ├──┬ editor
  │  │  │  └──┬ editors
  │  │  │     ├─── form         A form editor.
  │  │  │     ├─── home         The home screen.
  │  │  │     ├─── image        An EV3 image editor.
  │  │  │     ├─── imageviewer  An image viewer for svg, png, jgp and bmp images.
  │  │  │     ├─── sound        A EV3 sound editor.
  │  │  │     └─── text         Text editors for: Wheel, VM, Lms code and for plain text files.
  │  │  ├─── help
  │  │  ├─── menu
  │  │  ├──┬ plugins
  │  │  │  └──┬ simulator
  │  │  │     ├─── ev3
  │  │  │     ├─── ev3motors
  │  │  │     ├─── ev3sensors
  │  │  │     ├─── graph
  │  │  │     ├─── lib
  │  │  │     ├─── poweredup
  │  │  │     └─── psp
  │  │  ├─── console
  │  │  ├─── properties
  │  │  ├─── settings
  │  │  ├─── simulator
  │  │  └─── source
  │  ├─── lib
  │  ├─── program
  │  └─── vm
  └──┬ shared
     ├──┬ device
     │  ├─── ev3                Classes to communicate with EV3 devices.
     │  ├─── modules            Contants for modules.
     │  └─── poweredup          Classes to communicate with Powered Up devices.
     ├─── lib
     └──┬ vm
        └─── modules            Modules which communicate with devices like motors and sensors.