00001 #include "../../include/Parser/StruttureParser.h"
00002 #include <stdio.h>
00003
00004 int Len(char* funzione)
00005 {
00006 int lung=0;
00007 while(funzione[lung]!='\0')
00008 lung++;
00009 return(lung);
00010 }
00011
00012 void leggi_str(char* funzione)
00013 {
00014 char car;
00015 int i=0;
00016 car=getchar();
00017 while(car!='\n')
00018 { funzione[i]=car;
00019 i++;
00020 car=getchar();
00021 }
00022 funzione[i]='\0';
00023 }
00024
00025 int Instr(int inizio,char* funzione,char* sub_funzione)
00026 {
00027 int len_sub,i,trovato=0;
00028
00029 len_sub=Len(sub_funzione);
00030 trovato=0;
00031 inizio=inizio-1;
00032 while((funzione[inizio+len_sub-1]!='\0')&&(trovato==0))
00033 { i=0;
00034 trovato=1;
00035 while((trovato==1)&&(i<len_sub))
00036 {
00037 if(funzione[inizio+i]!=sub_funzione[i])
00038 trovato=0;
00039 i++;
00040 }
00041 inizio++;
00042 }
00043 if(trovato==1)
00044 return(inizio);
00045 else
00046 return(0);
00047
00048 }
00049 void Concatena(char* dest,char* source)
00050 {
00051 int i=0,y=0;
00052 y=Len(dest);
00053 while(source[i]!='\0')
00054 {dest[y]=source[i];
00055 i++;
00056 y++;
00057 }
00058 dest[y]='\0';
00059
00060
00061
00062 }
00063 void Mid(char* funz_tagliata,char* funzione,int inizio,int lunghezza)
00064 {
00065 int i;
00066 inizio=inizio-1;
00067
00068 for(i=inizio;(i<(lunghezza+inizio))&&(funzione[i]!='\0');i++)
00069 funz_tagliata[i-inizio]=funzione[i];
00070
00071 funz_tagliata[i-inizio]='\0';
00072
00073 }
00074
00075 bool Isnumeric(const char* stringa)
00076 { int i=0,conta=0;
00077 while(stringa[i]!='\0')
00078 {if((stringa[i]<48)||(stringa[i]>57))
00079 {if(((stringa[i]!='.')&&(stringa[i]!='-')&&(stringa[i]!='+'))||(conta==2))
00080 return(false);
00081 else
00082 conta++;
00083 }
00084 i++;
00085 }
00086 return(true);
00087
00088 }