Za niepoprawne zwykle uważa się:

deklaracje dwóch zmiennych o tej samej nazwie w tym samym zakresie widoczności, deklaracje dwóch funkcji (podprogramów) o tej samej nazwie i tych samych parametrach w tym samym zakresie widoczności, użycie niezadeklarowanej zmiennej, użycie tej samej nazwy w dwóch kontekstach, np. jako nazwa typu rekordu i nazwa zmiennej (choć wiele kompilatorów ma oddzielne przestrzenie nazw i takie użycie jest uważane za poprawne, użycie słowa zastrzeżonego jako identyfikatora, deklaracja dwóch etykiet (np. dla goto lub case) o tej samej nazwie, lub brak deklaracji użytej etykiety.

Część z tych rzeczy, np. podwójne deklaracje, jest sprawdzana w czasie tworzenia tablicy symboli.

Zobacz też Kompilator

Bibliografia Aho, Sethi, Ullman, Kompilatory. Reguły, metody i narzędzia, WNT 2002 Appel, Palsberg, Modern Compiler Implementation in Java, Second Edition, Cambridge University Press, 2002

Kategoria:Kompilacja