- This version is the final version of the project.
1. Dumping of GAP (written in GAP language)
2. The Browser Software with GUI (written in Java)
The browser runs OK on linux or unix-based OS, however, on Windows, some functionality such as the display of a source code file path is compromised.
This part of the project is implemented by the GAP script dump.g
, which dumps out information about all the operations and methods under them availlable in the GAP session where dumping is executed, into a JSON file, covering information such as:
- name of the method;
- filters to which arguments of the method are applicable;
- rank of the method;
- file path to the source code file in which the method is implemented;
- line number range in the source code file that includes the implementation of the method.
To run the dumping, the package io and package json are required. If your GAP hasn't the two packages yet, they can be downloaded here:
- for pkg io: https://gap-packages.github.io/io/
- for pkg json: https://gap-packages.github.io/json/
After you confirm the two required packages are installed in your GAP system, to run the dumping, use the command:
Read("/file/path/to/dump.g");
If nothing goes wrong :), then a JSON file under the name format dump-<current_datetime>.json
will be created under the current working directory of the running GAP session, which contains all the dumped information.
Dumping so far has only been tested on GAP 4.12.0 & 4.12.1.
This part of the project is the browser itself. It is managed and wrapped by Apache Maven. It can read the dumped JSON file, and allow user to perform searches within, and display the results in a table.
To compile and run the browser, simply in command line:
- cd to the directory of this project
- run the following command (specify the optional argument
dark
if you would like to start the browser in dark mode):
java -jar target/GAP_Library_Browser_v1.0.3.jar [dark]
This project CANNOT run with Java JDK < 8 (noninclusive), and it has not been tested on JDK < 11 yet.
- Home button icons created by bqlqn - Flaticon
- Back icons created by Handicon - Flaticon
- Arrow icons created by Handicon - Flaticon
- Typing icons created by Prashanth Rapolu 15 - Flaticon
- Clear icons created by The Icon Tree - Flaticon
- Search bar icons created by Tanah Basah - Flaticon
- Delete icons created by Kiranshastry - Flaticon
- Filter icons created by joalfa - Flaticon
- Sun icons created by Freepik - Flaticon
- Moon icons created by Freepik - Flaticon