The Command line parsing module uses a synthesizer to construct parse tables. The parse table synthesis system is also used to construct the command line options.
This document provides only an overview of the principle features of the parser system. The current sources and intermidate generated files provide more information.
SYSTEM "Software Product License" "CERT" FIELD Mic_Head "MIC-Head" PARAMETER mic_head_alg String PARAMETER mic_head_digest_alg String PARAMETER mic_head_p1 String FIELD Issuer "Issuer" PARAMETER issuer String FIELD Authorization "Authorization" PARAMETER authorization String FIELD Authorized_User "Authorized-User" PARAMETER Authorized_User List [String] FIELD Product_Name "Product-Name" PARAMETER Product_Name String FIELD Producer "Producer" PARAMETER Producer String FIELD Units "Units" PARAMETER Units Integer FIELD Version "Version" PARAMETER Version String FIELD Start_Date "Start-Date" PARAMETER Start_Date DateTime SYNTAX FREE FIELD Expiration_Date "Expiration-Date" PARAMETER Expiration_Date DateTime FIELD Availability "Availability" PARAMETER Availability String FIELD Options "Options" PARAMETER Options List [String] FIELD Hardware_ID "Hardware-ID" PARAMETER Hardware_ID String FIELD Mic_Body "MIC-Body" PARAMETER mic_body_alg String PARAMETER mic_body_digest_alg String PARAMETER mic_body_p1 String INTERFACE LICENSE ONE Issuer ONE Authorization MANY Authorized_User ONE Product_Name ONE Producer ONE Units ONE Version ONE Start_Date ONE Expiration_Date ONE Availability MANY Options ONE Hardware_ID ONE Mic_Head
typedef struct _LICENSE { String issuer; String authorization; List Authorized_User; String Product_Name; String Producer; Integer Units; String Version; DateTime Start_Date; DateTime Expriy_Date; String Availability; List Options; String Hardware_ID; String mic_head_alg; String mic_head_digest_alg; String mic_head_p1; } LICENSE;
The following routines provide the main API for the handling of licenses. Auxilliary low level routines are also provided for special cases handling.