diff options
Diffstat (limited to 'src/interp/database.boot')
-rw-r--r-- | src/interp/database.boot | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/interp/database.boot b/src/interp/database.boot index 58abfb6b..7f6849a3 100644 --- a/src/interp/database.boot +++ b/src/interp/database.boot @@ -782,3 +782,18 @@ squeezeAll: %List %Code -> %List %Code squeezeAll x == [SQUEEZE t for t in x] +makeInitialDB [form,kind,abbrev,srcfile] == + db := makeDB form.op + dbConstructorForm(db) := form + dbConstructorKind(db) := kind + dbAbbreviation(db) := abbrev + property(abbrev,'ABBREVIATIONFOR) := form.op + dbSourceFile(db) := srcfile + setAutoLoadProperty form.op + +populateDBFromFile path == + try + dbfile := inputTextFile path + while (entry := readExpr dbfile) ~= %nothing repeat + makeInitialDB entry + finally closeStream dbfile |