aboutsummaryrefslogtreecommitdiffstats
path: root/doc/internals/Frontend.rst
diff options
context:
space:
mode:
Diffstat (limited to 'doc/internals/Frontend.rst')
-rw-r--r--doc/internals/Frontend.rst8
1 files changed, 7 insertions, 1 deletions
diff --git a/doc/internals/Frontend.rst b/doc/internals/Frontend.rst
index 6d5e1da5c..fd5abd4e6 100644
--- a/doc/internals/Frontend.rst
+++ b/doc/internals/Frontend.rst
@@ -3,7 +3,13 @@
Front-end
#########
-Input files (or source files) are read by `files_map.ad[sb]`. Only regular files can be read, because they are read entirely before being scanned. This simplifies the scanner, but this also allows to have a unique index for each character in any file. Therefore the source location is a simple 32-bit integer whose type is `Location_Type`. From the location, `files_map` can deduce the source file (type is `Source_File_Entry`) and then the offset in the source file. There is a line table for each source file in order to speed-up the conversion from file offset to line number and column number.
+Input files (or source files) are read by `files_map.ad[sb]`. Only regular files can be
+read, because they are read entirely before being scanned. This simplifies the scanner,
+but this also allows to have a unique index for each character in any file.
+Therefore the source location is a simple 32-bit integer whose type is `Location_Type`.
+From the location, `files_map` can deduce the source file (type is `Source_File_Entry`)
+and then the offset in the source file. There is a line table for each source file in
+order to speed-up the conversion from file offset to line number and column number.
The scanner (file :file:`vhdl-scanner.ad[sb]`) reads the source files and creates token
from them. The tokens are defined in file :file:`vhdl-tokens.ads`. Tokens are scanned