Поделиться через


Проблемы с логическими операторами в предварительной обработке GDL

Логические операторы в условных выражениях препроцессора GDL в настоящее время не поддерживаются, но их можно смоделировать.

Имитация оператора NOT

Обычно можно использовать оператор NOT, как показано в следующем примере кода.

#Ifdef:  symbol
--do this--
#Endif: 

Однако вместо этого следует использовать следующий пример кода.

#Ifdef:  symbol
#Else:
--do this--
#Endif: 

Имитация оператора AND

Обычно можно использовать оператор AND, как показано в следующем примере кода.

#Ifdef:  (symbolA  *AND* symbolB)
--do this--
#Endif: 

Однако вместо этого следует использовать следующий пример кода.

#Ifdef:  symbolA
#Ifdef:  symbolB
--do this--
#Endif: 
#Endif: 

Имитация оператора OR

Обычно можно использовать оператор OR, как показано в следующем примере кода.

#Ifdef:  (symbolA  *OR* symbolB)
--do this--
#Endif: 

Однако вместо этого следует использовать следующий пример кода.

#Ifdef:  symbolA
#Define: TempSymbol
#Elseifdef: symbolB
#Define: TempSymbol
#Endif: 
#Ifdef:  TempSymbol
--do this--
#Endif: 
#Undefine: TempSymbol