INTERNET
 :
  |    

/

, . /

FOR BASIC.

 
1 2 3 4 

cur_str++;

instr();

}

getch();

window(1,1,80,24);

textbackground(BLACK);

clrscr();

}

/***************************************************************/

/* */

/* ࠠ */

/* */

/***************************************************************/

char* reading()

{

int i=0;

char* temp;

char buf;

temp=(char*)malloc(250);

buf=fgetc(fd);

while(isalpha(buf)) //

{

temp[i]=buf;

i++;

buf=fgetc(fd);

}

ungetc(buf,fd);

temp[i]=NULL;

return(temp);

}

/************************************************************/

/* */

/* pp */

/* */

/************************************************************/

void instr(void)

{

int i;

char* temp;

del_space(); // p p

sc(); // p

if(next==EOF||next=='\n') return; // pp p

unsc(); // p

temp=reading(); //

if(strcmp(temp,"FOR")!=NULL) // pp p

{

error(3); // p -

next_lex(); // p

}

del_space(); // p p

if(var()==FALSE) error(4); // pp p

sc(); // p

if(next!='=') error(6); // pp '='

expr(); // pp p

del_space(); // p p

temp=reading(); //

if(strcmp(temp,"TO")!=NULL) // pp p

{

error(2); // p -

next_lex(); // p

}

del_space(); // p p

expr(); // pp p

del_space(); // p p

if(next==EOF||next=='\n') return; // pp p

temp=reading(); //

if(strcmp(temp,"STEP")==NULL) // pp p

{ // p

del_space(); // p p

expr(); // pp p

}

del_space(); // p p

if(next!='\n') // pp p

{

error(1); // -

sc();

while(next!='\n') sc(); // p

unsc();

}

}

/************************************************************/

/* */

/* p */

/* */

/************************************************************/

int var(void)

{

sc();

if(isalpha(next)) //

{ //

while(isalnum(next)) sc();

unsc();

return(TRUE);

}

else

{

unsc();

return(FALSE);

}

}

/**********************************************************/

/* */

/* p p堠 */

/* */

/**********************************************************/

void expr(void)

{

term();

sc();

while(next=='+'||next=='-') // '+' '-'

{

term(); // pp p

sc();

}

unsc();

}

/***********************************************************/

/* */

/* p젠 */

/* */

/***********************************************************/

void term(void)

{

operand(); // pp p

sc();

while(next=='*') // '*'

{

sc();

if(next!='*') unsc(); // '**'

operand(); // pp p

sc();

}

while(next=='/') // '/'

{

operand(); // pp p

sc();

}

unsc();

}

/********************************************************/

/* */

/* p䠠 */

/* */

/********************************************************/

void operand(void)

{

sc();

if(next=='(') // '('

{

expr(); // pp p

sc();

if(next!=')') // ')'

{

unsc();

error(5); //

return;

}

else return; // p p

}

unsc();

if(var()==TRUE) return; // p - p

if(cbz()==TRUE

 
1 2 3 4 


Copyright © 2005—2007 «RefStore.Ru»