5.21  ERROR - 19 - LIMIT: too many types
Prilis vela typov. Kompiler ma tabulku v ktorej drzi vsetky typy
pouzite v programe, a tato tabulka je teraz plna. Toto su vsetky
typy (napr. int ****ptr) a nie iba  menovane.  Obmedzenie  poctu
typov  je  jedinym  sposobom  ako  setrit  pamat,  mozno  pouzit
operator typu cast na zrusenie  viacerych  komplexnych  retazcov
ukazovatelov atd.
5.22   ERROR - 20 - duplicate declaration - type mismatch
Dvojita deklaracia-zmatok v typoch. Obvykle to znamena  ze  meno
bolo  deklarovane  dvakrat.  Zvolte  dalsie  meno  pre  jednu  z
premennych. Moze to byt umyselna dvojita deklaracia ,  taka  ako
pouzitie funkcie  pred  jej  definovanim;v  tomto  pripade  boli
porusene pravidla o typoch. Napr. funkcia  pouzita  pred  svojou
definiciou je  implicitne  deklarovana  ako  int  ;  nasledujuca
definicia to musi dodrzat.
5.23   ERROR -  21  -  duplicate  declaration  -  srorage  class
                                                  mismatch
Dvojita deklaracia - zmatok v  triedach  pamati.  Toto  obycajne
znaci ze meno premennej bolo  deklarovane  dvakrat.  Zvolte  ine
meno pre jednu z premennych. Spomente si , ze v C moze byt  meno
deklarovane niekedy dvakrat (napr:  ked  funkcia  je  pouzivana
skor ako je definovana alebo ked to iste  meno  je  pouzite  pre
prvky dvoch rozlicnych struktur) a v tomto pripade  je  dolezita
druha cast spravy.  To  znaci  ze  v  tomto  pripade  vyzadovane
podmienky (napr ze prvky maju tu  istu  suradnicu  v  strukture)
neboli dodrzane.
5.24   ERROR - 22 - LIMIT : global symbol table full
Plna tabulka globalnych symbolov. Kompiler ma tabulku, v  ktorej
detaily o vsetkych  globalnych  premennych  v  programe.  Jediny
sposob ako setrit miesto v tejto  tabulke  je  zredukovat  pocet
globalnych premennych.
5.25   ERROR - 23 - LIMIT : too much global data
Prilis vela globalnych dat. Nie je dost priestoru v pamati na
vsetko co ma obsahovat, a je treba viac priestoru  pre  globalne
premenne.
5.27   ERROR - 25 - LIMIT : local symbol table full
Kompiler ma tabulku, ktora obsahuje detaily  o  kazdej  lokalnej
premennej a navesti vo funkcii. Tato tabulka je  plna.  Priestor
moze byt usetreny zredukovanim  poctu  lokalnych  premennych  vo
funkcii ktora zapricinila problem, je mozne rozdelit funkciu  na
casti, ktore pouzivaju  menej  premennych,  alebo  pouzit  menej
"goto" navesti prepisanim uzivatelskych sluciek a podmienok.
5.28   ERROR -26 - this parameter was not in parameter list
Tento parameter nie je v zozname. Iba tie premenne, ktore boli v
zozname parametrov medzi () definicie funkcie sa  mozu  vyskytut
znova v deklaracii pred zaciatkom tela funkcie.
5.29   ERROR - 27 - undefined variable(s)
Nedefinovana premenna. Na  konci  kompilacie  programu  kompiler
kontroluje ci vsetky premenne pouzite v  programe  boli  spravne
definovane a vypise tie ktore neboli. Su to obvykle funkcie a ak
su to kniznicne funkcie mozu byt podmienecne  zaclenene  pomocou
kniznicneho prehladavania. Tato chyba nevyvola  znovu  kompiler.
mozete pokracovat a pisat dalsi vstupy do kompileru neskor (take
ako #include ?stdio.lib?).
5.30   ERROR - 28 - bad function return type
Zly navratovy typ funkcie.V C su iste obmedzenia typov  ,  ktore
moze funkcia vratit ako svoju hodnotu. Podrobnosti su ukazane  v
oddieli 8.4 knihy Kernighan, Ritchie : The C reference manual.
5.31   ERROR - 29 - no arrays of functions
Ziadne polia funkcii. Ale je mozne pouzivat  polia  ukazovatekov
na funkcie. Mozno to je to co potrebujete.
5.32   ERROR - 30 - LIMIT : expresion too complicated - too
                            many arguments
Vyraz prilis lomplikovany - prilis vela argumentov. Ucelom je ze
toto obmedzenie nemoze byt dosiahnute v normalnom pouzivani.  Ak
sa  vyskytne,  rozdelte  vyraz  alebo  ho  rozclente  niekolkymi
zatvorkami.
5.33   ERROR - 31 - LIMIT : expresion too complicated - too many
                            operators.
Prilis  vela  operatorov.  Cielom  je  aby  sa  toto  obmedzenie
nevyskutlo pri normalnom pouzivani. Vid 5.33
5.34   ERROR - 32 - bad type combination
Zla kombinacia typov. Pre  kazdy  operator  vo  vyraze  existuju
pravidla o typoch operandov a niekde v tomto vyraze  boli  tieto
pravidla porusene. Kompiler zobrazi spravu o poruche  ihned  ako
je to mozne , ale musi vycislit operandy predtym ako spozna  ich
typy a moze ich skontrolovat. Detaily o  kombinaciach  ktore  su
dovolene su v sekcii 7 v " The C reference manual". Tato  sprava
sa tyka binarnych a ternarnych operatorov ( napr. + or ? : ).
5.35   ERROR - 33 - bad operand type
Zly typ operandu. Podobne ako predosla chyba ale  tato  sa  tyka
operandov unarnych operatorov ako su * & ! atd.
5.36   ERROR - 34 - need an l value
Potrebuje l hodnotu. Niektore operatory  mozu  pRijat  iba  take
argumenty , ktore su l hodnotami (napr. ++ -- &  ).  Pravidla  o
nutnosti l hodnoty a o tom co  je  to  l  hodnota  su  v  The  C
reference manual, ale zhruba povedane l hodnota je adresa pamate
do ktorej sa ma ukladat. Zapamatajte si , ze meno pola a funkcie
nie je l hodnotou.
5.37   ERROR - 35 - not a defined member of a structure
Nedefinovany clen struktury.  Iba  meno  clena  struktury  alebo
zmesi sa moze vyskytnut napravo od -> alebo od operatora.
5.38   ERROR - 36 - expecting a primary here
Chyba tu prvotny vyraz. Kompiler hlada prvotne vyrazy ( take ako
mena premennych ) vo vyrazoch. Toto je dalsia chyba , ktora moze
miast, pretoze je to skutocne negativny prikaz. Kompiler sa dom-
nieva , ze je v tele funkcie (takze vyrazy su dovolene) a rozho-
dne ze aktualny vsup nie je deklaracia alebo prikaz  ale  ze  to
musi byt vyraz. Dalej rozhodne ze aktualny vstu nie je  operator
a tak to musi byt prvotny  vyraz.  Jednym  specialnym  pripadom,
kedy sa vyskytne tato sprava je  neukonceny  komentar.Ak  si  to
premyslite ked sa to stane , pravdepodobne pochopite preco.
5.39   ERROR - 37 - undefined variable
Nedefinovana premenna. Vo vyraze ste pouzili meno  nedefinovanej
premennej. Definujte ju ako globalnu alebo na vrchu funkcie.
5.40   ERROR - 38 - need a type name
Treba meno typu. Operatory sizeof a cast  budu  pracovat  iba  s
menami  typov  ,  bud  jedneho  zo  zakladnych    typov    alebo
deklarovaneho pomocou typedef. Neakceptuju "anonymne  typy"  ako
su "int  **(*(*())[])()"  a  operator  sizeof  neakceptuje  meno
premennej  (  pretoze  s  menami  typov  mozete  pisat  programy
prehladnejsie a pomaha to udrzat kompiler malym.
5.41   ERROR - 39 - need a constant expression
Treba konstantny vyraz. Tu moze kompiler vyratat iba  konstantny
vyraz , ale narazil na nieco co nie je konstantou.
5.42   ERROR - 40 - can only call functions
Moze sa iba volat  funkcia.  Lava  zatvorka  po  mene  premennej
vyzera ako pokus o volanie tej premennej ako funkcie, a  sposobi
ze premenna musi byt deklarovana  ako  funkcia  nico  vracajuca.
mozbyt , ze  chyba  '+'  alebo  nieco  take  medzi  premennou  a
zatvorkami alebo chyba nepriame '*' pred premennou.
5.43   ERROR - 41 - : does not follow a ? properly
: spravne nenasleduje za ? . Kompilator nasiel dvojbodku tam,kde
nepatri. ':' moze nasledovat za menom labelu (navestia) alebo za
vyrazom "case",pripadne ako cast podmienkoveho vyrazu e1 ? e2  :
e3 . Tu vyzera ako cast vyrazu, ale nerovna sa '?'. Skontrolujte
to,co vyrazu predchadzalo,ak si myslite,ze sa rovna '?' !!  Naj-
jednoduchsi sposob je vsunut dodatocne zatvorky pre istotu. Uve-
domte si,ze podmienkove vyrazy sa grupuju sprava  dolava,ked  su
zosietene (vnorene).
5.44   ERROR - 42 - Destination of an assignment must be lvalue
Priradovat sa musi do typu lvalue. Specialny typ chyboveho  hla-
senia,ktory Vam ma co najrychlejsie oznamit,ze na  lavej  strane
priradovacieho vyrazu nieje lvalue. Pravidla  co  je  lvalue  su
uvedene v manuali,ale zhruba povedane lvalue je  adresa  pamati,
do ktorej mozno ukladat. Zvlast si pamatajte,ze meno pola a fun-
kcie NIESU lvalue.
5.45   ERROR - 43 - need a : to follow a ? - check bracketting
Za ? treba : - skontrolujte  zatvorkovanie.  Kompilator  ocakava
dvojbodku ako cast podmienecneho prikazu e1 ? e2 : e3 a nenasiel
ju. Zvlast si uvedomte,ze e2  nemoze  byt  priradovaci  vyraz,ak
nieje ozatvorkovany a ze podmienecne prikazy sa  grupuju  sprava
dolava,ak su zretazene.
5.46   ERROR - 44 - need a pointer
Treba pointer. Na pouzitie nepriamej operacie na vyraz, musi byt
ukazovatelom na nieco. Nepriamy operator moze byt explicitny '*'
alebo implicitny v '->' operatore alebo v popise prvku pola
e1 [e2].
Poznamenavame ,ze Hisoft C kompiler nepripusta cele  cislo  pred
'->' ako je diskutovane v casti  14.1  C  reference  manual.  Ak
chcete vlozit strukturu na  absolutnu  adresu  pouzite  cast  na
napisanie vyrazu:
           typedef char *char_ptr
           (cast (char_ptr) 0x005C) -> fcb_filename [ 0 ] ='A';
Umyslom je pomoct predist chybam, ktore  mozu  porusit  pamat  a
umoznit lahsi prenos programov z jedneho typu stroja na druhy.
5.47   ERROR - 45 - illegal parameter type
Nepripustny typovy parameter. Je niekolko typov ,  ktore  nemozu
byt pouzite ako parametre funkcii.  Tymito  typmi  su  struktury
zmesi a dalsie funkcie. Mozete ukazat pointrom na kazdy z tychto
typov.
5.48   ERROR - 46 - RESTRICTION : Floating Point not implement
5.49   ERROR - 47 - cannot use this operator with floats
                    arguments
Nemozete pouzivat  tento  operator  s  argumentom  s  plavajucou
ciarkou. Tato sprava sa nebude vyskytovat dokia  bude  existovat
predosla.
5.50   ERROR - 48 - bad declaration
Zla deklaracia. Skontrolujte co je dovolene v deklaracii.
5.51   ERROR - 49 - storage class non valid in this context
Trieda pamati neplatna v kontexte. Napr. nie su  registre  alebo
automaticke globalne.
5.52   ERROR - 50 - Neexistuje chyba 50.
5.53   ERROR - 51 - duplicate declaration of structure tag.
Dvojita deklaracia struktury tag.
5.54   ERROR - 52 - use a predeclared structure for parameters
Pouzite preddeklarovanu strukturu parametrov.
Namiesto deklarovania obsahu  struktury  v  zozname  parametrov,
deklarujte najprv strukturu a dajte jej meno  (  bud  tag  alebo
pouzitim typedef ). Potom pouzite meno na deklaraciu parametrov.
Vzdy budete potrebovat strukturu znova na  to  aby  ste  vlozili
aktualne argumenty do funkcie
5.55   ERROR - 53 - structure cannut contain itself
Struktura nemoze obsahovat samu seba. Mozete zahrnut jeden  druh
struktury  priamo  do  druhej,  ale  na    zhotovenie    zoznamu
uzivatelskych funkcii pouzite ukazovatel struktur. Napr.:
   struct list
   {
      int            value
      struct list   * next;
}
5.56   ERROR - 54 - bad declarator
Zly deklarator.Skontrolujte syntax deklaratora pocla manualu C.
5.57   ERROR - 55 - missing ')' in function declaration
Chybajuca ')' v deklaracii funkcie. Deklaracia funkcie (na  roz-
diel od definicie funkcie) musi mat za menom "()" a  nesmie  mat
zoznam parametrov. Deklaracia funkcie len vravi,ze isty  identi-
fikator je typu funkcia s urcitym vysledkom, zatialco  definicia
obsahuje tiez telo  funkcie.  Funkcie  mozno  definovat  len  na
najhornejsej urovni programu,kdezto deklaracia funkcie  sa  moze
objavit ako clen struktury,parameter atd.
5.58   ERROR - 56 - bad formal parameter list
Zly zoznam formalnych  parametrov.Zoznam  formalnych  parametrov
funkcie je len zoznam identifikatorov.Dodatocna informacia o ty-
poch sa dava neskor vo zvlastnej deklaracii,tesne pred zaciatkom
funkcie.
5.59   ERROR - 57 - type should be function
Typ by mal  byt  funkcia.  Kompilator  sa  domnieva,ze  toto  je
definicia funkcie a zistil,ze meno funkcie nieje typu funkcia  s
urcitym vysledkom. Skontrolujte co je dovolene podla manualu C.
5.60   ERROR - 58
Nieje ziadna chyba 58.
5.61   ERROR - 59
Neexistuje chyba 59.