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

883 B

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

my_label:

Come back to later

  • register
  • volatile
  • extern
  • static

Assembly Example

program example
begin
    if a is 1 then
        // ...
    else
        // ...
    end if
end program

LATER

  • DWARF2
  • linker??