(!******************************************************
Mosel User Guide Example Problems
=================================
file annottest.mos
``````````````````
Defining and accessing annotations.
(c) 2015 Fair Isaac Corporation
author: . Colombani, S. Heipcke, Mar. 2015
*******************************************************!)
model "Using annotations"
uses "mmjobs", "mmsystem"
public declarations
(!@.
@value.first 5
@value.second 0
@descr A scalar value
!)
myint: integer
AnnNames: set of string !@descr Set of annotation names
Ann: array(string) of string !@descr Annotation values
mytxt: text !@descr Default input data file
end-declarations
!@descr Annotations test
!@furtherinfo Simply displays all defined global or specific annotations
! Get all global annotations defined in this model:
getannotations("", "", AnnNames, Ann)
writeln("Global annotations:")
forall(a in AnnNames) writeln(" ", a, " = ", Ann(a))
! Get all annotations for "myint":
getannotations("myint", "", AnnNames, Ann)
writeln("Annotations defined for 'myint':")
forall(a in AnnNames) writeln(" ", a, " = ", Ann(a))
! Retrieve all annotations starting with 'value.' and that are
! associated to 'myint'
getannotations("myint", "value.", AnnNames, Ann)
writeln("'value' annotations for 'myint':")
forall(a in AnnNames) writeln(" ", a, " = ", Ann(a))
end-model
|
/*******************************************************
Mosel User Guide Example Problems
=================================
file annotdisplay.c
```````````````````
Compiling and loading a model to retrieve some
annotations from it for display.
(c) 2015 Fair Isaac Corporation
author: S. Heipcke, Mar. 2015
********************************************************/
#include
#include
#include "xprm_mc.h"
/* Maximum number of annotations */
#define MAXANN 100
int main()
{
XPRMmodel mod;
void *ref;
const char *symb; /* A model object name */
const char *ann[MAXANN*2]; /* List of annotations */
int i,n;
if(XPRMinit()) /* Initialize Mosel */
return 1;
if(XPRMcompmod(NULL, "annottest.mos", NULL, "Annotation example"))
return 2; /* Compile the model into a BIM */
if((mod=XPRMloadmod("annottest.bim",NULL))==NULL) /* Load the BIM file */
return 3;
/* Retrieve and display global annotations */
n=XPRMgetannotations(mod,NULL,NULL,ann,MAXANN*2);
printf("Global annotations (total: %d):\n", n/2);
for(i=0;i\n",symb);
for(i=0;i |