Someone
public text v1 · immutableFile 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);
}