У меня такой вопрос:

1. В конце процедуры, например, "add" есть запись "END Add;", поймёт ли он просто "END;" ?

2. Красным выделю вариант. Меня интересует поймёт ли компилятор ?

Код:
	        PROCEDURE Compare(first, second: ANY): LONGINT;
	        VAR
	            nFirst, nSecond: XXX;
	        BEGIN
	            nFirst := first(ListStdItem<XXX>).value;
	            nSecond := second(ListStdItem<XXX>).value;
	            IF nFirst < nSecond THEN
	                RETURN -1
	            ELSIF nFirst > nSecond THEN BEGIN
	                RETURN 1;
	            END ELSE BEGIN
	                RETURN 0;
	            END;
	        END Compare;
3. Как компилятор относится к регистру в тексте ? Могу ли я объявить процедуру Большими символами, а вызывать её маленькими ?