Esempio n. 1
0
int adrProm(char *id)
{
   PrvekTab *p = hledejId(id);
   if (!p) {
      Chyba(id, "neni deklarovan");
      return 0;
   } else if (p->druh != IdProm) {
      Chyba(id, "neni identifikatorem promenne");
      return 0;
   } else
      return p->hodn;
}
Esempio n. 2
0
DruhId idPromKonst(char *id, int *v)
{
   PrvekTab *p = TabSym;
   while (p) 
      if (strcmp(id,p->ident)==0) {
         *v = p->hodn;
         return p->druh;
      } else
         p = p->dalsi;
   Chyba(id, "neni deklarovan");
   return Nedef;
}
Esempio n. 3
0
bool isArr(char* id)
{
   PrvekTab* help = hledejId(id);
   
   if (help == NULL)
   {
      Chyba(id, "neni deklarovan");
      return false;
   }

   if (help->druh == IdPole)
      return true;
   
   return false;
}
Esempio n. 4
0
void deklKonst(char *id, int val)
{
   PrvekTab *p = hledejId(id);
   if (p) {
      Chyba(id, "druha deklarace");
      return;
   }

   if (TabSym == NULL)
      TabSym = new PrvekTab(id, IdKonst, val, NULL);
   else
   {
      PrvekTab *help = TabSym;
      while (help->dalsi != NULL)
         help = help->dalsi;
      help->dalsi = new PrvekTab(id, IdKonst, val, NULL);
   }
}
Esempio n. 5
0
void deklProm(char *id)
{
   PrvekTab *p = hledejId(id);
   if (p) {
      Chyba(id, "druha deklarace");
      return;
   }

   if (TabSym == NULL)
      TabSym = new PrvekTab(id, IdProm, volna_adr, NULL);
   else
   {
      PrvekTab *help = TabSym;
      while (help->dalsi != NULL)
         help = help->dalsi;
      help->dalsi = new PrvekTab(id, IdProm, volna_adr, NULL);
   }
   volna_adr++;
}
Esempio n. 6
0
void deklPole(char* id, int s, int e)
{
   PrvekTab *p = hledejId(id);
   if (p) {
      Chyba(id, "druha deklarace");
      return;
   }

   for (; s < e; ++s)
   {
      if (TabSym == NULL)
         TabSym = new PrvekTab(id, IdPole, volna_adr, NULL);
      else
      {
         PrvekTab *help = TabSym;
         while (help->dalsi != NULL)
            help = help->dalsi;
         help->dalsi = new PrvekTab(id, IdPole, volna_adr, NULL);
      }
      volna_adr++;
   }
}
Esempio n. 7
0
File: main.c Progetto: kam29/CChess
int main () 
{
	hra_t* hra = malloc(sizeof(hra_t));
	if (hra == NULL) Chyba(ERRMALLOC, NULL, NULL);
	char* prikaz = malloc(MAXDELKAPRIKAZU);
	if (prikaz == NULL) Chyba(ERRMALLOC, NULL, hra);
	char kontrola;
	Inicializace(hra);
	hra->barva = BILA;
	AktualizujGrafiku(hra);
	// Inicializace síťového připojení
	if (hra->barva == BILA)
	{
		while (true) {
		while (true)
		{
			printf("Zadej tah ");
			if (hra->barva == BILA) printf ("(bílý): ");
			else printf ("(černý): ");
			kontrola = NactiPrikaz(prikaz, MAXDELKAPRIKAZU);
			if (kontrola == ERRKONEC) Chyba(OK, prikaz, hra);
			else if (kontrola == ERRPRIKAZ) Chyba(kontrola, prikaz, hra);
			else if (kontrola != OK)
			{
				printf("Špatný příkaz   ");
				continue;
			}
			if (!ZpracujPrikaz(prikaz, hra)) 
			{
				printf("Špatný příkaz   ");
				continue;
			}
			break;
		}
		if (hra->barva == CERNA) hra->barva = BILA;
		else hra->barva = CERNA;
		AktualizujGrafiku(hra);
		if (hra->flagy[BMAT] == true || hra->flagy[CMAT] == true)
		{
			break;
		}
		}
	}
//	while (true)
//	{
//		printf("Cykl");
//		// Uložení příchozího příkazu do proměné příkaz
//		if (!ZpracujPrikaz(prikaz, hra)) Chyba(ERRPRIKAZ, prikaz, hra);
//		AktualizujGrafiku(hra);
//		while (true)
//		{
//			kontrola = NactiPrikaz(prikaz, MAXDELKAPRIKAZU); 
//			if (kontrola == ERRPRIKAZ) Chyba(ERRPRIKAZ, prikaz, hra);
//			if (kontrola == OK) break;
//		}
//		if (!ZpracujPrikaz(prikaz, hra)) Chyba(ERRPRIKAZ, prikaz, hra);
//		AktualizujGrafiku(hra);
//	}
	Chyba(OK, prikaz, hra);
	return 0;
}