aboutsummaryrefslogtreecommitdiffstats
path: root/doc/internals/Overview.rst
diff options
context:
space:
mode:
Diffstat (limited to 'doc/internals/Overview.rst')
-rw-r--r--doc/internals/Overview.rst18
1 files changed, 18 insertions, 0 deletions
diff --git a/doc/internals/Overview.rst b/doc/internals/Overview.rst
new file mode 100644
index 000000000..3be8772b4
--- /dev/null
+++ b/doc/internals/Overview.rst
@@ -0,0 +1,18 @@
+.. _INT:Overview:
+
+Overview
+########
+
+`GHDL` is architectured like a traditionnal compiler. It has:
+
+* a driver (sources in :file:`src/ghdldrv`) to call the programs (compiler, assembler, linker) if needed.
+
+* a library (sources in :file:`src/grt`) to help execution at run-time.
+
+* a front-end (sources in :file:`src/vhdl`) to parse and analyse VHDL.
+
+* a back-end (in fact many, sources are in :file:`src/ortho`) to generate code.
+
+The architecture is modular. For example, it is possible to use the front-end in the `libghdl` library for the language server or to do synthesis (sources in :file:`src/synth`) instead of code generation.
+
+The main work is performed by the front-end, which is documented in the next chapter.