예제 #1
0
/*
 * class operation:  validate
 */
void
ooaofooa_DOC_TBL_op_validate()
{
  ooaofooa_DOC_TBL * doc_tbl=0;Escher_ObjectSet_s doc_tbls_space={0}; Escher_ObjectSet_s * doc_tbls = &doc_tbls_space;
  /* SELECT many doc_tbls FROM INSTANCES OF DOC_TBL */
  Escher_CopySet( doc_tbls, &pG_ooaofooa_DOC_TBL_extent.active );
  /* FOR EACH doc_tbl IN doc_tbls */
  { Escher_Iterator_s iterdoc_tbl;
  ooaofooa_DOC_TBL * iidoc_tbl;
  Escher_IteratorReset( &iterdoc_tbl, doc_tbls );
  while ( (iidoc_tbl = (ooaofooa_DOC_TBL *)Escher_IteratorNext( &iterdoc_tbl )) != 0 ) {
    doc_tbl = iidoc_tbl; {
    ooaofooa_DOC_ROW * doc_row=0;ooaofooa_DOC_PAR * parent_doc_par=0;
    /* SELECT one parent_doc_par RELATED BY doc_tbl->DOC_PAR[R2315] */
    parent_doc_par = ( 0 != doc_tbl ) ? doc_tbl->DOC_PAR_R2315 : 0;
    /* SELECT one doc_row RELATED BY doc_tbl->DOC_ROW[R2317] */
    doc_row = ( 0 != doc_tbl ) ? doc_tbl->DOC_ROW_R2317_has_first : 0;
    /* IF ( ( empty parent_doc_par or empty doc_row ) ) */
    if ( ( ( 0 == parent_doc_par ) || ( 0 == doc_row ) ) ) {
      /* LOG::LogFailure( message:( ( !Table  + doc_tbl.title ) +  is not linked. ) ) */
      LOG_LogFailure( Escher_stradd( Escher_stradd( "!Table ", doc_tbl->title ), " is not linked." ) );
    }
  }}}
  Escher_ClearSet( doc_tbls );

}
예제 #2
0
/*
 * instance operation:  render
 */
void
ooaofooa_DOC_SEC_op_render( ooaofooa_DOC_SEC * self, ooaofooa_DOC_DOC * p_doc_doc )
{
  ooaofooa_DOC_DOC * doc_doc;ooaofooa_DOC_SEC * doc_sec;ooaofooa_DOC_SEC * following_doc_sec=0;ooaofooa_DOC_SEC * child_doc_sec=0;ooaofooa_DOC_PAR * doc_par=0;ooaofooa_DOC_FOOT * doc_foot=0;ooaofooa_DOC_HEAD * doc_head=0;
  /* ASSIGN doc_sec = self */
  doc_sec = self;
  /* ASSIGN doc_doc = PARAM.doc_doc */
  doc_doc = p_doc_doc;
  /* LOG::LogInfo( message:( self.title + self.subtitle ) ) */
  LOG_LogInfo( Escher_stradd( self->title, self->subtitle ) );
  /* T::include( file:docbook/t.section_begin_no_abstract.h ) */
#include "docbook/t.section_begin_no_abstract.h"
  /* SELECT one doc_head RELATED BY self->DOC_HEAD[R2309] */
  doc_head = ( 0 != self ) ? self->DOC_HEAD_R2309 : 0;
  /* IF ( not_empty doc_head ) */
  if ( ( 0 != doc_head ) ) {
  }
  /* SELECT one doc_foot RELATED BY self->DOC_FOOT[R2308] */
  doc_foot = ( 0 != self ) ? self->DOC_FOOT_R2308 : 0;
  /* IF ( not_empty doc_foot ) */
  if ( ( 0 != doc_foot ) ) {
  }
  /* SELECT one doc_par RELATED BY self->DOC_PAR[R2305] */
  doc_par = ( 0 != self ) ? self->DOC_PAR_R2305_has_first : 0;
  /* IF ( not_empty doc_par ) */
  if ( ( 0 != doc_par ) ) {
    /* doc_par.render() */
    ooaofooa_DOC_PAR_op_render( doc_par );
  }
  /* SELECT one child_doc_sec RELATED BY self->DOC_SEC[R2307.has first child] */
  child_doc_sec = ( 0 != self ) ? self->DOC_SEC_R2307_has_first_child : 0;
  /* IF ( not_empty child_doc_sec ) */
  if ( ( 0 != child_doc_sec ) ) {
    /* child_doc_sec.render( doc_doc:doc_doc ) */
    ooaofooa_DOC_SEC_op_render( child_doc_sec,  doc_doc );
  }
  /* T::include( file:docbook/t.section_end.h ) */
#include "docbook/t.section_end.h"
  /* T::emit( file:doc_doc.filename ) */
  T_emit( doc_doc->filename );
  /* SELECT one following_doc_sec RELATED BY self->DOC_SEC[R2306.follows] */
  following_doc_sec = ( 0 != self ) ? self->DOC_SEC_R2306_follows : 0;
  /* IF ( not_empty following_doc_sec ) */
  if ( ( 0 != following_doc_sec ) ) {
    /* following_doc_sec.render( doc_doc:doc_doc ) */
    ooaofooa_DOC_SEC_op_render( following_doc_sec,  doc_doc );
  }

}
예제 #3
0
/*
 * class operation:  validate
 */
