man flx_lit (Commandes) - Felix literals.

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