---
name: "flx_lit"
section: "1"
platform: "linux"
package: "felix"
version: "1.1.1-2+b1"
release: "Debian 4.0 (Etch)"
platforms: ["linux"]
url: "https://new.carta.tech/flx_lit"
---

# flx\_lit(1)

## 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)](/felix/1.md)** for a language introduction and man page index\
 **[flx(1)](/flx/1.md)** for a list of the tools.\
 **[flxcc(1)](/flxcc/1.md)** for a description of the wrapper generator tool.\
 **[flx\_lit(1)](/flx_lit/1.md)** for a description of literals\
 **[flx\_op(1)](/flx_op/1.md)** for a list of operators\
 **[flx\_cop(1)](/flx_cop/1.md)** for a list of C operator precedence names\
 **[flx\_key(1)](/flx_key/1.md)** for a list of keywords\
 **[flx\_grammar(1)](/flx_grammar/1.md)** for a grammar summary\
 **[flx\_lib\_typ(1)](/flx_lib_typ/1.md)** for a list of library types\
 **[flx\_dir(1)](/flx_dir/1.md)** for a list of directives\
 **[flx\_exec(1)](/flx_exec/1.md)** for a list of executable statements\
 **[flx\_decl(1)](/flx_decl/1.md)** for a list of declarative statements\
 **[flx\_bind(1)](/flx_bind/1.md)** for a list of binding statements\

## WEB SITE

See **http://felix.sourceforge.net**\

## AUTHOR

John Maxwell Skaller, mailto:skaller@users.sourceforge.net
