69 PM_FUNCTION_NAME = 1 << 2,
81 static_cast<std::underlying_type_t<parse_mode>
>(nItem) &
82 static_cast<std::underlying_type_t<parse_mode>
>(nSet)
94 static_cast<std::underlying_type_t<shell_keyword>
>(nItem) &
95 static_cast<std::underlying_type_t<shell_keyword>
>(nSet)
108 static_cast<std::underlying_type_t<bs::shell_keyword>
>(nLeft) |
109 static_cast<std::underlying_type_t<bs::shell_keyword>
>(nRight));
120 static_cast<std::underlying_type_t<bs::shell_keyword>
>(nLeft) &
121 static_cast<std::underlying_type_t<bs::shell_keyword>
>(nRight));
133 static_cast<std::underlying_type_t<bs::shell_keyword>
>(nLeft) ^
134 static_cast<std::underlying_type_t<bs::shell_keyword>
>(nRight));
144 return nLeft = nLeft | nRight;
154 return nLeft = nLeft & nRight;
164 return nLeft = nLeft ^ nRight;
175 static_cast<std::underlying_type_t<bs::parse_mode>
>(nLeft) |
176 static_cast<std::underlying_type_t<bs::parse_mode>
>(nRight));
187 static_cast<std::underlying_type_t<bs::parse_mode>
>(nLeft) &
188 static_cast<std::underlying_type_t<bs::parse_mode>
>(nRight));
200 static_cast<std::underlying_type_t<bs::parse_mode>
>(nLeft) ^
201 static_cast<std::underlying_type_t<bs::parse_mode>
>(nRight));
211 return nLeft = nLeft | nRight;
221 return nLeft = nLeft & nRight;
231 return nLeft = nLeft ^ nRight;
BashSpark main namespace.
Definition command.h:39
parse_mode
Enumeration for different parsing modes.
Definition shell_keyword.h:65
@ PM_BACKQUOTE
Backquote parsing mode.
@ PM_NORMAL
Normal parsing mode.
@ PM_LOOP
Loop parsing mode.
@ PM_BACKQUOTE_LOOP
Combined mode for handling both backquote and looping.
shell_keyword
Enumeration of shell keywords for scripting.
Definition shell_keyword.h:39
@ SK_FUNCTION
Start of a function definition.
@ SK_DO
Beginning of a block for loops and conditionals.
@ SK_NONE
No keyword (default value).
@ SK_WHILE
Start of a while loop.
@ SK_DONE
End of a do block or loop.
@ SK_FOR
Start of a for loop.
@ SK_CONTINUE
Continue statement.
@ SK_ELSE
Alternative block for when the 'if' condition is false.
@ SK_IN
Collection specified in a for loop.
@ SK_IF_DELIMITER
End of a if block.
@ SK_IF
Beginning of an if conditional statement.
@ SK_BREAK
Break staement.
@ SK_ELIF
Additional condition in an if-else chain.
@ SK_FI
End of an if-else construct.
@ SK_UNTIL
Loop continues until a condition is met.
@ SK_THEN
Block that executes if the 'if' condition is true.
constexpr bool has(const parse_mode nItem, const parse_mode nSet)
Checks if the bitwise and of two parse_mode is 0.
Definition shell_keyword.h:79
bs::shell_keyword & operator|=(bs::shell_keyword &nLeft, const bs::shell_keyword nRight)
Bitwise OR assignment operator for shell_keyword.
Definition shell_keyword.h:143
constexpr bs::shell_keyword operator|(const bs::shell_keyword nLeft, const bs::shell_keyword nRight)
Bitwise OR operator for shell_keyword.
Definition shell_keyword.h:106
constexpr bs::shell_keyword operator&(const bs::shell_keyword nLeft, const bs::shell_keyword nRight)
Bitwise AND operator for shell_keyword.
Definition shell_keyword.h:118
bs::shell_keyword & operator^=(bs::shell_keyword &nLeft, const bs::shell_keyword nRight)
Bitwise XOR assignment operator for shell_keyword.
Definition shell_keyword.h:163
bs::shell_keyword & operator&=(bs::shell_keyword &nLeft, const bs::shell_keyword nRight)
Bitwise AND assignment operator for shell_keyword.
Definition shell_keyword.h:153
constexpr bs::shell_keyword operator^(const bs::shell_keyword nLeft, const bs::shell_keyword nRight)
Bitwise XOR operator for shell_keyword.
Definition shell_keyword.h:131