Posts

Showing posts from October, 2022

Expression resolution for assembly output with multi-character variable or digits

    /******************************************************************************       Expression Resolver v1.1         Designed by Daipayan Bhowal        Using Priority linked list to solve expression evaluation *******************************************************************************/ #include <stdio.h> #include <ctype.h> #include <stdlib.h> #include <string.h> #define OPERAND 255 #define OPERATOR -255 #define CONST 256 //#define INT 33 #define INIT_PRIORITY -1 long long bitwise_div(long long dividend, long long int divisor) {     long long sign = ((dividend < 0) ^ (divisor < 0)) ? -1 : 1;     dividend = abs(dividend);     divisor = abs(divisor);     long long quotient = 0;     while (dividend >= divisor)     {         dividend -= divisor;         ++quotient;     }  ...

Expression resolver to output assembly only

    /******************************************************************************       Expression Resolver v1.1         Designed by Daipayan Bhowal        Using Priority linked list to solve expression evaluation *******************************************************************************/ #include <stdio.h> #include <ctype.h> #include <stdlib.h> #include <string.h> #define OPERAND 255 #define OPERATOR -255 //#define INT 33 #define INIT_PRIORITY -1 long long bitwise_div(long long dividend, long long int divisor) {     long long sign = ((dividend < 0) ^ (divisor < 0)) ? -1 : 1;     dividend = abs(dividend);     divisor = abs(divisor);     long long quotient = 0;     while (dividend >= divisor)     {         dividend -= divisor;         ++quotient;     }     return quo...

Expression resolver complete with extra operator and bitwise operations

   /******************************************************************************       Expression Resolver v1.2         Designed by Daipayan Bhowal        Using Priority linked list to solve expression evaluation *******************************************************************************/ #include <stdio.h> #include <ctype.h> #include <stdlib.h> #include <string.h> #define OPERAND 255 #define OPERATOR -255 //#define INT 33 #define INIT_PRIORITY -1 long long bitwise_div(long long dividend, long long int divisor) {     long long sign = ((dividend < 0) ^ (divisor < 0)) ? -1 : 1;     dividend = abs(dividend);     divisor = abs(divisor);     long long quotient = 0;     while (dividend >= divisor)     {         dividend -= divisor; ...

String library additions

   #include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct string {   int len;   char *str;   char *back;   char empty; } string_type; typedef string_type* string_t; typedef struct mem {   string_t str;   int string_size;   int index; } memrecord; string_t string(char *s) {   int len=strlen(s);   char *content=(char *)malloc(len+1);   memcpy(content,s,len);   content[len] = '\0';   string_t st = (string_t) malloc(sizeof(string_type));   st->len = len+1;   st->str = content;   st->back = content + len - 1;   if(strcmp(s,"\0"))     st->empty = 1;          return st; } #define empty(st)   if(st->len == 0)                \                      { printf("Underflow ! func:%s line:%d\n",__func__,__LINE__);  ...