General Information
DaeDaLus Input Format
DaeDaLus specification files (i.e. “.ddl” files) can only contain ASCII characters. That means that all string literals and identifiers for parsers, semantic values, etc. can only contain ASCII characters. At the time of this writing, DaeDaLus does not support Unicode characters in its specification files.
Modules and Imports
Each DaeDaLus source file defines a module. The module name is
determined by the file name: a file called Foo.ddl defines a module
called Foo. Module files may use either the .ddl or .md
extension.
To use declarations from another module, import it with an import
declaration at the top of the file (before any def declarations):
import Foo
import myHelpers
def Main = ...
An import brings all declarations from the imported module into scope. There is no support for selective imports or qualified names—all imported names are available directly.
When resolving an import, DaeDaLus searches for the corresponding file
in its search path. For example, import Foo will look for
Foo.ddl (or Foo.md) in the configured search directories.