aboutsummaryrefslogtreecommitdiffstats
path: root/doc/expert/pre_data
diff options
context:
space:
mode:
Diffstat (limited to 'doc/expert/pre_data')
-rw-r--r--doc/expert/pre_data37
1 files changed, 37 insertions, 0 deletions
diff --git a/doc/expert/pre_data b/doc/expert/pre_data
new file mode 100644
index 0000000..e7bb643
--- /dev/null
+++ b/doc/expert/pre_data
@@ -0,0 +1,37 @@
+@Section
+ @Title { "@Database and @SysDatabase" }
+ @Tag { database }
+@Begin
+@PP
+database.sym @Index { @@Database symbol }
+The @@Database symbol is used to declare the existence of a file
+of symbol invocations that Lout may refer to when evaluating cross
+references. In Basser Lout, for example,
+@ID @Code {
+"@Database @Months @WeekDays { standard }"
+}
+means that there is a file called @Code "standard.ld" containing
+invocations of the previously defined symbols @Code "@Months" and
+{@Code "@WeekDays"}. A @@Database symbol may appear anywhere a definition
+or a @@Use symbol may appear. Different definitions packages may refer to a
+common database, provided the definitions they give for its symbols are
+compatible. An entry is interpreted as though it appears at the point
+where the cross reference that retrieves it does, which allows symbols
+like @Code "@I" for @Code "Slope @Font" to be used in databases. The
+database file may not contain @@Database or @@Include symbols, and each
+invocation within it must be enclosed in braces.
+@PP
+Basser Lout constructs an {@I {index file}},
+index.file @Index { Index file (for databases) }
+which in this example is called {@Code "standard.li"}, the first time it
+ever encounters the database, as an aid to searching it. If the database
+file is changed, its index file must be deleted by the user so that
+Basser Lout knows to reconstruct it. There is also an installation
+option which allows this deletion to be done automatically on suitable
+systems (including Unix).
+@PP
+Basser Lout searches for databases in the current directory first, then
+in a sequence of standard places. To search the standard places only, use
+sysdatabase.sym @Index { @@SysDatabase symbol }
+@@SysDatabase.
+@End @Section