Update SPECIFICATION.MD
This commit is contained in:
parent
055c910ab6
commit
145407da41
115
SPECIFICATION.MD
115
SPECIFICATION.MD
|
@ -12,7 +12,7 @@ In general the paradigms are designed to be: var'aq-like, Interpreted, Distribut
|
|||
|
||||
## What is the purpose of this language?
|
||||
|
||||
*zwl* acts as the assembly language for *zwm*. it allows for a user to manipulate the world machine.
|
||||
*zwl* acts as the assembly language for the universe machine. it allows for a user to manipulate the world machine.
|
||||
|
||||
# *zwl* Grammar and Specification
|
||||
|
||||
|
@ -50,25 +50,41 @@ a list containing the data of that form
|
|||
|
||||
### bit (or unsigned units)
|
||||
|
||||
`u8`, `u16`, `u32`, u64`
|
||||
«hex number» 8 `u` u8
|
||||
|
||||
«hex number» «hex number» 16 `u` u16
|
||||
|
||||
«hex number» «hex number» «hex number» 32 `u` u32
|
||||
|
||||
«hex number» «hex number» «hex number» «hex number» 64 `u` u64
|
||||
|
||||
### integer (signed)
|
||||
|
||||
`i8`, `i16`, `i32`, `i64`
|
||||
«hex number» 8 `i` u8
|
||||
|
||||
«hex number» «hex number» 16 `i` u16
|
||||
|
||||
«hex number» «hex number» «hex number» 32 `i` u32
|
||||
|
||||
«hex number» «hex number» «hex number» «hex number» 64 `i` u64
|
||||
|
||||
### real
|
||||
|
||||
`f32`, `f64`
|
||||
«hex number» «hex number» «hex number» 32 `f` f32
|
||||
|
||||
«hex number» «hex number» «hex number» «hex number» 64 `f` f64
|
||||
|
||||
## string
|
||||
|
||||
matching `""` for string
|
||||
" «utf8 encoded characters» `"` string
|
||||
|
||||
strings are always utf8, other formats will need to be done manually
|
||||
|
||||
## logical
|
||||
|
||||
`true` / `false`
|
||||
- `true` bool
|
||||
|
||||
- `false` bool
|
||||
|
||||
### panic
|
||||
|
||||
|
@ -90,52 +106,53 @@ syntax
|
|||
|
||||
The following is a list of global operators and their effect:
|
||||
|
||||
!
|
||||
line comment
|
||||
!!
|
||||
block comment (looks for another !! to close)
|
||||
{ … }
|
||||
comment (looks for another ! to close)
|
||||
! any raw text here `!` -
|
||||
|
||||
anonymous subtroutine
|
||||
set
|
||||
{ … `}` subroutine
|
||||
|
||||
sets a value in the node's map
|
||||
del
|
||||
`set`
|
||||
|
||||
delete from node's map
|
||||
add
|
||||
addition
|
||||
sub
|
||||
subtraction
|
||||
mul
|
||||
multiplication
|
||||
div
|
||||
divisor
|
||||
pow
|
||||
power
|
||||
eq
|
||||
equal to
|
||||
ne
|
||||
not equals to
|
||||
mod
|
||||
modulo
|
||||
not
|
||||
logical not
|
||||
and
|
||||
logical and
|
||||
or
|
||||
logical or
|
||||
nor
|
||||
logical nor
|
||||
nand
|
||||
logical nand
|
||||
xor
|
||||
logical xor
|
||||
band
|
||||
bitwise and
|
||||
bor
|
||||
bitwise or
|
||||
bnor
|
||||
bitwise nor
|
||||
bxor
|
||||
bitwise xor
|
||||
`del`
|
||||
|
||||
`add`
|
||||
|
||||
`sub`
|
||||
|
||||
`mul`
|
||||
|
||||
`div`
|
||||
|
||||
`pow`
|
||||
|
||||
`eq`
|
||||
|
||||
`ne`
|
||||
|
||||
`mod`
|
||||
|
||||
`not`
|
||||
|
||||
`and`
|
||||
|
||||
`or`
|
||||
|
||||
`nor`
|
||||
|
||||
`nand`
|
||||
|
||||
`xor`
|
||||
|
||||
`band`
|
||||
|
||||
`bor`
|
||||
|
||||
`bnor`
|
||||
|
||||
`bxor`
|
||||
|
||||
## Atom
|
||||
|
||||
|
|
Loading…
Reference in New Issue