diff options
author | martinw | 2000-10-18 15:11:32 +0000 |
---|---|---|
committer | martinw | 2000-10-18 15:11:32 +0000 |
commit | b9a300182018b2307a843c4178beba465a081a82 (patch) | |
tree | f444e1cd82df9dccc2469ef1d9c7679f5eab4a73 /frontend | |
parent | moved 3 arguments of expand to ExpandState (diff) |
improving filename and line number for the following error messages:
"incorrect module header"
"module name ??? does not match file name"
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@258 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'frontend')
-rw-r--r-- | frontend/parse.icl | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/frontend/parse.icl b/frontend/parse.icl index a7a25c5..12706f0 100644 --- a/frontend/parse.icl +++ b/frontend/parse.icl @@ -298,8 +298,10 @@ where , closeScanner ps_scanState files ) // otherwise // ~ succ - # mod = { mod_name = file_id, mod_type = mod_type, mod_imports = [], mod_imported_objects = [], mod_defs = [] } - = (False, mod, hash_table, error <<< '[' <<< file_id <<< "]: " <<< "incorrect module header", pre_def_symbols, files) + # ({fp_line}, scanState) = getPosition scanState + mod = { mod_name = file_id, mod_type = mod_type, mod_imports = [], mod_imported_objects = [], mod_defs = [] } + = (False, mod, hash_table, error <<< '[' <<< file_name <<< ',' <<< fp_line <<< "]: incorrect module header", + pre_def_symbols, closeScanner scanState files) try_module_header :: !Bool !ScanState -> (!Bool,!ModuleKind,!String,!ScanState) try_module_header is_icl_mod scanState @@ -332,10 +334,12 @@ where try_module_name token mod_type scanState = (False, mod_type, "", tokenBack scanState) - verify_name name id_name file_name pState=:{ps_error={pea_file}} + verify_name name id_name file_name pState | name == id_name = pState - # pea_file = pea_file <<< "Module name \"" <<< name <<< "\" does not match file name \"" <<< file_name <<< "\"\n" + # ({fp_line}, pState=:{ps_error={pea_file}}) = getPosition pState + pea_file = pea_file <<< '[' <<< file_name <<< ',' <<< fp_line <<< "]: module name \"" <<< name + <<< "\" does not match file name\n" = { pState & ps_error = { pea_file = pea_file, pea_ok = False }} check_layout_rule pState |