summaryrefslogtreecommitdiff
path: root/src/compiler.sml
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2010-05-27 10:56:52 -0400
committerGravatar Adam Chlipala <adamc@hcoop.net>2010-05-27 10:56:52 -0400
commitc3607e368bf1d79c5ebaae2e8f9d3dba599953a5 (patch)
tree83a6f06ddec6d2f92ee3a541e507361f755df13b /src/compiler.sml
parent2f00e5dc6efb08ae0e7d6540080aaa6a04135707 (diff)
Fix bug in module path generation with module roots; push wildification through substructures
Diffstat (limited to 'src/compiler.sml')
-rw-r--r--src/compiler.sml6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/compiler.sml b/src/compiler.sml
index def0e6c3..d39122f0 100644
--- a/src/compiler.sml
+++ b/src/compiler.sml
@@ -869,9 +869,13 @@ val parse = {
let
val m = (Source.StrVar name, loc)
val final = String.extract (final, size root + 1, NONE)
+ val fields = String.fields (fn ch => ch = #"/") final
+ val fields = List.filter (fn s => size s = 0
+ orelse not (Char.isDigit (String.sub (s, 0))))
+ fields
in
foldl (fn (x, m) => (Source.StrProj (m, capitalize x), loc))
- m (String.fields (fn ch => ch = #"/") final)
+ m fields
end
val ds = dsFfi @ ds