Skip to content

Commit

Permalink
Merge branch 'main' into stick-to-your-language
Browse files Browse the repository at this point in the history
  • Loading branch information
oxisto authored Dec 2, 2024
2 parents 1456e75 + eee1553 commit 796a5e0
Show file tree
Hide file tree
Showing 4 changed files with 260 additions and 75 deletions.
150 changes: 75 additions & 75 deletions cpg-language-typescript/src/main/nodejs/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

34 changes: 34 additions & 0 deletions docs/docs/CPG/impl/design_principles.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Design Principles

## The CPG represents the code's ...

* Structure/Syntax
* Data Flows
* Execution Order/Control Flow
* Variable Usage
* Calls
* The Type System

## The CPG should parse ...

* Incomplete code
* Code with missing toolchains
* With resilience to incorrect code
* Language heterogeneous projects


## CPG-Library users should be able to ...

* Load projects and single files
* Visualize and analyze code
* Implement and register new Language Frontends
* Extends and modify existing components, e.g., passes
* Parse code incrementally

## The CPG-Transformation should be ...
* Language independent: Allow for language independent and cross-language queries
* Information-rich: contain language-specific information in generalized structures
* Fast (enough).
* Small Projects/Development projects should be analyzable in real-time, at most some seconds.
* Large libraries should take no longer than a few hours.
* About 5 to 10 times as long as the compilation process.
Loading

0 comments on commit 796a5e0

Please sign in to comment.