Une analyse syntaxique d'ASN.1 : 1990 en Caml Light

ASN.1 est un langage de spécification de protocoles normalisé par l'ISO et utilisé fréquemment dans les télécommunications. Il permet de décrire et de regrouper en modules les types et les valeurs que sont susceptibles d'échanger des applications. L'ambiguïté de la grammaire d'ASN.1, dans sa version 1990, avait jusqu'à présent contraint les concepteurs de compilateurs à prendre des libertés avec la norme. Nous montrons dans ce document comment il est possible de transformer la grammaire en une grammaire équivalente LL(1). Un analyseur syntaxique a été réalisé en Caml Light, un langage fonctionnel typé de la famille ML. Il apporte la sécurité du typage statique fort et l'expressivité de la pleine fonctionnalité, deux atouts majeurs pour la construction d'un arbre de syntaxe abstraite et le traitement des macros \citer{à la volée}, conduisant ainsi à {\em un analyseur en une passe}. Une méthode pour réaliser des analyseurs syntaxiques en Caml Light est de plus présentée en détail, ainsi que le code abondamment commenté de celui réalisé pour ASN.1~.

Data and Resources

Additional Info

Field Value
Source https://inria.hal.science/inria-00069999
Author Rinderknecht, Christian
Maintainer CCSD
Last Updated May 17, 2026, 16:53 (UTC)
Created May 17, 2026, 16:53 (UTC)
Identifier Report N°: RT-0171
Language fr
Rights https://about.hal.science/hal-authorisation-v1/
contributor Typed programming, modularity and compilation (CRISTAL) ; Inria Paris-Rocquencourt ; Institut National de Recherche en Informatique et en Automatique (Inria)-Institut National de Recherche en Informatique et en Automatique (Inria)
creator Rinderknecht, Christian
date 1995-04-17T00:00:00
harvest_object_id 912269f7-5ed7-4f5e-a946-8db99fccb1ef
harvest_source_id 3374d638-d20b-4672-ba96-a23232d55657
harvest_source_title test moissonnage SELUNE
metadata_modified 2025-02-26T00:00:00
set_spec type:REPORT