% ------------------------------------------------------------------------------
% Copyright (c) 2010, 2021 Contributors to the Eclipse Foundation
%
% See the NOTICE file(s) distributed with this work for additional
% information regarding copyright ownership.
%
% This program and the accompanying materials are made available under the terms
% of the MIT License which is available at https://opensource.org/licenses/MIT
%
% SPDX-License-Identifier: MIT
% ------------------------------------------------------------------------------
\begin{rail}
BooleanExpression : Expression ( EQTK | NETK ) Expression
                  | ( IntegerExpression | RealExpression )
                    ( LTTK | LETK | GETK | GTTK )
                    ( IntegerExpression | RealExpression )
                  | StringExpression ( LTTK | LETK | GETK | GTTK )
                    StringExpression
                  | Expression INKW ( ListExpression | SetExpression
                                    | DictionaryExpression )
                  | ListExpression SUBKW ListExpression
                  | SetExpression SUBKW SetExpression
                  | DictionaryExpression SUBKW DictionaryExpression
                  ;
\end{rail}
