Home > Back-end >  We have a compilation principle of pl/0 compiler modernization level 3 project, I found a post on th
We have a compilation principle of pl/0 compiler modernization level 3 project, I found a post on th

Time:10-19

Int expression (PTX bool * fsys, int * and an int Lev, int index)
{
Enum symbol addop; For this plus or minus *//*
Bool nxtlev [symnum];

If (sym==plus | | sym==minus)/* at the beginning of plus or minus, the current expression is seen as a positive or negative items */
{
Addop=sym;/* save at the beginning of plus or minus */
Getsymdo;
Memcpy (nxtlev fsys, sizeof (bool) * symnum);
Nxtlev [plus]=true;
Nxtlev [minus]=true;
Termdo (nxtlev, PTX, Lev);/* handle items */
If (addop==minus)
{
Gendo (opr, 0, 1);/* if opening for the minus sign to generate negative instructions */
}
}
The else/* this expression is viewed as the add and subtract items */
{
Memcpy (nxtlev fsys, sizeof (bool) * symnum);
Nxtlev [plus]=true;
Nxtlev [minus]=true;
Termdo (nxtlev, PTX, Lev);/* handle items */
}
While (sym==plus | | sym==minus)
{
Addop=sym;
Getsymdo;
Memcpy (nxtlev fsys, sizeof (bool) * symnum);
Nxtlev [plus]=true;
Nxtlev [minus]=true;
Termdo (nxtlev, PTX, Lev);/* handle items */
If (addop==plus)
{
Gendo (opr, 0, 2);/* generate add instruction */
}
The else
{
Gendo (opr, 0, 3);/* generate subtraction instructions */
}
}
return 0;
} I want to ask this index parameters are futile
  • Related