cc3782b7aa
symbol: comment field
15b9eeeb4d
sema: rename function
67e6e7ad1f
symbol: add sym table make/destroy functions
a89ba9149a
readme: update
3f6f9e35aa
sema: move main proc checking to function
dfa78c11c9
sema: don't type check var assign on invalid types
e8cf33d9ad
parser: fix extra paramter in cm_assert call
2c1e73918f
embed pragmas in nodes that are allowed to have pragmas
a6a089e57a
sema: move var section below datatype section
60b4f2e475
sema: fix wrong type flags for prelude procs
9893e43a46
sema: define @bitcast builtin
b43851ab29
sema: scope builtin proc definitions
eb3ec0bfaa
sema: add
Any builtin type
f10b7e5b5e
sema: add section comments
abe3965333
lexer: return -1 on buffer read failure
b074d566f5
lexer: allow fwd index retraction by only one
ddb7c4e31f
main: use more succint name
0b8a425e84
lexer: return nil in initial buffer reading failure
cc303b08a8
sema: always check
return expression if any
f80ba5fc2e
lexer: remove unused macro
6eb41b11f9
lexer: make ident constant length signed
64f9845096
lexer: handle identifiers starting with
@
4a29f7a870
lexer: check eaten character count before rolling back
d0c69db120
lexer: rework blank space skipping
e75b95979f
libs: pre: define iptr type
7c4553fe76
lex: rework buffer reading logic
5bc831f786
lexer: make sentinel value
0xff
d58d4063aa
lexer: spacing and comment
d303519d0b
lexer: use indexes for lex buffer positions
6230965302
sema: coerce proc call datatypes
763f40c9ed
sema: move datatype_coerce
8ffe5f6bdc
sema: don't typecheck invalid type in assignment
2a85f87eca
makefile: add debug target
d9e4c0a632
makefile: add target for VCS info regeneration
9deeaeb906
store version information, commit in version.c
d534cdde0a
makefile: depend on config.mk instead
184db69b27
makefile: move non-phony targets to tail
e04c0f80c9
sema: rename push_semactx function
82b6e61831
remove compiler context param from cm_assert macro
e915332673
state: remove compiler context argument from assert
4dff002d28
state: remove error_count field
912bdcc9ea
state: typedef before
4fe9ef3659
make
Compiler state object global
c57c840105
remove unneeded include
0869179e4f
sema: handle datatype expressions more cleanly
6d12de3f08
sema: return full symbol for identifier lookup
52017383eb
sema: return
Type type for data type expressions
f10b0a06ca
ast: datatype nodes are expressions
4803f1608f
sema: ensure coercion does not return a invalid type
5d4a414aaf
sema: add remark
2df6c07646
sema: coerce number literal types to concrete types
f15bc5edbb
sema: coerce @const_int and @const_real properly
051da32f00
sema: rename compile_int type, add const_real type
65e4b9989b
sema: remove compiler_int case from comparison function
1969ec7c69
sema: handle case with unreachable
bb725d1ea7
sema, datatype: add integer and real datatype kinds
19e9361f36
sema: handle DtkType case in switch
f5d5ba9b20
datatype: update diagram of link types repr
af7f59c6af
datatype: typedef struct, enum consistently