+ var name_is_valid = name.to_s.length > 0 and name.to_s[0].is_lower
+ for char in name.to_s do if not char.is_digit and not char.is_letter and not char == '_'
+ then
+ name_is_valid = false
+ break
+ end
+ if not name_is_valid then
+ context.error( null, "{filename}: Error module name \"{name}\", must start with a lower case letter and contain only letters, digits and '_'." )
+ end
+
+ var source = new SourceFile(filename, file)
+ var lexer = new Lexer(source)