52 lines
939 B
Markdown
52 lines
939 B
Markdown
# 32. Source root, modules et namespaces
|
|
|
|
## 32.1 Source root — V1 REQUIS — FIGÉ
|
|
|
|
Valeur par défaut :
|
|
|
|
```text
|
|
src
|
|
```
|
|
|
|
Configurable dans le manifest de package.
|
|
|
|
## 32.2 Module — V1 REQUIS — FIGÉ
|
|
|
|
Un module correspond à un répertoire relatif au `source_root`.
|
|
|
|
Un sous-répertoire représente un sous-module.
|
|
|
|
Un `module.saselmod` n'est pas nécessaire pour que le module existe.
|
|
|
|
## 32.3 Namespace — V1 REQUIS — FIGÉ
|
|
|
|
Le namespace correspond exactement au chemin relatif au `source_root`.
|
|
|
|
Exemple :
|
|
|
|
```text
|
|
src/saselang/compiler/lexer/Token.saseltype
|
|
```
|
|
|
|
contient :
|
|
|
|
```text
|
|
namespace saselang.compiler.lexer;
|
|
```
|
|
|
|
Le nom du package n'est pas automatiquement préfixé au namespace.
|
|
|
|
## 32.4 Segments de namespace — V1 REQUIS — FIGÉ
|
|
|
|
```regex
|
|
[a-z][a-z0-9_]*
|
|
```
|
|
|
|
ASCII lowercase uniquement.
|
|
|
|
Pas de `-` dans un segment de namespace.
|
|
|
|
Cette règle est volontairement différente de l'identité de package.
|
|
|
|
---
|