v0.2.12
This commit is contained in:
51
chapters/032-source-root-modules-et-namespaces.md
Normal file
51
chapters/032-source-root-modules-et-namespaces.md
Normal file
@@ -0,0 +1,51 @@
|
||||
# 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.
|
||||
|
||||
---
|
||||
Reference in New Issue
Block a user