Red de conocimiento informático - Conocimientos de programación - Lenguaje de programación phy

Lenguaje de programación phy

# incluir ltstdio.h gt

# incluir lt string gt

void main()

{

bool yh _ d = false //Comillas simples

bool yh _ s = false//Comillas dobles

bool zs _ at = false//@

bool zs _ left = false //((

bool zs _ right = false//))

char line[1024];

int l _ line = 0;/ / línea de registro

int p_line = 0; //línea phy

int pro_num = 0; //número de programa

int end_pro = 0; el final de la entrada del programa, 2 indica el final de toda la entrada.

while(fgets(line, 1024, stdin)! = vacío)

{

if(strncmp(line, " ## ", 2)= =0)

{

if(p _ line gt; 0)

pro _ num;

if(zs_left == true)

{

printf("Unter...evitar comentarios al final...\ n ");

}

printf("Pro d contiene d líneas de registro y d líneas phy\n ", pro_num, l_line, p _ line

p _ line =

l _); línea = 0;

Romper;

}

if(strncmp(línea, " # ", 1) ==0)

{

if(p _ line gt; 0)

pro _ num;

if(zs_left == true)

{

printf("Unter...evitar comentarios al final...\n ");

}

printf("Pro d contiene d líneas de registro y líneas d phy\n ", pro_num, l_line, p_line);

p_line = 0;

l_line = 0;

Continuar;

}

int len ​​​​= strlen(línea);

p _ línea;

if(línea [len-1] = = '\n ')

línea[len-1]= 0;

bool end _ line = false

int I ;

for(I = 0; fila [I]! = 0; i)

{

if(fila [i]== '# ')

{

pro _ num;

if(zs_left == true)

{

printf("Unter... evitar comentarios al final...\ n ");

}

printf("Pro d contiene d líneas de registro y d líneas phy\ n ", pro_num, l_line, p _ línea);

p _ línea = 0

l _ línea = 0

fin _ pro = 1 ;

if(line[i 1] =='# ')

{

end _ pro = 2;

Romper ;

}

}

else if(line[I]== ' \ ' amp; ampyh_s == false.

ampzs_at = = false amp ampzs_left == false)

{

yh_d = (yh_d == false? true: false);

}

p>

else if(line[I]= = ' \ " ' amp; ampyh _ d == false amp ampzs _ at == false amp ampzs_left == false)

{

yh_s = (yh_s == false? true: false);

}

else if(line[I]= = ' @ ' amp; ampyh_s == false ampyh_d = = falso amp ampzs_left == falso)

{

zs_at = (zs_at == falso? verdadero: falso);

}

else if(line[I]== '(' amp; ampline[I 1]== '(' amp; ampyh_s == false. ampyh_d == false amp ampzs_at == false)

{

zs_left = (zs_left == false? true: false

}

else if(line[I]= = ')' amp; ampline[I 1]= = ')' amp; ampyh_s == ampyh_d = = false amp ampzs_at == false)

{

if(zs_left = true)

{

zs _ left = false

}

Otro

{

//printf("Error: d, d\n ", p_line, l_line

}

}

else if(line[I]); == ';' amp ampyh_s == falso.

ampyh _ d = = false amp ampzs _ left = = false amp ampzs_at == false)

{

end _ line = true

l _ line;

}

/*if(end_line)

{

if(yh_d == verdadero || yh_s == verdadero)

printf("unterstring in line d", p_line);

end_line = false

yh_d = false

yh _ s = false

}*/

}

end_line = true

if(end_line)

{

if(yh_d == true || yh_s == true)

printf(" unterstring in line d \ n ", p _ line

end_line); = falso

yh_d = falso

yh_s = falso

}

if(end_pro == 2)

Descanso;

}

}

/*Se han implementado funciones básicas. Puedes copiarlo y ejecutarlo. Puedes optimizar el código tú mismo*/