flx_lit

Langue: en

Version: 313477 (ubuntu - 07/07/09)

Section: 1 (Commandes utilisateur)

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:

\n \r \b \t \v \f Newline, return, bell, tab, vertical tab, formfeed: as in C.

\uXXXX \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.3_rc4

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@users.sourceforge.net