Ieienoa?noai iaoee, aunoae oeieu e oaoie/aneie iieeoeee ?inneeneie
Oaaea?aoeee.
Iiaineae?neee Ainoaea?noaaiiue Oaoie/aneee Oieaa?neoao.
Eo?niaay ?aaioa ii nenoaiiiio i?ia?aiie?iaaieth.
Neioaene/aneee ?aniiciaaaoaeue a?eoiaoe/aneiai iia?aoi?a oneiaiiai
ia?aoiaea ycuea FORTRAN.
Oaeoeueoao: AAO.
Eaoaae?a: ANO.
A?oiia: A–513.
Nooaeaio: Aieei Eiinoaioei Aiaoieueaae/.
I?aiiaeaaaoaeue: Oi?ieeia TH?ee Aeaaeeie?iae/.
Annenoaio: Iaiiaa Aa?a Ai?eniaia.
Aeaoa: 30 ai?aey 1997 a.
Ioiaoea i caueoa:
Iiaineae?ne.
sscue iia?aoi?a.
sscue a?eoiaoe/aneiai iia?aoi?a oneiaiiai ia?aoiaea ycuea FORTRAN.
IF(
AA – A?eoiaoe/aneia Au?aaeaiea.
LABEL1,LABEL2,LABEL3 – ia?aay, aoi?ay e o?aouey iaoee
niioaaonoaaiii.
A?aiiaoeea ycuea.
G[
T ( O | T*O | T/O | T((O
O ( (
( Oe{Oe}[.Oe{Oe}]
Oneiaiua iaicia/aiey:
O – OA?I.
I – IIA?AIAe.
A – AOEAA.
Oe – OeEO?A.
OeAC – OeAEIA AAC CIAEA.
(( – AICAAAeAIEA A NOAIAIUe.
LABEL – IAOEA.
*IC – *ENEI N IEAAATHUAE CAIssOIE.
( – EIIAOe NO?IEE (ionoi).
AA – A?EOIAOE*ANEIA AU?AAEAIEA.
Eeanneoeeaoeey a?aiiaoeee.
Aeaiiay a?aiiaoeea G[
yaeyaony eiioaenoii-naiaiaeiie, oae eae i?aaay /anoue eaaeaeie
?aaeoeoeee ia/eiaaony eeai n oa?ieiaeueiiai neiaiea, eeai n
iaoa?ieiaeueiiai, i?eiaaeeaaeauaai iauaaeei?iiiio neiaa?th.
A ( a, A(Vn, a(V(.
A?aiiaoeea G[
?aaeoeoeee ia/eiathony n oa?ieiaeueiiai neiaiea. Ii yoie aea i?e/eia
aeaiiay a?aiiaoeea ia yaeyaony S – a?aiiaoeeie.
Iaoiae aiaeeca.
Aeey aeaiiie a?aiiaoeee ?aaeeciaai ?acai? iaoiaeii ?aeo?neaiiai nionea,
iineieueeo iia ioiineony e eeanno eiioaenoii-naiaiaeiuo.
Eaeay iaoiaea ninoieo a oii, /oi eaaeaeiio iaoa?ieiaeueiiio neiaieo
noaaeony a niioaaonoaea ii?aaeae?iiay i?ia?aiiiay aaeeieoea (ooieoeey),
eioi?ay ?aniicia?o oeaii/eo, ii?iaeaeaaioth yoei iaoa?ieiaeii.
Yoe i?ioeaaeo?u e ooieoeee aucuaathony a niioaaonoaee n i?aaeeaie
a?aiiaoeee e eiiaaea aucuaatho naie naay.
Aeaiiue iaoiae ?aaeeciaai ia ycuea C++, iineieueeo ii iaeaaeaao
?aeo?neaiuie aiciiaeiinoyie.
Aeeaaiinoeea e iaeo?aeecaoeey ioeaie.
Aeey aeaiiie a?aiiaoeee i?iecaiaeeony oieueei aeeaaiinoeea e
iaeo?aeecaoeey ioeaie. Eni?aaeaiea ioeaie ia i?iecaiaeeony.
Iaeo?aeecaoeey ioeaie inouanoaeyaony ii iaoiaeo Ae?iina, oi anoue,
nioneaynue ii neioaene/aneiio aea?aao aac aica?aoa ii eiioaenoo, i?e
iaia?oaeaiee ooieeiaie neooaoeee ioa?anuaathony oa eeoa?u (neiaieu),
eioi?ua i?eaaee a ooieeiaoth neooaoeeth e ?acai? i?iaeieaeaaony.
Oanoe?iaaiea.
((((((((((((((((((((((((((((((((((((((((
IF(((6/t+g*456)/(9.347*y-555))**6) 64,44,548
((((((((((((((((((((((((((((((((((((((((
Oaeouee neiaie ( – 40.
AB – I?iaa?ea ia A?eoiaoe/aneia Au?aaeaiea.
Oaeouee neiaie ( – 40.
Term – I?iaa?ea ia Oa?i.
Operand – I?iaa?ea ia Iia?aiae.
AB – I?iaa?ea ia A?eoiaoe/aneia Au?aaeaiea.
Oaeouee neiaie ( – 40.
Term – I?iaa?ea ia Oa?i.
Operand – I?iaa?ea ia Iia?aiae.
AB – I?iaa?ea ia A?eoiaoe/aneia Au?aaeaiea.
Oaeouee neiaie 6 – 54.
Term – I?iaa?ea ia Oa?i.
Operand – I?iaa?ea ia Iia?aiae.
IDENT – I?iaa?ea ia Eaeaioeoeeaoi? n neiaiea 6.
FLOAT – i?iaa?ea ia /enei n ieaaathuae caiyoie n oeeo?u 6.
Oaeouee neiaie / – 47.
Oaeouee neiaie t – 116.
Term – I?iaa?ea ia Oa?i.
Operand – I?iaa?ea ia Iia?aiae.
IDENT – I?iaa?ea ia Eaeaioeoeeaoi? n neiaiea t.
Oaeouee neiaie + – 43.
AB – I?iaa?ea ia A?eoiaoe/aneia Au?aaeaiea.
Oaeouee neiaie g – 103.
Term – I?iaa?ea ia Oa?i.
Operand – I?iaa?ea ia Iia?aiae.
IDENT – I?iaa?ea ia Eaeaioeoeeaoi? n neiaiea g.
Oaeouee neiaie * – 42.
Oaeouee neiaie 4 – 52.
Term – I?iaa?ea ia Oa?i.
Operand – I?iaa?ea ia Iia?aiae.
IDENT – I?iaa?ea ia Eaeaioeoeeaoi? n neiaiea 4.
FLOAT – i?iaa?ea ia /enei n ieaaathuae caiyoie n oeeo?u 4.
Oaeouee neiaie 5 – 53.
Oaeouee neiaie 6 – 54.
Oaeouee neiaie ) – 41.
Oaeouee neiaie / – 47.
Oaeouee neiaie ( – 40.
Term – I?iaa?ea ia Oa?i.
Operand – I?iaa?ea ia Iia?aiae.
AB – I?iaa?ea ia A?eoiaoe/aneia Au?aaeaiea.
Oaeouee neiaie 9 – 57.
Term – I?iaa?ea ia Oa?i.
Operand – I?iaa?ea ia Iia?aiae.
IDENT – I?iaa?ea ia Eaeaioeoeeaoi? n neiaiea 9.
FLOAT – i?iaa?ea ia /enei n ieaaathuae caiyoie n oeeo?u 9.
Oaeouee neiaie . – 46.
Oaeouee neiaie 3 – 51.
Oaeouee neiaie 4 – 52.
Oaeouee neiaie 7 – 55.
Oaeouee neiaie * – 42.
Oaeouee neiaie y – 121.
Term – I?iaa?ea ia Oa?i.
Operand – I?iaa?ea ia Iia?aiae.
IDENT – I?iaa?ea ia Eaeaioeoeeaoi? n neiaiea y.
Oaeouee neiaie – – 45.
AB – I?iaa?ea ia A?eoiaoe/aneia Au?aaeaiea.
Oaeouee neiaie 5 – 53.
Term – I?iaa?ea ia Oa?i.
Operand – I?iaa?ea ia Iia?aiae.
IDENT – I?iaa?ea ia Eaeaioeoeeaoi? n neiaiea 5.
FLOAT – i?iaa?ea ia /enei n ieaaathuae caiyoie n oeeo?u 5.
Oaeouee neiaie 5 – 53.
Oaeouee neiaie 5 – 53.
Oaeouee neiaie ) – 41.
Oaeouee neiaie ) – 41.
Oaeouee neiaie * – 42.
Oaeouee neiaie * – 42.
Oaeouee neiaie 6 – 54.
Term – I?iaa?ea ia Oa?i.
Operand – I?iaa?ea ia Iia?aiae.
IDENT – I?iaa?ea ia Eaeaioeoeeaoi? n neiaiea 6.
FLOAT – i?iaa?ea ia /enei n ieaaathuae caiyoie n oeeo?u 6.
Oaeouee neiaie ) – 41.
Oaeouee neiaie – 32.
Oaeouee neiaie 6 – 54.
ABS – i?iaa?ea ia Oeaeia Aac Ciaea n oeeo?u 6.
Oaeouee neiaie 4 – 52.
Oaeouee neiaie , – 44.
Oaeouee neiaie 4 – 52.
ABS – i?iaa?ea ia Oeaeia Aac Ciaea n oeeo?u 4.
Oaeouee neiaie 4 – 52.
Oaeouee neiaie , – 44.
Oaeouee neiaie 5 – 53.
ABS – i?iaa?ea ia Oeaeia Aac Ciaea n oeeo?u 5.
Oaeouee neiaie 4 – 52.
Oaeouee neiaie 8 – 56.
Oaeouee neiaie NULL – 0.
((((((((((((((((((((((((((((((((((((((((
((((((((((((((((((((((((((((((((((((((((
IF(r**34/50.22) 3,56,1
((((((((((((((((((((((((((((((((((((((((
Oaeouee neiaie ( – 40.
AB – I?iaa?ea ia A?eoiaoe/aneia Au?aaeaiea.
Oaeouee neiaie r – 114.
Term – I?iaa?ea ia Oa?i.
Operand – I?iaa?ea ia Iia?aiae.
IDENT – I?iaa?ea ia Eaeaioeoeeaoi? n neiaiea r.
Oaeouee neiaie * – 42.
Oaeouee neiaie * – 42.
Oaeouee neiaie 3 – 51.
Term – I?iaa?ea ia Oa?i.
Operand – I?iaa?ea ia Iia?aiae.
IDENT – I?iaa?ea ia Eaeaioeoeeaoi? n neiaiea 3.
FLOAT – i?iaa?ea ia /enei n ieaaathuae caiyoie n oeeo?u 3.
Oaeouee neiaie 4 – 52.
Oaeouee neiaie / – 47.
Oaeouee neiaie 5 – 53.
Term – I?iaa?ea ia Oa?i.
Operand – I?iaa?ea ia Iia?aiae.
IDENT – I?iaa?ea ia Eaeaioeoeeaoi? n neiaiea 5.
FLOAT – i?iaa?ea ia /enei n ieaaathuae caiyoie n oeeo?u 5.
Oaeouee neiaie 0 – 48.
Oaeouee neiaie . – 46.
Oaeouee neiaie 2 – 50.
Oaeouee neiaie 2 – 50.
Oaeouee neiaie ) – 41.
Oaeouee neiaie – 32.
Oaeouee neiaie 3 – 51.
ABS – i?iaa?ea ia Oeaeia Aac Ciaea n oeeo?u 3.
Oaeouee neiaie , – 44.
Oaeouee neiaie 5 – 53.
ABS – i?iaa?ea ia Oeaeia Aac Ciaea n oeeo?u 5.
Oaeouee neiaie 6 – 54.
Oaeouee neiaie , – 44.
Oaeouee neiaie 1 – 49.
ABS – i?iaa?ea ia Oeaeia Aac Ciaea n oeeo?u 1.
Oaeouee neiaie NULL – 0.
((((((((((((((((((((((((((((((((((((((((
Eenoeia i?ia?aiiu.
//(((((((((((((((((((((((((((((((((((((((
// FILE “KURSOVIC.CPP”.
//(((((((((((((((((((((((((((((((((((((((
// AA?EAHO # 2.
//(((((((((((((((((((((((((((((((((((((((
// A?eoiaoe/aneee iia?aoi? oneiaiiai ia?aoiaea ycuea FORTRAN.
//(((((((((((((((((((((((((((((((((((((((
// Eaoaaepa : ANO.
// Apoiia : A-513.
// Nooaeaio : Aieei Eiinoaioei Aiaoieueaae/.
// Ipaiiaeaaaoaee : eaiaeeaeao oaoie/aneeo iaoe, aeioeaio Oipieeia THpee
Aeaaeeiepiae/,
// annenoaio Iaiiaa Aapa Aipeniaia.
// Aeaoa : 30 ai?aey 1997a.
//((((((((((((((((((((((((((((((((((((((( Caaieiai/iua oaeeu.
//(((((((((((((((((((((((((((((((((((((((
# include
# include
# include
# include
# include “keyboard.h”
# include
# include
//(((((((((((((((((((((((((((((((((((((((
// Eiinoaiou.
//(((((((((((((((((((((((((((((((((((((((
# define FILE_NAME “TEXT.TXT”
# define YES 1
# define NO 2
# define OK 3
//# define TEST
//(((((((((((((((((((((((((((((((((((((((
// Aeiaaeueiua ia?aiaiiua.
//(((((((((((((((((((((((((((((((((((((((
char file1[22][60]; // Iannea no?ie.
char mes[22][30][50]; // Iannea niiauaiee ia ioeaeao.
char bufer[4096]; // Nieiie n ye?aia.
int com=0; // Iieacaoaeue : ioeiiieee?iaai oaee eee iao.
int pos=2; // Oaeouay iiceoeey a no?iea.
char string[80]; // Oaeouay no?iea oaeea.
char nx; // Oaeouee neiaie a no?iea.
int e1=0; // N/ao/ee no?aieoe ianneaa niauaiee ia ioeaeao.
int e2=0; // N/ao/ee no?ie a no?aieoea.
int l=0; // N/ao/ee iaoie.
FILE* fl=fopen(“MESSAGE.TXT”,”wt”); // Oaee n niiauaieyie ia ioeaeao.
//(((((((((((((((((((((((((((((((((((((((
// I?ioioeiu ooieoeee.
//(((((((((((((((((((((((((((((((((((((((
void Windows(int,int,int,int,char*); // Iino?iaiea ieii.
void Beep(int,int); // Caoeiaie neaiae.
void Open_File(void); // Ioe?uoea oaeea.
void Second_Window(void); // Iino?iaiea ieaeiae iaiaee.
void MyPuts(char*,int); // Aiaeia puts(char*).
void Print_File(void); // Ia/aoue oaeea.
void Menu(void); // Iaith.
int i_readkey(void); // Ii?in eeaaeaoo?u.
void Help(void); // Iiiiuue.
void Grammar(void); // A?aiiaoeea ycuea.
void Language(void); // sscue iia?aoi?a.
void Compile(void); // Eiiieeyoeey.
void Operator(char*); // Neaie?iaaiea iia?aoi?a.
void Scan(void); // Neaie?iaaiea neaaeothuaai neiaiea.
void Label(void); // ?aaeecaoeey Label.
int ABS(void); // ?aaeecaoeey ABS.
int IDENT(void); // ?aaeecaoeey IDENT.
int AB(void); // ?aaeecaoeey AB.
void Error(int); // Ia?aaioea ioeaee.
int Term(void); // ?aaeecaoeey Term.
int Operand(void); // ?aaeecaoeey Operand.
int Float(void); // ?aaeecaoeey Float.
void Message(int); // Auaiae niiauaiee ia ioeaeao.
//(((((((((((((((((((((((((((((((((((((((
// Ooieoeey MAIN.
//(((((((((((((((((((((((((((((((((((((((
void main()
{
_setcursortype(_SOLIDCURSOR);
window(1,1,80,25);
textattr(113);
clrscr();
for(int i=0;i1)
{
if(com>0)
window(3,2,47,24);
else
window(3,2,77,24);
y–;
gotoxy(1,y);
textattr(63);
clreol();
cputs(file1[y-1]);
gotoxy(1,y+1);
textattr(31);
clreol();
cputs(file1[y]);
gotoxy(5,23);
cprintf(” %d “,y);
if(com>0)
Message(y-1);
}
break;
case EASC_Down:
if(y0)
window(3,2,47,24);
else
window(3,2,77,24);
gotoxy(1,++y);
textattr(63);
clreol();
cputs(file1[y-1]);
gotoxy(1,y-1);
textattr(31);
clreol();
cputs(file1[y-2]);
gotoxy(5,23);
cprintf(” %d “,y);
if(com>0)
Message(y-1);
}
break;
}
}
}
//(((((((((((((((((((((((((((((((((((((((
// Help.
//(((((((((((((((((((((((((((((((((((((((
void Help(void)
{
window(1,1,80,25);
textattr(78);
clrscr();
Windows(1,1,80,25,”Help”);
window(4,3,77,23);
cprintf(“IIAINEAE?NEEE AINOAeA?NOAAIIUE OAOIE*ANEEE
OIEAA?NEOAO\n\n\r”);
cprintf(” EAOAAe?A ANO\n\n\r”);
cprintf(” Eo?niaay ?aaioa ii nenoaiiiio i?ia?aiie?iaaieth ia
oaio:\n\r”);
cprintf(” \”A?eoiaoe/aneee iia?aoi? oneiaiiai ia?aoiaea ycuea
FORTRAN\”.\n\n\r”);
cprintf(” Nooaeaioa a?oiiu A-513\n\n\r”);
cprintf(” Aieei Eiinoaioeia Aiaoieueaae/a.\n\n\r”);
cprintf(“A i?ia?aiia eniieueciaaiu eeaaeoe:\n\r”);
cprintf(” F1 – aeaiiue Help.\n\r”);
cprintf(” F2 – a?aiiaoeea ycuea.\n\r”);
cprintf(” F3 – ycue iia?aoi?a.\n\r”);
cprintf(” F4 – eiiieeyoeey oaeea.\n\r”);
cprintf(” ESC – auoiae ec i?ia?aiiu.\n\n\r”);
cprintf(” Aeey auoiaea ec Help iaaeieoa ethaoth eeaaeoo.”);
getch();
}
//(((((((((((((((((((((((((((((((((((((((
// A?aiiaoeea.
//(((((((((((((((((((((((((((((((((((((((
void Grammar(void)
{
window(10,2,70,23);
textattr(46);
clrscr();
Windows(10,2,70,23,”Grammar”);
window(12,4,68,22);
cprintf(” 1.
cprintf(” 2.
cprintf(” 3.
cprintf(” 4. T -> O | T*O | T/O | T**O\n\r”);
cprintf(” 5. O -> (
cprintf(” 6.
cprintf(” 7.
cprintf(” 8. -> Oe{Oe}[.Oe{Oe}]\n\n\r”);
cprintf(” Oneiaiua iaicia/aiey:\n\r”);
cprintf(” T – oa?i.\n\r”);
cprintf(” O – iia?aiae.\n\r”);
cprintf(” A – aoeaa.\n\r”);
cprintf(” Oe – oeeo?a.\n\r”);
cprintf(” OeAC – oeaeia aac ciaea.\n\r”);
cprintf(” *IC – /enei n ieaaathuae caiyoie.\n\r”);
cprintf(” ** – aicaaaeaiea a noaiaiue.\n\r”);
cprintf(”
cprintf(”
getch();
}
//(((((((((((((((((((((((((((((((((((((((
// sscue.
//(((((((((((((((((((((((((((((((((((((((
void Language(void)
{
window(20,7,60,17);
textattr(62);
clrscr();
Windows(20,7,60,17,”Language”);
window(22,9,58,16);
cprintf(” IF(
cprintf(” AA – A?eoiaoe/aneia Au?aaeaiea.\n\r”);
cprintf(” LABEL1,LABEL2,LABEL3 – ia?aay,aoi?ay e o?aouey iaoee
niioaaonoaaiii.\n\r”);
getch();
}
//(((((((((((((((((((((((((((((((((((((((
// Eiiieeyoeey i?ia?aiiu.
//(((((((((((((((((((((((((((((((((((((((
void Compile(void)
{
window(20,7,55,13);
textattr(94);
clrscr();
Windows(20,7,55,13,”Compile”);
window(22,8,58,16);
gotoxy(1,1);
if(com!=0)
{
cprintf(“\n\n Oaee ioeiiieee?iaai!”);
Beep(900,1000);
return;
}
cputs(“\n Eaeao eiiieeyoeey oaeea.\r\n\n Iiaeaeoenoa,
iiaeiaeaeeoa…”);
#ifdef TEST
window(1,1,80,25);
clrscr();
#endif
for(int i=0;file1[i][0]!=NULL;i++)
{
Operator(file1[i]);
if(l!=3 && l!=0)
Error(11);
e1++;
e2=0;
}
com++;
delay(300);
Beep(1000,200);
}
//(((((((((((((((((((((((((((((((((((((((
// Iia?aoi?.
//(((((((((((((((((((((((((((((((((((((((
void Operator(char* str)
{
pos=2;
l=0;
string[0]=NULL;
strcpy(string,str);
string[strlen(string)-1]=NULL;
char temp[3];
temp[0]=str[0];
temp[1]=str[1];
temp[2]=NULL;
#ifdef TEST
puts(string);
puts(temp);
getch();
#endif
fprintf(fl,” ((((((((((((((((((((((((((((((\n”);
fprintf(fl,”%s\n”,string);
if(strcmp(temp,”IF”)!=0)
{
#ifdef TEST
printf(“Ia iaeaeai iia?aoi? IF.\n”);
#endif
Error(10);
return;
}
Scan();
if(nx==’ ‘)
Scan();
if(nx!='(‘)
Error(7);
if(nx==NULL)
{
Error(12);
Error(9);
return;
}
AB();
while(nx!=’)’ && nx!=NULL && nx!=’ ‘)
Scan();
if(nx!=’)’)
Error(3);
if(nx==NULL)
{
Error(9);
return;
}
Scan();
if(nx==NULL)
{
Error(9);
return;
}
if(nx==’ ‘)
Scan();
Label();
if(nx!=’,’)
{
Error(5);
Scan();
}
else
Scan();
if(nx==NULL)
return;
Label();
if(nx!=’,’)
{
Error(5);
Scan();
}
else
Scan();
if(nx==NULL)
return;
Label();
if(nx!=NULL)
{
Error(6);
Scan();
}
return;
}
//(((((((((((((((((((((((((((((((((((((((
// Scan.
//(((((((((((((((((((((((((((((((((((((((
void Scan(void)
{
nx=string[pos++];
#ifdef TEST
printf(“Oaeouee neiaie %c – %d.\n”,nx,nx);
#endif
fprintf(fl,”Oaeouee neiaie %c – %d.\n”,nx,nx);
}
//(((((((((((((((((((((((((((((((((((((((
// Iaoea.
//(((((((((((((((((((((((((((((((((((((((
void Label(void)
{
if(ABS() == NO)
{
Error(8);
Scan();
}
else
l++;
}
//(((((((((((((((((((((((((((((((((((((((
// Oeaeia Aac Ciaea.
//(((((((((((((((((((((((((((((((((((((((
int ABS(void)
{
#ifdef TEST
cprintf(“ABS – i?iaa?ea ia Oeaeia Aac Ciaea n oeeo?u %c.\r\n”,nx);
#endif
fprintf(fl,”ABS – i?iaa?ea ia Oeaeia Aac Ciaea n oeeo?u %c.\n”,nx);
if(isdigit(nx))
{
while(isdigit(nx))
Scan();
return(YES);
}
return(NO);
}
//(((((((((((((((((((((((((((((((((((((((
// A?eoiaoe/aneia Au?aaeaiea.
//(((((((((((((((((((((((((((((((((((((((
int AB(void)
{
#ifdef TEST
cprintf(“AB – I?iaa?ea ia A?eoiaoe/aneia Au?aaeaiea.\r\n”);
#endif
fprintf(fl,”AB – I?iaa?ea ia A?eoiaoe/aneia Au?aaeaiea.\n”);
Scan();
if(nx==’)’)
{
Error(12);
return(NO);
}
Term();
if(nx==’+’)
{
AB();
}
else if(nx==’-‘)
{
AB();
}
if(nx==NULL)
return(OK);
else if(nx!=’*’ && nx!=’/’ && nx!=’)’)
Error(1);
return(YES);
}
//(((((((((((((((((((((((((((((((((((((((
// Oa?i.
//(((((((((((((((((((((((((((((((((((((((
int Term(void)
{
#ifdef TEST
cprintf(“Term – I?iaa?ea ia Oa?i.\r\n”);
#endif
fprintf(fl,”Term – I?iaa?ea ia Oa?i.\n”);
Operand();
if(nx==’/’)
{
Scan();
Term();
}
else if(nx==’*’)
{
Scan();
if(nx==’*’)
{
Scan();
Term();
}
else Term();
}
if(nx==NULL)
return(OK);
else if(nx!=’+’ && nx!=’-‘ && nx!=’)’)
Error(2);
return(OK);
}
//(((((((((((((((((((((((((((((((((((((((
// Iia?aiae.
//(((((((((((((((((((((((((((((((((((((((
int Operand(void)
{
#ifdef TEST
cprintf(“Operand – I?iaa?ea ia Iia?aiae.\r\n”);
#endif
fprintf(fl,”Operand – I?iaa?ea ia Iia?aiae.\n”);
if(nx=='(‘)
{
AB();
if(nx!=’)’)
Error(3);
else
{
Scan();
return(OK);
}
}
else if(IDENT() == NO)
{
if(Float() == NO)
Error(4);
}
return(OK);
}
//(((((((((((((((((((((((((((((((((((((((
// Eaeaioeoeeaoi?.
//(((((((((((((((((((((((((((((((((((((((
int IDENT(void)
{
#ifdef TEST
cprintf(“IDENT – I?iaa?ea ia Eaeaioeoeeaoi? n neiaiea %c.\r\n”,nx);
#endif
fprintf(fl,”IDENT – I?iaa?ea ia Eaeaioeoeeaoi? n neiaiea %c.\n”,nx);
if(isalpha(nx))
{
while(isalpha(nx) || isdigit(nx))
Scan();
return(YES);
}
return(NO);
}
//(((((((((((((((((((((((((((((((((((((((
// Ioeaee.
//(((((((((((((((((((((((((((((((((((((((
void Error(int num)
{
char *E[]={
“Iaeeaeaaony ‘+’ eee ‘-‘.”,
“Iaeeaeaaony ‘*’,’/’ eee ‘**’.”,
“Iaeeaeaaony ).”,
“Iaeeaeaaony eaeaioeoeeaoi? eee oeaeia aac ciaea.”,
“Ionoonoaoao ‘,’.”,
“Ia eiiaoe no?iee.”,
“Iaeeaeaaony (.”,
“Iaoea – ia oeaeia aac ciaea.”,
“Ionoonoaotho iaoee.”,
“Ia iaeaeai iia?aoi? IF.”,
“Ionoonoaoao iaoea.”,
“Ionoonoaoao AB.”,
NULL
};
sprintf(mes[e1][e2],”%s”,E[num-1]);
e2++;
#ifdef TEST
Beep(1000,100);
cprintf(“Ioeaea: %s\r\n”,E[num-1]);
getch();
#endif
fprintf(fl,” ((((((((((((((((((((((((((((\n”);
fprintf(fl,”Ioeaea: %s\r\n”,E[num-1]);
}
//(((((((((((((((((((((((((((((((((((((((
// Float.
//(((((((((((((((((((((((((((((((((((((((
int Float(void)
{
#ifdef TEST
cprintf(“FLOAT – i?iaa?ea ia /enei n ieaaathuae caiyoie n oeeo?u
%c.\r\n”,nx);
#endif
fprintf(fl,”FLOAT – i?iaa?ea ia /enei n ieaaathuae caiyoie n oeeo?u
%c.\n”,nx);
if(isdigit(nx))
{
while(isdigit(nx))
Scan();
if(nx==’.’)
{
Scan();
while(isdigit(nx))
Scan();
}
return(YES);
}
return(NO);
}
//(((((((((((((((((((((((((((((((((((((((
// Message.
//(((((((((((((((((((((((((((((((((((((((
void Message(int x)
{
window(50,3,76,22);
textattr(95);
clrscr();
gotoxy(1,1);
for(int i=0;mes[x][i][0]!=NULL;i++)
cprintf(“%s\r\n”,mes[x][i]);
}
//(((((((((((((((((((((((((((((((((((((((
Eeoa?aoo?a.
Eo?n eaeoeee ii nenoaiiiio i?ia?aiie?iaaieth.
Aa?aa?o Oeeaeo «C aeey i?ioanneiiaeueiuo i?ia?aiienoia».
Neioaene/aneee ?aniiciaaaoaeue a?eoiaoe/aneiai iia?aoi?a oneiaiiai
ia?aoiaea ycuea FORTRAN.
Aieei Eiinoaioei Aiaoieueaae/. PAGE 3
Нашли опечатку? Выделите и нажмите CTRL+Enter