|
Metalang99 1.13.5
Full-blown preprocessor metaprogramming
|
Identifiers: [a-zA-Z0-9_]+. More...

Go to the source code of this file.
Macros | |
| #define | ML99_detectIdent(prefix, ident) |
Tells whether ident belongs to a set of identifiers defined by prefix. | |
| #define | ML99_identEq(prefix, x, y) |
Compares two identifiers x and y for equality. | |
| #define | ML99_charEq(x, y) |
Compares two characters x and y for equality. | |
| #define | ML99_isLowercase(x) |
Tells whether the identifier x is a lowercase letter. | |
| #define | ML99_isUppercase(x) |
Tells whether the identifier x is an uppercase letter. | |
| #define | ML99_isDigit(x) |
Tells whether the identifier x is a digit. | |
| #define | ML99_isChar(x) |
Tells whether the identifier x is a character. | |
| #define | ML99_charLit(x) |
Converts the Metalang99 character x to a C character literal. | |
| #define | ML99_LOWERCASE_CHARS(...) |
| Expands to all comma-separated lowercase letters. | |
| #define | ML99_UPPERCASE_CHARS(...) |
| The same as ML99_LOWERCASE_CHARS but for uppercase characters. | |
| #define | ML99_DIGITS(...) |
| The same as ML99_LOWERCASE_CHARS but for digits. | |
| #define | ML99_DETECT_IDENT(prefix, ident) |
| #define | ML99_IDENT_EQ(prefix, x, y) |
| #define | ML99_CHAR_EQ(x, y) |
| #define | ML99_IS_LOWERCASE(x) |
| #define | ML99_IS_UPPERCASE(x) |
| #define | ML99_IS_DIGIT(x) |
| #define | ML99_IS_CHAR(x) |
| #define | ML99_CHAR_LIT(x) |
Identifiers: [a-zA-Z0-9_]+.
An identifier is a sequence of characters. A character is one of:
For example, here are identifiers: _ak39A, 192_iAjP_2, r9. But these are not identifiers: ~18nA, o78*, 3i#^hdd.
| #define ML99_CHAR_EQ | ( | x, | |
| y ) |
| #define ML99_CHAR_LIT | ( | x | ) |
| #define ML99_charEq | ( | x, | |
| y ) |
Compares two characters x and y for equality.
x and y can be any identifiers, though this function evaluates to true only for characters.
| #define ML99_charLit | ( | x | ) |
Converts the Metalang99 character x to a C character literal.
| #define ML99_DETECT_IDENT | ( | prefix, | |
| ident ) |
| #define ML99_detectIdent | ( | prefix, | |
| ident ) |
Tells whether ident belongs to a set of identifiers defined by prefix.
If ML99_cat(prefix, ident) exists, it must be an object-like macro which expands to (). If so, ML99_detectIdent(prefix, ident) will expand to truth, otherwise (ML99_cat(prefix, ident) does not exist), ML99_detectIdent(prefix, ident) will expand to falsehood.
| #define ML99_DIGITS | ( | ... | ) |
The same as ML99_LOWERCASE_CHARS but for digits.
| #define ML99_IDENT_EQ | ( | prefix, | |
| x, | |||
| y ) |
| #define ML99_identEq | ( | prefix, | |
| x, | |||
| y ) |
Compares two identifiers x and y for equality.
This macro is a shortcut to ML99_detectIdent(ML99_cat3(prefix, x, v(_)), y).
| #define ML99_IS_CHAR | ( | x | ) |
| #define ML99_IS_DIGIT | ( | x | ) |
| #define ML99_IS_LOWERCASE | ( | x | ) |
| #define ML99_IS_UPPERCASE | ( | x | ) |
| #define ML99_isChar | ( | x | ) |
Tells whether the identifier x is a character.
| #define ML99_isDigit | ( | x | ) |
Tells whether the identifier x is a digit.
| #define ML99_isLowercase | ( | x | ) |
Tells whether the identifier x is a lowercase letter.
| #define ML99_isUppercase | ( | x | ) |
Tells whether the identifier x is an uppercase letter.
| #define ML99_LOWERCASE_CHARS | ( | ... | ) |
Expands to all comma-separated lowercase letters.
This macro consumes all arguments.
| #define ML99_UPPERCASE_CHARS | ( | ... | ) |
The same as ML99_LOWERCASE_CHARS but for uppercase characters.