eaxhla/documentation/DEFINITION.md
2024-07-02 02:23:55 +00:00

75 lines
883 B
Markdown

# HLA
## General
+ x86_64
+ GPLv3-only
## Technologies
+ Chad C, C99
+ Flex/Bison
## Train of making
file -> preprocessor -> as -> link -> exe
### implementation
1. flex parsing
2. bison creates partial syntax trees (since we dont optimize, we can render in relatively small chunks because not all that much context is needed)
3. xolatile magic
## Types
```
<prefix><size>
```
prefixes:
+ s - signed
+ u - unsigned
## Syntax
### Macros
+ fuck macros
+ use a preprocessor
### logic
+ only evaulated in _logical blocks_
#### logical blocks
+ if
#### operators
+ =
+ >
+ <
+ <=
+ >=
+ !=
+ not
+ and
+ or
+ xor
### labels
```C
my_label:
```
### Come back to later
+ `register`
+ `volatile`
+ `extern`
+ `static`
### Assembly Example
```C
program example
begin
if a is 1 then
// ...
else
// ...
end if
end program
```
## LATER
+ DWARF2
+ linker??