Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W GDL istnieją cztery nowe dyrektywy preprocesora, które nie istniały w implementacji GPD: #PreCompiled, #UndefinePrefix, #EnablePPDirective i #DisablePPDirective.
Ponadto dyrektywa #Undefine teraz również nie akceptuje żadnego argumentu. Brak argumentu oznacza, że ostatnio zdefiniowany symbol jest niezdefiniowany, co powoduje przywrócenie wcześniej zdefiniowanego symbolu.
Zalecamy, aby nie używać tych nowych dyrektyw, jeśli plik GDL ma być również analizowany przez analizator GPD. Jeśli chcesz włączyć nowe dyrektywy preprocesora do pliku GDL, który jest również przeznaczony do użytku przez analizatory GPD, należy zapewnić alternatywną ścieżkę dla zachowania wstecznej kompatybilności, która pozwoli starszemu preprocesorowi pominąć wykonywanie tych nowych dyrektyw. Każda ścieżka powinna być ujęta w #Ifdef:, #Else, #Endif konstrukcji, jak pokazano w poniższym przykładzie kodu.
#Ifdef: NewParserVersion
*% Use new preprocessor directives if the parser supports them.
*% Lock out this entire code path by changing the prefix.
#SetPPPrefix: #New_
#New_PreCompiled: ...
*% Actually might use a mixture of old and new directives!
#New_UndefinePrefix:
#Else:
*% Otherwise only use the original set of directives.
#OldDirectives: ...
#Endif:
Ponadto prefiks preprocesora powinien być ustawiony na inną wartość podczas uruchamiania nowej gałęzi dyrektyw. Analizator wyświetli ostrzeżenie, jeśli napotka dyrektywy z niewłaściwym prefiksem.