Skip to content

Commit

Permalink
[DOCS] adding description for each subdirectory
Browse files Browse the repository at this point in the history
  • Loading branch information
Cr0a3 committed Sep 9, 2024
1 parent 9af60e7 commit 3075524
Show file tree
Hide file tree
Showing 22 changed files with 95 additions and 0 deletions.
3 changes: 3 additions & 0 deletions .github/Readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# .github

This directory contains all workflows, issue templates and the depandabot configuration
5 changes: 5 additions & 0 deletions examples/Readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Examples

This directory contains ygens examples.

`obj.rs` is only for those of you using ygens object`-crate wrapper
5 changes: 5 additions & 0 deletions src/CodeGen/Readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# CodeGen

This directory defines code for lowering the Ir to Lir (portable machine code of architectures).

To view the generation of machine epended code consider taking a look at `Target/the_arch_you_want_to_see`
3 changes: 3 additions & 0 deletions src/CodeGen/compilation/Readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Compilation

This directory contains the code to lower ir nodes into lir
3 changes: 3 additions & 0 deletions src/IR/Readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# IR

This directory includes the entire ygen-Frontend and ygen-Ir (+ parsing)
3 changes: 3 additions & 0 deletions src/IR/nodes/Readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# nodes

This directory defines all ir nodes
3 changes: 3 additions & 0 deletions src/IR/parser/Readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# parser

This directory allows for the textual representation of ygen to being parsed and turned into a module
3 changes: 3 additions & 0 deletions src/Obj/Readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Obj

This directory contains wrapper code for easier usage of the object crate
3 changes: 3 additions & 0 deletions src/Optimizations/Passes/Readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Passes

Contains runnable "Optimization-Passes"
3 changes: 3 additions & 0 deletions src/Optimizations/Readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Optimizations

In this directory there is the code to run optimizations and the actuall optimizations in the [Passes](https:://github.com/Cr0a3/ygen/tree/main/src/Optimizations/Passes) subdirectory
15 changes: 15 additions & 0 deletions src/Readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# src

Ygens source code is splitted into (now) 7 subdirectorys:
|Name|Description|
|------|---------------|
|[CodeGen](https://github.com/Cr0a3/ygen/tree/main/src/CodeGen)|Shared code generation files (generates LIR)|
|[IR](https://github.com/Cr0a3/ygen/tree/main/src/IR)|Definition for all ir nodes and the ir lang|
|[Obj](https:://github.com/Cr0a3/ygen/tree/main/src/Obj)|Wrapper around the object and gimli libary to generate objects/excutables/shared libarys|
|[Optimizations](https:://github.com/Cr0a3/ygen/tree/main/src/Optimizations)|Contains optimizations for ygen-ir|
|[proc](https:://github.com/Cr0a3/ygen/tree/main/src/proc)|Ygens procedual macros|
|[Support](https:://github.com/Cr0a3/ygen/tree/main/src/Support)|Utility functions and classes|
|[Target](https:://github.com/Cr0a3/ygen/tree/main/src/Target)|Target depended code like instruction encoding, lir lowering, assembly|
|[debug.rs](https:://github.com/Cr0a3/ygen/tree/main/src/debug.rs)|Contains code for constructing debug metadata used by the `ObjectBuilder`|

For more information about each one refer to the ygen-dev guide
3 changes: 3 additions & 0 deletions src/Support/Readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Support

This directory contains utility functions and classes
3 changes: 3 additions & 0 deletions src/Target/Readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Target

Contains target depended code
5 changes: 5 additions & 0 deletions src/Target/x64/Readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# x64

This directory contains the code for lowering ir into machine instrs ([lower.rs](https://github.com/Cr0a3/ygen/tree/main/src/Target/x64/lower.rs))

Also assembly parsing and instructione encoding in the subdirectory [asm](https://github.com/Cr0a3/ygen/tree/main/src/Target/x64/asm/)
3 changes: 3 additions & 0 deletions src/Target/x64/asm/Readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# x64 - asm

This directory contains instruction encoding and assembly parsing, optimization
3 changes: 3 additions & 0 deletions src/proc/Readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# proc

This directory defines all of ygens procedual macros
5 changes: 5 additions & 0 deletions tests/Readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Tests

This directory contains all tests of ygen

Many tests have the file format `.yl`. These are ytest files with ygen-ir.
7 changes: 7 additions & 0 deletions tools/simplelang/Readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Simplelang

This directory contains the simplelang example.

It's an example programming language made in Rust using ygen.

The lexer is made using the logos libary, the rest is handwritten (exept the backend, that's done with ygen).
3 changes: 3 additions & 0 deletions tools/ygen-mc/Readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Ygen-mc

This directory contains `ygen-mc`. It is used to test assembly parsing and code generation
4 changes: 4 additions & 0 deletions tools/ylc/Readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Ylc

This directory contains `ylc`.
Which is the compiler of ygen-ir. (Like llc from which i took the name)
3 changes: 3 additions & 0 deletions tools/ytest/Readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Ytest

This directory contains `ytest` which is the testing application used for testing ygen
7 changes: 7 additions & 0 deletions web/Readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Web

This directory contains ygens website source code.

It is made using `Next.js`, `Tailwind CSS`and `shadcn/ui``

It's automaticly deployed to [ygen.vercel.app](ygen.vercel.app)

0 comments on commit 3075524

Please sign in to comment.