NAME
Felix literals.
Integers
Digits may be separated by an underscore. Prefix and suffix letters may be upper or lower case.
Prefix
denotes radix, default decimal:
0b binary
0o octal
0d decimal
0x hexadecimal
Suffix denotes type, default int:
t tiny (C char)
s short (C short)
i int (C int)
l long (C long)
v vlong (C long long)
u unsigned, with one of above
i8 u8 8 bit (C99 int8_t)
i16 u16 16 bit (C99 int16_t)
i32 u32 32 bit (C99 int32_t)
i64 u64 64 bit (C99 int64_t)
Subexpressions involving the operators:
unary + identity
unary - negation
binary + addition
binary - suibtraction
binary * suibtraction
binary / quotient
binary % remainder
binary < <= == != => ? comparison
and integral literals of type int, are calculated at compile time (constant folding).
Strings
Python style strings may use single or double quotes, singly or tripled:
’ .. ’
’’’ .. ’’’ spans lines
" .. "
""" .. """ spans lines
Prefix:
r raw string, no escape processing
u UCS-4 (32 bit) string
c 8 bit
C null terminated C string, of
type cptr[char] = ’char const*’
Escapes:
Newline, return, bell, tab, vertical tab, formfeed: as in C.
XXXX
UXXXXXXXX
ISO-10646/Unicode code point, given in hex. For 8 bit
strings, replaced with UTF-8 encoding.
Note: no \999 or \xXX escapes are supported. ,br Note: there
are no character literals.
Special
concatenation forms.
Note these apply to string expressions, not just literals;
if literals are used, concatenation is done at compile time
(constant folding).
<string>
<string> ...
concatenate strings.
<string>
<integer> ...
append ISO-10646 code point, use UTF-8 encoding for 8 bit
strings.
Floats
Floats consist
of two digit strings separated by a decimal point, and
possibly an exponent. The digit strings may be separated by
single underscores. An exponent is the letter E or e
followed by a decimal digit string, underscores are not
allowed, however an underscore may separate the mantissa
from exponent.
Suffix denotes type, default double:
f float
d double
l ldouble
Exponent kind:
e power of 10
p power of 2
Prefix denotes
radix, default decimal:
x Hexadecimal
VERSION
1.1.1_rc1
SEE ALSO
felix(1)
for a language introduction and man page index
flx(1) for a list of the tools.
flxcc(1) for a description of the wrapper generator
tool.
flx_lit(1) for a description of literals
flx_op(1) for a list of operators
flx_cop(1) for a list of C operator precedence names
flx_key(1) for a list of keywords
flx_grammar(1) for a grammar summary
flx_lib_typ(1) for a list of library types
flx_dir(1) for a list of directives
flx_exec(1) for a list of executable statements
flx_decl(1) for a list of declarative statements
flx_bind(1) for a list of binding statements
WEB SITE
See http://felix.sourceforge.net
AUTHOR
John Maxwell Skaller, mailto:skaller [AT] users.net