feat: add logical import support with wren_modules directory resolution and path type classification

Introduce a path type classification system (absolute, relative, simple) to distinguish logical imports from relative ones. Implement automatic discovery of a "wren_modules" directory by walking up from the root directory. Refactor the CLI to return interpret results and exit codes instead of exiting directly. Extract cross-platform stat macros into a shared header. Update test API calls to use explicit relative paths.
This commit is contained in:
Bob Nystrom
2018-07-16 03:09:41 +00:00
parent 80bb3ebad7
commit 45368f1038
31 changed files with 665 additions and 190 deletions
@@ -1,3 +1,3 @@
// Should execute the module:
// expect: ran module
import "./module" for DoesNotExist // expect runtime error: Could not find a variable named 'DoesNotExist' in module 'test/language/module/unknown_variable/module'.
import "./module" for DoesNotExist // expect runtime error: Could not find a variable named 'DoesNotExist' in module './test/language/module/unknown_variable/module'.