Diff for /capa/capa51/pProj/capaGrammarDef.y between versions 1.2 and 1.3

version 1.2, 1999/10/13 18:45:28 version 1.3, 1999/10/13 20:05:00
Line 646  answer_comp  : ANS_CS                  { Line 646  answer_comp  : ANS_CS                  {
   
   
 map_expr     : startM '(' basic_constr ';' var_list ';' arg_list ')'  map_expr     : startM '(' basic_constr ';' var_list ';' arg_list ')'
                                       { char   key[SIXTEEN];                                        { char   key[SMALL_LINE_BUFFER];
                                         char   warn_msg[WARN_MSG_LENGTH];                                          char   warn_msg[WARN_MSG_LENGTH];
                                         int    result=0;                                          int    result=0;
   
Line 674  map_expr     : startM '(' basic_constr ' Line 674  map_expr     : startM '(' basic_constr '
                                         free_arglist($7->s_argp);                                          free_arglist($7->s_argp);
                                       }                                        }
              | startR '(' basic_constr ';' var_list ';' arg_list ')'               | startR '(' basic_constr ';' var_list ';' arg_list ')'
                                       { char   key[SIXTEEN];                                        { char   key[SMALL_LINE_BUFFER];
                                         char   warn_msg[WARN_MSG_LENGTH];                                          char   warn_msg[WARN_MSG_LENGTH];
  int    result=0;   int    result=0;
   
Line 889  Symbol *name,*index;int free_symbols; Line 889  Symbol *name,*index;int free_symbols;
   Symbol  *s_p, *a_p;    Symbol  *s_p, *a_p;
   char    *key, *tmp;    char    *key, *tmp;
   int      leng, idx_len;    int      leng, idx_len;
     
   leng = strlen(name->s_name)+8; /* [ ] */    leng = strlen(name->s_name)+8; /* [ ] */
       
   switch(index->s_type) {    switch(index->s_type) {
Line 933  Symbol *ar_name;int num_elem; Line 932  Symbol *ar_name;int num_elem;
 {  {
   int     i;    int     i;
   Symbol *arg_list,*a_p;    Symbol *arg_list,*a_p;
   char    idx_str[SIXTEEN];    char    idx_str[MAX_BUFFER_SIZE];
       
   a_p = find_arrayid(ar_name);    a_p = find_arrayid(ar_name->s_name);
   i = 1;    i = 1;
   sprintf(idx_str,"%ld",i); /* create array elements with integer index */    sprintf(idx_str,"%s[%d]",ar_name->s_name,i); /* create array elements with integer index */
   arg_list = find_array_by_index(a_p,idx_str); /* will create a new element if not found */    arg_list = find_array_by_index(a_p,idx_str); /* will create a new element if not found */
   arg_list->s_argc=1;    arg_list->s_argc=1;
   arg_list->s_argp=new_arglist(arg_list);    arg_list->s_argp=new_arglist(arg_list);
       
   for (i=2;i<=num_elem;i++) {    for (i=2;i<=num_elem;i++) {
       sprintf(idx_str,"%ld",i);        sprintf(idx_str,"%s[%d]",ar_name->s_name,i);
       arg_list->s_argc++;        arg_list->s_argc++;
       arg_list->s_argp=addto_arglist(arg_list->s_argp,find_array_by_index(a_p,idx_str));        arg_list->s_argp=addto_arglist(arg_list->s_argp,find_array_by_index(a_p,idx_str));
   }    }
Line 1142  if( a->s_type == IDENTIFIER || b->s_type Line 1141  if( a->s_type == IDENTIFIER || b->s_type
         switch( b->s_type ) {          switch( b->s_type ) {
          case I_VAR:           case I_VAR:
          case I_CONSTANT:           case I_CONSTANT:
                    leng = SIXTEEN; /* assuming a long integer does not exceed 16 digits*/                     leng = SMALL_LINE_BUFFER; /* assuming a long integer does not exceed 128 digits*/
                    b_str= capa_malloc(sizeof(char), leng);                     b_str= capa_malloc(sizeof(char), leng);
                    sprintf(b_str,"%ld", b->s_int);                     sprintf(b_str,"%ld", b->s_int);
                    break;                     break;
Line 1326  char * Line 1325  char *
 format_toTeX( real ) char *real;  format_toTeX( real ) char *real;
 {  {
   int     idx, length, fraclength, i_exp;    int     idx, length, fraclength, i_exp;
   char   *expo_p, fracS[SIXTEEN], result[ONE_K], *areal;    char   *expo_p, fracS[SMALL_LINE_BUFFER], result[ONE_K], *areal;
   char    warn_msg[WARN_MSG_LENGTH];    char    warn_msg[WARN_MSG_LENGTH];
       
   length = strlen(real);    length = strlen(real);
Line 1374  char * Line 1373  char *
 format_toHTML( real ) char *real;  format_toHTML( real ) char *real;
 {  {
   int     idx, length, fraclength, i_exp;    int     idx, length, fraclength, i_exp;
   char   *expo_p, fracS[SIXTEEN], result[ONE_K], *areal;    char   *expo_p, fracS[SMALL_LINE_BUFFER], result[ONE_K], *areal;
   char    warn_msg[WARN_MSG_LENGTH];    char    warn_msg[WARN_MSG_LENGTH];
       
   length = strlen(real);    length = strlen(real);

Removed from v.1.2  
changed lines
  Added in v.1.3


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>