void
ooaofooa_DOC_SEC_op_validate()
{
  ooaofooa_DOC_SEC * doc_sec=0;Escher_ObjectSet_s doc_secs_space={0}; Escher_ObjectSet_s * doc_secs = &doc_secs_space;
  /* SELECT many doc_secs FROM INSTANCES OF DOC_SEC */
  Escher_CopySet( doc_secs, &pG_ooaofooa_DOC_SEC_extent.active );
  /* FOR EACH doc_sec IN doc_secs */
  { Escher_Iterator_s iterdoc_sec;
  ooaofooa_DOC_SEC * iidoc_sec;
  Escher_IteratorReset( &iterdoc_sec, doc_secs );
  while ( (iidoc_sec = (ooaofooa_DOC_SEC *)Escher_IteratorNext( &iterdoc_sec )) != 0 ) {
    doc_sec = iidoc_sec; {
    ooaofooa_DOC_SEC * predecessor_doc_sec=0;
    /* SELECT one predecessor_doc_sec RELATED BY doc_sec->DOC_SEC[R2306.precedes] */
    predecessor_doc_sec = ( 0 != doc_sec ) ? doc_sec->DOC_SEC_R2306_precedes : 0;
    /* IF ( empty predecessor_doc_sec ) */
    if ( ( 0 == predecessor_doc_sec ) ) {
      ooaofooa_DOC_SEC * parent_doc_sec=0;
      /* SELECT one parent_doc_sec RELATED BY doc_sec->DOC_SEC[R2307.has parent] */
      parent_doc_sec = ( 0 != doc_sec ) ? doc_sec->DOC_SEC_R2307_has_parent : 0;
      /* IF ( empty parent_doc_sec ) */
      if ( ( 0 == parent_doc_sec ) ) {
        ooaofooa_DOC_DOC * parent_doc_doc=0;
        /* SELECT one parent_doc_doc RELATED BY doc_sec->DOC_DOC[R2300] */
        parent_doc_doc = ( 0 != doc_sec ) ? doc_sec->DOC_DOC_R2300 : 0;
        /* IF ( empty parent_doc_doc ) */
        if ( ( 0 == parent_doc_doc ) ) {
          /* LOG::LogFailure( message:( ( !Section  + doc_sec.title ) +  is not linked. ) ) */
          LOG_LogFailure( Escher_stradd( Escher_stradd( "!Section ", doc_sec->title ), " is not linked." ) );
        }
      }
    }
  }}}
  Escher_ClearSet( doc_secs );

}
예제 #4
0
/*
 * Bridge:  itoa
 */
c_t *
STRING_itoa( const i_t p_i )
{
  /* Replace/Insert the following instructions with your implementation code.  */
  c_t * s=0;i_t i;c_t * mapping[10]={0};
  /* ASSIGN mapping[9] = 9 */
  mapping[9] = Escher_strcpy( mapping[9], "9" );
  /* ASSIGN mapping[8] = 8 */
  mapping[8] = Escher_strcpy( mapping[8], "8" );
  /* ASSIGN mapping[7] = 7 */
  mapping[7] = Escher_strcpy( mapping[7], "7" );
  /* ASSIGN mapping[6] = 6 */
  mapping[6] = Escher_strcpy( mapping[6], "6" );
  /* ASSIGN mapping[5] = 5 */
  mapping[5] = Escher_strcpy( mapping[5], "5" );
  /* ASSIGN mapping[4] = 4 */
  mapping[4] = Escher_strcpy( mapping[4], "4" );
  /* ASSIGN mapping[3] = 3 */
  mapping[3] = Escher_strcpy( mapping[3], "3" );
  /* ASSIGN mapping[2] = 2 */
  mapping[2] = Escher_strcpy( mapping[2], "2" );
  /* ASSIGN mapping[1] = 1 */
  mapping[1] = Escher_strcpy( mapping[1], "1" );
  /* ASSIGN mapping[0] = 0 */
  mapping[0] = Escher_strcpy( mapping[0], "0" );
  /* ASSIGN i = PARAM.i */
  i = p_i;
  /* ASSIGN s =  */
  s = Escher_strcpy( s, "" );
  /* WHILE ( ( i >= 1 ) ) */
  while ( ( i >= 1 ) ) {
    i_t d;
    /* ASSIGN d = ( i % 10 ) */
    d = ( i % 10 );
    /* ASSIGN i = ( i / 10 ) */
    i = ( i / 10 );
    /* ASSIGN s = ( mapping[d] + s ) */
    s = Escher_strcpy( s, Escher_stradd( mapping[d], s ) );
  }
  /* RETURN s */
  {c_t * xtumlOALrv = s;
  return xtumlOALrv;}
}