All pastes #224703 Raw Edit

Someone

public text v1 · immutable
#224703 ·published 2006-10-27 15:06 UTC
rendered paste body
File Edit Options Buffers Tools C Help                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
int     my_putstr(char *str);
#include <stdlib.h>
#include <unistd.h>
void    my_putchar(char c);

/*char  *polonaise(char *stack, char *dest, long long taille)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
{                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
  char  *polo;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
  polo = malloc((sizeof(*stack) + sizeof(*dest)) * taille);                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
  while ()                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
    {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
    }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
  return (polo);                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
}*/

int     str_is_op(char *str, int i)
{
  if (str[i] == '+' || str[i] == '-' || str[i] == '/' || str[i] == '*' || str[i] == '%' ||
      str[i] == '(' || str[i] == ')')
    {
      return (1);
    }
  else
    {
      return (0);
    }
}

char            *parser(char *str, long long taille)
{
  long long     var1;
  long long     var2;
  long long     space;
  char          *dest;
  char          *stack;

  stack = malloc(sizeof(*stack)*taille + 1);
  dest = malloc(sizeof(*dest)*taille + 1);
  var1 = 0;
  var2 = 0;
  space = 0;
  while (str[var1 + var2])
    {
      if (str_is_op(str, var1 + var2))
        {

          my_putstr("stack ");
          my_put_nbr(var1);
          my_putchar('\n');
          stack[var1++] = str[var1 + var2];
        }
      else
        if (!str_is_op(str, var1 + var2))
          {

            my_putstr("dest nb ");
            my_put_nbr(var2 + space);
            my_putchar('\n');
            dest[space + var2++] = str[var1 + var2];
            if (str_is_op(str, var1 + var2))
              {
                my_putstr("dest space ");
                my_put_nbr(var2 + space);
                my_putchar('\n');
                dest[var2 + space++] = ' ';
              }
          }
    }
  stack[var1] = '\0';
  dest[var2] = '\0';
  my_putstr(stack);
  my_putchar('\n');
  my_putstr(dest);
  //return (polonaise(stack, dest, var1 + var2 + space));                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
  return (0);
}

int     main()
{
  parser("1+2", 50);
  return (0);
}