Menu du site

Nature Humaine (amocalypse)
Organisations humaines>Langues>adam>Informatisation

Première version: 2017-03-21
Dernière version: 2018-10-05

Informatisation de l'adam

Sommaire de la page


Préambule

Le adam, de par son jeu de caractère réduit, la rigueur et la simplicité de ses règles de construction, s'adapte particulièrement à l'environnement informatique.

Les caractères peuvent donc être codés sur 5 bits (pentet, 32 codes possibles) plutôt que sur les 8 bits (octet, 255 codes possibles) classiques de l'ANSI.

Voir les tables complètes dans le tableur du dictionnaire de l'adam, feuille "table caractère", à reporter ici quand ça sera finit.

Symboles

48 symboles seulement :

Correspondance table de caractère avec clavier

Sur un smartphone, le clavier à reproduire tient bien moins de place sur l'écran. Les claviers d'ordinateurs sont moins longs, moins de distance à parcourir pour les doigts.

Les touches sont dans l'ordre alphabétique, avec peut-être les voyelles pour la main gauche, les consonnes pour la main droite.

Les caractères classiques comme espace, "?,." sont disponibles dans le premier clavier.

Une touche spéciale envoyant sur un 2 ème clavier avec des caractères spéciaux (=,+*).

Grâce à la touche "shift", on peut passer les premières consonnes en majuscule et économiser de la place sur le clavier.

Table des caractères

Je mets le caractère espace en dernier car ce sera la plus utilisé dans un texte, et la recherche de caractères spéciaux qui commencent par 00000 sera plus rapide (seulement 1 bit de lu) avec ce caractère espace commençant par 1.

& (appel table style pour ouvrir un style)

@ (appel table style pour fermer un style)

$ (appel Table des caractères additionnels)

0

D

F

P

K

L

a

d

e

f

i

j

k

l

m

n

o

p

s

u

y

. (point)

, (virgule)

- (moins ou tiret)

!

<

>

' ' (espace)

Modification des tables de caractères

Selon le contexte (écriture de code informatique en adam, de formule mathématique, de code de dessin, etc.) il est possible de définir un style appelant, tant que ce style est ouvert, d'autres tables de caractères plus adaptées à ce qui est écrit. Par exemple, en codage informatique, le "=" sera plus utilisé que la virgule.

