After the launch of artEoz, you need to choose the langage you want to code in : Java or Python. If all the tools needed by artEoz are installed, the main graphic interface is displayed.
Below is an example of a memory diagram drawn by artEoz from the entered user java code in the left panel. This graphic represents the state of the memory at the end of the execution off all the instructions of the java code. To be able to get this diagram, you need to import geometrie.jar. This resource is available for download on the webpage “Resources import“.
Getting started with artEoz video
- Do not try to turn on the sound, this video is silent: =)
- Others videos are available on the webpage Videos.
Graphic user interface
- enter your java or python code into the left panel. The instructions are considered to be in the main function.
create a new plain code panel. Enter, for example:
- the memory diagram is shown into the right panel
leads to the creation or the update of the memory diagram
- error messages and results of the print functions are displayed in the bottom panel
Language accepted
The code you enter looks like the body of a main function.
It is possible to instanciate classes, provided that these classes are defined in the java library or in the specifically imported resources. See the menu “Resources“.
- coding in java :
- (almost) all the statements are allowed:
- declaration, assignment, declaration/assignment of primitive or object variables, arrays, lists, …
- conditional statement
- iterative statements: for and while
- function calls, including System.out.println function
- you can instanciate objects of your own java classes provided to add the resources with the “Resources” menu. It is thus possible to add:
- a package (select the name of this directory in the FileChooser frame)
- a jar file
- a single file .class without defined package
- what is not allowed:
- the data read function on standard input
- functions and classes declarations (if you need so, create your own package and then import the resource created), including anonymous classes.
- (almost) all the statements are allowed:
- coding in python :
- (almost) all the statements are allowed:
- declaration, assignment, declaration/assignment of primitive or object variables, arrays, lists, …
- conditional statement
- iterative statements: for and while
- function calls, including print function
- in python, you can define your own functions in the code panel. For example, see the video showing the call stack during the factorial function execution
- you can instanciate objects of your own python classes provided to add the resources with the “Resources” menu. It is thus possible to add a .py file containing one or more classe definitions.
- what is not allowed:
- classes declarations
- the data read function on standard input
- (almost) all the statements are allowed:
Memory diagram options
- the options concerning the memory diagram are in the “Options” menu. You can find here the visualization of inherited attributes, unreferenced objects or call stack. You can animate the call stack with the step-by-step options. It is not possible to execute step-by-step the inner body of the function called (may be later…). The effect of some of these options are shown in videos.
- only part of the memory diagram options are implemented for the Python language. However, as it is possible to define functions directly into the code panel, it is also possible to visualize the execution in step-by-step mode for statements of the body functions.
Step-by-step option
exit edit mode in the user code panel, display of arrow buttons which allow you to naviguate into your code:
execute all the statements of the user code
execute only the first statements of the user code
exit the step-by-step mode and allow you to edit the user code
Resources import
You are able to import your own resources with the “Resources” menu:
- in java, you can import:
- a package (select the name of this directory in the FileChooser frame)
- a jar file
- a single file .class without defined package
- in python, you can import:
- a module
The imported resources then appear as items in the “Resources” menu. You can selected or deselect them at any time.
The information concerning all the checked resources will be save when exiting artEoz. At next launch, artEoz will import them automatically, unless the filepath has changed…
Managing your own code files
It is possible to save your code and open files:
Save as : save your code. The “Projet0” directory proposed is dedicated to your backups, but your can choose any other emplacement on your computer. It is not yet possible to manage other projects…
Save : save your code in the file previously given.
Open file : load an existing code from a file.
In your home directory, artEoz automatically creates artEozJ.wk and/or artEozP.wk directory depending you code in Java language or in Python language. These directories contains your code files and other data informations such as the filepath to imported resources.
Memory diagram visualization options
increase the number of links followed from a variable (video).
decrease the number of links followed from a variable.
save the memory diagram, you can choose the format of the image by giving a extension name to you filename.
Keyboard shortcuts
These shortcuts are displayed in the items of the menus.
In addition, you can use 3 function keys:
- F5 : create/update the memory diagram
- F6 : zoom in
- F7 : zoom out
Notes
display the function summaries of the selected class. To select a class: double click on its name the user code (unfortunately, this word in not visually selected and the cursor move back to the end of the code…) then click on the “i” button. A pop-up frame will display the documentation: constructors and functions summaries (video).
display the “about artEoz” frame