aboutsummaryrefslogtreecommitdiffstats
path: root/doc/internals/Overview.rst
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2020-01-04 17:59:44 +0100
committerTristan Gingold <tgingold@free.fr>2020-01-06 18:20:28 +0100
commit09af03505bbd72f676394415c16c14bea5154513 (patch)
tree8444da62bd105b00aa2321acc3785357c550b0cb /doc/internals/Overview.rst
parent61c0e71793576646cb8374cd462bcda7cf6e410e (diff)
downloadghdl-09af03505bbd72f676394415c16c14bea5154513.tar.gz
ghdl-09af03505bbd72f676394415c16c14bea5154513.tar.bz2
ghdl-09af03505bbd72f676394415c16c14bea5154513.zip
doc: add internals/ (WIP). Add a part for index.
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.