pub enum OPBToken {
Comment,
Integer,
Var,
Negation,
GreaterEqual,
LessEqual,
Equal,
Semicolon,
Minimize,
Maximize,
Label,
}Expand description
Tokens used in the OPB format as specified by the PB competition 2024.
Variants§
Comment
Comment lines.
Integer
Integer used for coefficients or degree (right-hand side).
Var
OPB variable.
Negation
Negation symbol for a literal.
GreaterEqual
Greater than or equal comparison for PB constraint.
LessEqual
Less than or equal comparison for PB constraint.
Equal
Equal comparison for PB constraint.
Semicolon
Semicolon which should end a PB constraint.
Minimize
Label to start the objective function that should be minimized.
Maximize
Label to start the objective function that should be maximized. While we support maximization objectives in the OPB file, internally the objective is always minimized.
Label
Constraint labels similar to the ones used in the proof format.
Trait Implementations§
impl Eq for OPBToken
Source§impl<'s> Logos<'s> for OPBToken
impl<'s> Logos<'s> for OPBToken
Source§type Error = ()
type Error = ()
Error type returned by the lexer. This can be set using
#[logos(error = MyError)]. Defaults to () if not set.Source§type Extras = ()
type Extras = ()
Associated type
Extras for the particular lexer. This can be set using
#[logos(extras = MyExtras)] and accessed inside callbacks.Source§type Source = str
type Source = str
Source type this token can be lexed from. This will default to
str,
unless one of the defined patterns explicitly uses non-unicode byte values
or byte slices, in which case that implementation will use [u8].Source§fn lex(lex: &mut Lexer<'s, Self>)
fn lex(lex: &mut Lexer<'s, Self>)
The heart of Logos. Called by the
Lexer. The implementation for this function
is generated by the logos-derive crate.impl StructuralPartialEq for OPBToken
Auto Trait Implementations§
impl Freeze for OPBToken
impl RefUnwindSafe for OPBToken
impl Send for OPBToken
impl Sync for OPBToken
impl Unpin for OPBToken
impl UnsafeUnpin for OPBToken
impl UnwindSafe for OPBToken
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Enum> FromEnumMut<Enum> for Enum
impl<Enum> FromEnumMut<Enum> for Enum
Source§fn from_enum_mut(e: &mut Enum) -> Option<&mut Enum>
fn from_enum_mut(e: &mut Enum) -> Option<&mut Enum>
The inverse of
EnumExtensions::try_mut_var, see that method’s documentation for more. Read moreSource§impl<Enum> FromEnumRef<Enum> for Enum
impl<Enum> FromEnumRef<Enum> for Enum
Source§fn from_enum_ref(e: &Enum) -> Option<&Enum>
fn from_enum_ref(e: &Enum) -> Option<&Enum>
The inverse of
EnumExtensions::try_ref_var, see that method’s documentation for more. Read moreSource§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more