+/// The configuration file of dil.
+///
+/// The file is searched for in the following order:
+/// $(OL
+/// $(LI The file path set in the environment variable DILCONF.)
+/// $(LI The current working directory.)
+/// $(LI The directory set in the environment variable HOME.)
+/// $(LI The executable's directory.)
+/// )
+/// The program will fail with an error msg if this file couldn't be found.$(BR)
+///
+/// Any environment variable used inside a string is expanded to its value.
+/// The variables BINDIR and DATADIR are set by dil. Examples:
+/// $(UL
+/// $(LI ${HOME} -> the home directory (e.g. "/home/name" or "C:\Documents and Settings\name").)
+/// $(LI ${BINDIR} -> the absolute path to the executable's directory (e.g. "/home/name/dil/bin" or "C:\dil\bin").)
+/// $(LI ${DATADIR} -> the data directory of dil (e.g. "/home/name/dil/data" or "C:\dil\data").)
+/// )
+///
+/// Relative paths are resolved and made absolute using the current working directory.
+module dilconf;
+
+/// Files needed by dil are located in this directory.
+var DATADIR = "dil/data";
+
+/// Predefined version identifiers.
+var VERSION_IDS = ["X86", "linux", "LittleEndian"];
+// "X86_64", "Windows", "Win32", "Win64", "BigEndian"
+
+/// An array of import paths to look for modules.
+var IMPORT_PATHS = []; /// E.g.: ["src/", "import/"]
+
+/// DDoc macro file paths.
+///
+/// Macro definitions in ddoc_files[n] override the ones in ddoc_files[n-1].$(BR)
+var DDOC_FILES = ["${DATADIR}/predefined.ddoc"]; /// E.g.: ["src/mymacros.ddoc", "othermacros.ddoc"]
+
+/// Path to the language file.
+var LANG_FILE = "${DATADIR}/lang_en.d";
+/// Path to the xml map.
+var XML_MAP = "${DATADIR}/xml_map.d";
+/// Path to the html map.
+var HTML_MAP = "${DATADIR}/html_map.d";
+
+/// Path to the files of kandil.
+var KANDILDIR = "${DATADIR}/../kandil";
+
+/// Customizable formats for error messages.
+///
+/// $(UL
+/// $(LI 0: file path to the source text.)
+/// $(LI 1: line number.)
+/// $(LI 2: column number.)
+/// $(LI 3: error message.)
+/// )
+var LEXER_ERROR = "{0}({1},{2})L: {3}";
+var PARSER_ERROR = "{0}({1},{2})P: {3}"; /// ditto
+var SEMANTIC_ERROR = "{0}({1},{2})S: {3}"; /// ditto
+
+/// The width of the tabulator character set in your editor.
+///
+/// Important for calculating correct column numbers for compiler messages.
+var TAB_WIDTH = 4;