# deepsidhu1313/sips-run architecture

> Architecture diagram of the GitHub repository deepsidhu1313/sips-run, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-29). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/deepsidhu1313/sips-run
- Repository: https://github.com/deepsidhu1313/sips-run

## Overview

SIPS-Run is a command-line tool for preparing and executing SIPS projects. Its central workflow reads a project manifest and Java sources, parses source files to extract SIPS constructs into SQLite databases, and then supports project simulation and job interaction with a configured master. The code also includes source-comment preparation and nesting-level analysis. The README is brief, and sampled excerpts omit some orchestration details, so uncertain links are left out.

Main entry points: [`src/main/java/sips/run/SIPSRun.java`](https://github.com/deepsidhu1313/sips-run/blob/dev/src/main/java/sips/run/SIPSRun.java) (Run coordinator), [`src/main/java/in/co/s13/sips/run/tools/ParseJavaFile.java`](https://github.com/deepsidhu1313/sips-run/blob/dev/src/main/java/in/co/s13/sips/run/tools/ParseJavaFile.java) (Java file parser), [`src/main/java/in/co/s13/sips/run/tools/PrepareFiles.java`](https://github.com/deepsidhu1313/sips-run/blob/dev/src/main/java/in/co/s13/sips/run/tools/PrepareFiles.java) (Comment preparation), [`src/main/java/sips/run/Visitor.java`](https://github.com/deepsidhu1313/sips-run/blob/dev/src/main/java/sips/run/Visitor.java) (SIPS construct visitor)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_entry["Project entry"]
  node_sipsrun["Run coordinator<br/>[SIPSRun.java]"]
  node_manifest["Project manifest"]
  node_source["Java project files"]
end

subgraph group_analysis["Source analysis"]
  node_parser["Java file parser<br/>[ParseJavaFile.java]"]
  node_visitor["SIPS construct visitor<br/>[Visitor.java]"]
  node_level["Level analysis<br/>[LevelDetector.java]"]
  node_parsedb["Parsed task records<br/>[ParsedTasksDB.java]"]
  node_taskrow["Task metadata"]
  node_sqlite[("SQLite databases")]
  node_global["Shared run state<br/>[GlobalValues.java]"]
end

subgraph group_prep["Source preparation"]
  node_prepare["Comment preparation<br/>[PrepareFiles.java]"]
  node_comment["Comment source<br/>[Commentator.java]"]
  node_uncomment["Restore source<br/>[UnCommentator.java]"]
  node_util["File utilities<br/>[Util.java]"]
end

subgraph group_execution["Execution and jobs"]
  node_simulate["Project simulation"]
end

node_user(("CLI user"))
node_master(("SIPS master"))

node_user -->|"invokes"| node_sipsrun
node_manifest -->|"configures"| node_sipsrun
node_source -->|"parsed by"| node_parser
node_sipsrun -->|"submits files"| node_parser
node_parser -->|"visits syntax"| node_visitor
node_parser -->|"submits analysis"| node_level
node_visitor -->|"writes records"| node_sqlite
node_level -->|"analyzes records"| node_sqlite
node_visitor -->|"uses shared state"| node_global
node_global -->|"provides task access"| node_sqlite
node_parsedb -->|"stores rows"| node_taskrow
node_prepare -->|"comments source"| node_comment
node_prepare -->|"restores source"| node_uncomment
node_prepare -->|"reads parse data"| node_sqlite
node_sipsrun -->|"runs simulation"| node_simulate
node_sipsrun -->|"sends job commands"| node_master
node_sipsrun -->|"uploads files"| node_master

click node_sipsrun "https://github.com/deepsidhu1313/sips-run/blob/dev/src/main/java/sips/run/SIPSRun.java"
click node_parser "https://github.com/deepsidhu1313/sips-run/blob/dev/src/main/java/in/co/s13/sips/run/tools/ParseJavaFile.java"
click node_visitor "https://github.com/deepsidhu1313/sips-run/blob/dev/src/main/java/sips/run/Visitor.java"
click node_level "https://github.com/deepsidhu1313/sips-run/blob/dev/src/main/java/in/co/s13/sips/run/tools/LevelDetector.java"
click node_parsedb "https://github.com/deepsidhu1313/sips-run/blob/dev/src/main/java/in/co/s13/sips/run/datastructure/ParsedTasksDB.java"
click node_taskrow "https://github.com/deepsidhu1313/sips-run/blob/dev/src/main/java/in/co/s13/sips/run/datastructure/ParsedTasksDBRow.java"
click node_global "https://github.com/deepsidhu1313/sips-run/blob/dev/src/main/java/in/co/s13/sips/run/settings/GlobalValues.java"
click node_prepare "https://github.com/deepsidhu1313/sips-run/blob/dev/src/main/java/in/co/s13/sips/run/tools/PrepareFiles.java"
click node_comment "https://github.com/deepsidhu1313/sips-run/blob/dev/src/main/java/in/co/s13/sips/run/tools/Commentator.java"
click node_uncomment "https://github.com/deepsidhu1313/sips-run/blob/dev/src/main/java/in/co/s13/sips/run/tools/UnCommentator.java"
click node_util "https://github.com/deepsidhu1313/sips-run/blob/dev/src/main/java/in/co/s13/sips/run/tools/Util.java"
click node_simulate "https://github.com/deepsidhu1313/sips-run/blob/dev/src/main/java/sips/run/SimulateProject.java"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_sipsrun,node_manifest,node_source,node_user toneBlue
class node_parser,node_visitor,node_level,node_parsedb,node_taskrow,node_sqlite,node_global toneAmber
class node_prepare,node_comment,node_uncomment,node_util toneMint
class node_simulate toneRose
class node_master toneIndigo
```

## Components

### Project entry

- [Run coordinator](https://github.com/deepsidhu1313/sips-run/blob/dev/src/main/java/sips/run/SIPSRun.java): `src/main/java/sips/run/SIPSRun.java`
- **Project manifest**
- **Java project files**

### Source analysis

- [Java file parser](https://github.com/deepsidhu1313/sips-run/blob/dev/src/main/java/in/co/s13/sips/run/tools/ParseJavaFile.java): `src/main/java/in/co/s13/sips/run/tools/ParseJavaFile.java`
- [SIPS construct visitor](https://github.com/deepsidhu1313/sips-run/blob/dev/src/main/java/sips/run/Visitor.java): `src/main/java/sips/run/Visitor.java`
- [Level analysis](https://github.com/deepsidhu1313/sips-run/blob/dev/src/main/java/in/co/s13/sips/run/tools/LevelDetector.java): `src/main/java/in/co/s13/sips/run/tools/LevelDetector.java`
- [Parsed task records](https://github.com/deepsidhu1313/sips-run/blob/dev/src/main/java/in/co/s13/sips/run/datastructure/ParsedTasksDB.java): `src/main/java/in/co/s13/sips/run/datastructure/ParsedTasksDB.java`
- [Task metadata](https://github.com/deepsidhu1313/sips-run/blob/dev/src/main/java/in/co/s13/sips/run/datastructure/ParsedTasksDBRow.java): `src/main/java/in/co/s13/sips/run/datastructure/ParsedTasksDBRow.java`
- **SQLite databases**
- [Shared run state](https://github.com/deepsidhu1313/sips-run/blob/dev/src/main/java/in/co/s13/sips/run/settings/GlobalValues.java): `src/main/java/in/co/s13/sips/run/settings/GlobalValues.java`

### Source preparation

- [Comment preparation](https://github.com/deepsidhu1313/sips-run/blob/dev/src/main/java/in/co/s13/sips/run/tools/PrepareFiles.java): `src/main/java/in/co/s13/sips/run/tools/PrepareFiles.java`
- [Comment source](https://github.com/deepsidhu1313/sips-run/blob/dev/src/main/java/in/co/s13/sips/run/tools/Commentator.java): `src/main/java/in/co/s13/sips/run/tools/Commentator.java`
- [Restore source](https://github.com/deepsidhu1313/sips-run/blob/dev/src/main/java/in/co/s13/sips/run/tools/UnCommentator.java): `src/main/java/in/co/s13/sips/run/tools/UnCommentator.java`
- [File utilities](https://github.com/deepsidhu1313/sips-run/blob/dev/src/main/java/in/co/s13/sips/run/tools/Util.java): `src/main/java/in/co/s13/sips/run/tools/Util.java`

### Execution and jobs

- [Project simulation](https://github.com/deepsidhu1313/sips-run/blob/dev/src/main/java/sips/run/SimulateProject.java): `src/main/java/sips/run/SimulateProject.java`

### Other components

- **CLI user**
- **SIPS master**

## Connections

- CLI user → Run coordinator: invokes
- Project manifest → Run coordinator: configures
- Java project files → Java file parser: parsed by
- Run coordinator → Java file parser: submits files
- Java file parser → SIPS construct visitor: visits syntax
- Java file parser → Level analysis: submits analysis
- SIPS construct visitor → SQLite databases: writes records
- Level analysis → SQLite databases: analyzes records
- SIPS construct visitor → Shared run state: uses shared state
- Shared run state → SQLite databases: provides task access
- Parsed task records → Task metadata: stores rows
- Comment preparation → Comment source: comments source
- Comment preparation → Restore source: restores source
- Comment preparation → SQLite databases: reads parse data
- Run coordinator → Project simulation: runs simulation
- Run coordinator → SIPS master: sends job commands
- Run coordinator → SIPS master: uploads files
