Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
773b86b
Add VisualizationTool specialization
Process-ing Jul 18, 2024
43e957d
Move AST refining to Clava
Process-ing Jul 18, 2024
c176197
Perform node to code linking on Clava
Process-ing Jul 18, 2024
37d54f1
Remove code from ToolJoinPoint
Process-ing Jul 18, 2024
b85bea2
Fix code linking of typedefs
Process-ing Jul 18, 2024
71b4e74
Fix inline comment on naked body
Process-ing Jul 18, 2024
450fb28
Add info to ToolJoinPoint
Process-ing Jul 20, 2024
8d842a8
Create method to extract Joinpoint info
Process-ing Jul 20, 2024
5bc14ea
Perform location sorting based on start line and column
Process-ing Jul 20, 2024
12faa19
Implement node info retrieval based on the joinpoint type
Process-ing Jul 21, 2024
5f165d7
Allow updating with random root
Process-ing Jul 22, 2024
7721f73
Refactor code refining and start division of code into files
Process-ing Jul 23, 2024
9c16a78
Finish division of code into files
Process-ing Jul 23, 2024
e5d2439
Add filename to ToolJoinPoint
Process-ing Jul 24, 2024
85474dd
Fix repeated node ids
Process-ing Jul 24, 2024
b608802
Start syntax highlighting
Process-ing Jul 24, 2024
616ee4a
Implement syntax highlighting
Process-ing Jul 24, 2024
8176591
Fix some errors and make code in code node nullable
Process-ing Jul 24, 2024
72f4ae6
Add code to ToolJoinPoint
Process-ing Jul 25, 2024
b391720
Fix else matching in syntax highlighting
Process-ing Jul 25, 2024
05a4305
Fix comment and do-while loop syntax highlighting
Process-ing Jul 25, 2024
d6f8658
Implement syntax highlighting of types and fix some bugs
Process-ing Jul 25, 2024
cb553e0
Fix syntax highlighting of else and do-while with comments
Process-ing Jul 25, 2024
97f948c
Fix class and struct syntax highlighting
Process-ing Jul 25, 2024
8530d1a
Fix type syntax highlighting
Process-ing Jul 25, 2024
74daa22
Make ToolJoinPoint code nullable
Process-ing Jul 25, 2024
b1fc662
Switch from filename to filepath
Process-ing Jul 25, 2024
fbde1d8
Fix filepath with single file
Process-ing Jul 25, 2024
146d58a
Pass AST rebuilding to Clava
Process-ing Jul 25, 2024
731d344
Pass generic operations of ClavaAstConverter to LARA
Process-ing Jul 25, 2024
94f1e09
Create getSyntaxHighlightTags
Process-ing Jul 26, 2024
2ce3cdb
Write documentation for ClavaAstConverter.ts
Process-ing Jul 27, 2024
8616039
Apply some fixes to syntax highlighting
Process-ing Jul 28, 2024
f26838d
Fix lambda body
Process-ing Jul 28, 2024
5c32d78
Some minor fixes
Process-ing Jul 29, 2024
ca06ea7
Add README
Process-ing Aug 14, 2024
495465c
Change source code folder
Process-ing Jan 27, 2025
52a4f36
Add compilation script
Process-ing Jan 27, 2025
7522ce1
Fix dependencies
Process-ing Jan 28, 2025
f9437f2
Fix imports
Process-ing Jan 28, 2025
494c572
Update README
Process-ing Jan 28, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -128,3 +128,6 @@ dist
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*

# Output directory
api/
36 changes: 34 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,34 @@
# clava-visualization
Clava implementation of the LARA package for visualization of the mapping between source code and AST.
# Clava Visualization Tool

Clava integration of LARA's web tool for visualization and analysis of the AST and its source code.

For more details, see the [LARA Framework repository](https://github.com/specs-feup/lara-framework).

## Usage

Before using the tool, you must include the respective NPM package to your project:

```bash
npm install @specs-feup/clava-visualization
```

To launch or update the visualization tool, execute the following statements in your script:

```js
import VisualizationTool from "@specs-feup/clava-visualization/api/VisualizationTool.js";

await VisualizationTool.visualize();
```

Once ready, Clava will provide the URL that should be opened in the browser to access the web interface. The function can also change the AST root and URL domain and port.

Other properties will allow the user to know other important information from the server:

```js
VisualizationTool.isLaunched; // true if the server is running
VisualizationTool.url; // URL where the server is running
VisualizationTool.port; // port to which the server is listening
VisualizationTool.hostname; // hostname to which the server is listening
```

For more details, refer to the `GenericVisualizationTool` documentation, from [LARA](https://github.com/specs-feup/lara-framework).
Loading