Ces tables de caractère peuvent être sur 5 ou 6 digits selon la complexité à écrire (le code informatique C peut avoir 6 digits, avec tous les #{ ou autres à écrire et rencontrés fréquement.

Table des caractères additionnels

/ (division ou rapport)

'_' (souligné)

( (parenthèse ouvrante)

) (parenthèse fermante)

" (guillemet)

+ (addition ou plus)

* (multiplié)

'=' (égal)

?

:

[

]

~ (tilde / approx)

r (grondement)

TAB (tabulation)

<br> (saut de ligne dans paragraphe)

$$ (appel Table des caractères étendus, suivi d'un chiffre entre 0 et 1023 d'adressage dans la table des caractères étendus)

Table des caractères étendus

1024 caractères possibles, pour l'instant je n'en ai pas l'utilité, vu que ça fait d'autant de symboles à apprendre et que ça complique la lecture pour le néophyte.

Table des styles

Le pentet précédent (& de la table des caractères) sert à dire si le style est à éteindre ou à allumer.

<p> (nouveau paragraphe)

<h> (style titre, n° est dans caractère suivant)

<ul> (style liste)

<li> (style liste numérotée)

<hr> (ligne horizontale séparation)

# (appel table des attributs)

Table des attributs

Un attribut suit obligatoirement un style pour le compléter. Il est appelé par # de la table des caractères. L'info qui le suit dépends de l'attribut.

Utilisation des signes

r : Permet de reproduire le R guttural, afin d'utiliser le grondement dans les onomatopées (GRR, BRRAOUM).

! : L'exclamation permettant d'indiquer le rire, l'incongruité de quelque chose.

Le caractère saut de ligne permet d'indiquer qu'il faut aller à la ligne en dessous dans le même paragraphe.

Caractères informatiques

Contrairement au HTML, il n'y a pas de fermeture de paragraphe : arrêté par un autre paragraphe, un tableau, une liste, etc. Mais c'est quand même possible d'en mettre.

citation, important, mise en évidence (italique), exposant, indice, barré, début de paragraphe, titre (le caractère qui suit est le numéro de titre, avec titre0 pour le titre du document / fichier), caractères étendus (les 2 caractères qui suivent donnent l'un des caractères de la table UTF-8 pour ceux qui voudraient écrire les symboles de leur langue ou symboles mathématiques complexes).

Smiley

Plusieurs suites de caractères donnent un smiley, permettant d'exprimer les mimiques du visage permettant de moduler le discours : :) = content, :( = triste / malheureux

Logiciel Dictionnaire

Une idée de logiciel pour faire un dictionnaire adam / autres langues, en tenant compte des spécificités de l'adam.

table sqlite déjà faite dans projet/dictadam

Tables de la base de données

rac

idrac(clé primaire unique AI) et lib.

Contient toutes les racines possibles (entre 1 et 3 lettres, dans l'ordre alphabétique adam), puis toutes les racines des mots techniques (celles après "a*" et dont les syllabes ne correspondent pas à un mot de base, permet de vérifier qu'on n'a pas la même d'un ordre à l'autre qui aurait des sens différents).

idrac est trié par ordre alphabétique croissant de son libellé. Si l'ordre alphabétique change, l'idrac correspondant change et doit être changé dans toutes les tables contenant idrac.

sens

idsens(clé primaire unique AI), lib (définition du sens de l'écriture donnée en adam), ex (exemple en adam).

Une écriture dans la table ecr donne un seul sens. Vérifier que 2 écritures identiques ne peuvent donner 2 sens différents.

ecr

clés étrangères idsens et idrac, pos est la position de la racine dans le mot ou l'agglomération, clé primaire (idsens,pos), agg booléen (espace devant cette racine), puis numb (booléen) s'il y a un numéro collé à la racine puis num le numéro (ex : a5) si numb est 1. Le numéro est un réel pour les pourcentages de "ne.5" par exemple.

Cette table permet d'écrire tous les concepts à définir dans un dictionnaire.

Par exemple, "i ad3>2" aura 3 lignes :

Si pour la position 1 dans la table ecr, il y a le flag d'espace devant à 1, c'est qu'on définit le sens de l'adjectif et non le nom. Si position 1 = idrac de "i", c'est qu'on donne le sens de l'action. Sinon, on définit le sens de la racine placée en sujet. Si = idrac de "no" c'est l'inverse, "ny" = l'absence, "ak" c'est l'actionneur, etc. voir éventuellement un "iV" si le sens varie en fonction du complément utilisé?

def1fr

idsens clé primaire étrangère unique. On a la définition courte lib1 (1 à 2 mots maxi, sans ambiguité, et qui sera utilisée dans les lexiques courts) et la définition longue lib2 (servant pour le dictionnaire).

définition du sens dans la langue française. ex donne un ou plusieurs exemples d'utilisation (1 exemple par ligne).

def2fr

idsens en clé étrangère, lib un mot ou expression française correspondant à ce sens.

c'est la table qui donne la liste des noms français synonymes du sens du mot adam. Pour ne pas que les expressions perturbent la recherche d'une équivalence, on aura une recherche capable d'omettre les enregistrements où il y a un espace dans lib, ou plus de 2 espaces.

symbol

idrac, lib.

Lib contient le symbole qui remplace à l'écrit la prononciation de idrac trouvée dans la table rac ("0" pour "nu", "!" pour "no", etc.).

sensinfo

Donnent les infos sur un idsens. idsens, idrac (racine de l'expression adam), typ (voir plus loin).

Remplie de manière automatique par un algorithme qui analyse l'expression dans ecr, et déduit le type (si espace devant premier mot = adjectif, enlève les "i" et le modifiants en première position pour trouver la racine, sauf si rien derrière c'est le modifiant qui est défini, etc.).

typ : Donne l'ordre du type dans le classement alphabétique. idrac définit l'ordre des racines d'expression entre elles, et idtyp définit l'ordre des expressions pour une même famille. Trié sur idrac, idtyp

idtyp est formé de digits, donnant du poids et donc une priorité de classement par rapport aux autres.

- fonction :

0 = racine-nom, 1 = adjectif(espace devant premier terme), 2 = verbe

- modifiant rang 1 (collé à la racine) :

0 = racine simple

1 = na (tout)

2 = ne (milieu)

3 = ni (action)

4 = noracine opposé-nom

5 = nu(0)-nom, etc.

- modifiant rang 2 (séparés devant la racine) :

ak, noak, neak (toutes les variations de modifiant, comment le rendre itératif ?)

ym (outil)

- agg (mot agglutiné) :

0 = racine toute seule

1 = racine seule + modulant

2 = racine seule + adjectif

1 = mot agglutiné commençant par cette racine,

On fonctionne en digit : am => mod1 0, agg 0, fonction 1, => 001, position 1. i am => 002, position 2.

Si agglutiné est en poids faible, on aura : am, puis ak am, puis ak amsi. Si agg est en poids fort, on aura comme tri : amsi, ak amsi, etc.

Voir comment faire les modulants directement derrière la racine, sachant que ça peur évoluer par la suite.

ordr

Donne l'ordre alphabétique, pour comparer quelle lettre doit apparaître en premier dans la liste (servira à trier les nouvelles entrées, ou pour les racines agglutinées sur les adjectifs qui suivent).

lien

idsens1, idsens2, lib

idsens1 est le sens considéré, et idsens2 est le sens lié au sens 1. lib est le détail en adam des différences (il y en a forcément, car en adam 1 sens = 1 mot).

Table donnant tous les liens proches, qui diffèrent sur des points qu'il importe de connaître.

log, champ, tab et tablog (journal des modifs)

log est la table mémorisant toutes les actions sur les données de la base de données, pour permettre de récupérer des erreurs de manip. champ et table sont juste les libellés permettant de retrouver où à eu lieu la modification. si toute une ligne de supprimée ou d'ajouter, champ est vide, et le libellé contient toute la ligne supprimée (*** suppr lig *** 1 - 45 - am etc.), ou (*** lig add ***) inutile de dire son contenu précédent vu qu'il n'existait pas.

Si modif de grande ampleur, inutile de tout reprendre, juste préciser "*** remplace dans toute la base idrac = 12 par idrac = 13 ***".

Possibilités

Le logiciel devra être capable, dans les champs en adam, de remplacer une lettre par une autre. Soit pour changer une lettre existante par une lettre inexistante dans l'alphabet adam précédent (comme le y par le c), soit pour intervertir 2 lettres (on remplace f par &, d par f, puis & par d, revient à intervertir f par d).

Devra être capable de changer une racine par une autre (si on considère qu'il vaut mieux ka que ke par exemple). Mais sans toucher à l'ordre de la table racine, qui donne l'ordre alphabétique grâce à l'ordre des racines d'une lettre. C'est à dire qu'on remplacera, dans la table ecr, toutes les racines d'un numéro par une autre. On utilisera une racine 3 lettre inutilisée comme racine intermédiaire le temps des échanges.

Sortir la liste des ses des racines (triées dans l'ordre alphabétique), c'est à dire les mots formés d'une lettre ou 2 (sans no ou autre) pour le dictionnaire de base, qui pourrait suffire à expliquer la plupart des mots qui en découlent.

S'il y a besoin en français de référencer un mot adam, on mettra le & devant puis le numéro de sens, car c'est le sens qui nous intéresse. Mais de preférence, réferencer le sens en fraçais s'ils sont proches mais qu'il y a des points de différences.

Pour le dictionnaire, faire des liens avec des sens proches ou liés ("voir aussi").

Reste à faire

Finalisations :

- Permettre de modifier les tables en faisant le journal de log.

- Permettre d'ajouter une ligne dans le dictionnaire, qui se retriera tout seul.

- Il faut pouvoir recalculer tout table rac pour gérer l'ordre d'affichage du dictionnaire (par exemple, si "j" passe à la fin). Permettra de rajouter des racines de mots techniques sans trop se préoccuper de l'ordre. Ce traitement sera lancé manuellement de temps en temps, pas systématique. Il faudra que les nouveaux idrac suivent dans les autres tables utilisant cet id.

Ensuite, pouvoir intervertir idsens pour un idrac pour changer le sens d'une racine (ex : "ke" ne veut plus dire puissant mais beaucoup).

Pouvoir écrire dans un fichier texte, un calc ou un writer (si possible, sinon ce n'est pas bien long d'importer un CSV dans writer).

Intégrer Calc dans la base :

- On fera d'abord la première colonne (racine, en sautant les doublons et les mots agglutinés) pour lire le fichier et intégrer les idrac.

- Ensuite, stocker les autres colonnes dans un SVS, puis lire l'expression adam et créer les liens dans les tables en fonction de la lecture, en se servant des idrac déjà intégrés.

Vérifier que la table finale est conforme au calc, puis supprimer ce dernier.

à suivre...


Retour menu sup