[CHAR]   char   [COMPILE]   LITERAL

[CHAR] (--- <spaces>name | xchar)

Place xchar, the value of the first xchar of name, on the stack.

: GC1 [CHAR] X     ;
: GC2 [CHAR] HELLO ;
GC1 \ empile 58
GC2 \ empile 48

char (--- <x> )

Place xc, the value of the char, on the stack.

char X .    \ display 58

[COMPILE] ( spaces>name ---)

Skip leading space delimiters. Parse name delimited by a space. Find name. If name has other than default compilation semantics, append them to the current definition; otherwise append the execution semantics of name.

: [c1] [COMPILE] DUP ; IMMEDIATE
123 [c1] \ 123 123

LITERAL ( x ---)

Compiles the value x as a literal value.

Example:

: valueReg ( --- n)
   [ 36 2 * ] literal ;

is equivalent to:

: valueReg ( --- n)
   72 ;