Releases: Jamesbarford/holyc-lang
Releases · Jamesbarford/holyc-lang
beta-v0.0.9
Fixes
-run
now works again- Filenames don't get chopped off @rilysh
- Compile files that don't have a new line ending
- Allow for empty string literals
- Hex escape sequences are handled better @krizej
sizeof(...)
works as intended- Hashtable probing no longer spins forever
- Compiler flags are passed in properly through the Makefile
Features
- New CLI interface
beta-v0.0.8
Feat: can pass off .s
files internally for gcc to assemble
Feat: transpile to C
Feat: chose an installation directory
Feat: RedBlack Tree and IntSet, with iterators
Fix: ReAlloc
Fix: Array indexing & global arrays
Fix: net.HC
#defines's for Linux (were mac only before)
Fix: line numbers are correct when reporting errors
Fix: string hashtables in the library
Fix: Function pointer on a class
beta-v0.0.7
- Error handling, in most cases, has been improved
- Ast level function inlining with
inline
keyword, works well enough for a beta release
Vectors & Hashtable fix
- Adds Vectors for ints, floats and pointers (arbitrary objects)
- Fixes hashtables
Fixes
- Removed mandatory dependency of sqlite3
- Fixed ordering of libs
Fixes
- Fixed memory allocation issue with
ReAlloc()
- Fixed issue with
StrNew()
- Fixed printing tokens (quite rough and ready)
Beta v0.0.2
Fixes
- Fix for file paths and extensions
Beta v0.0.1
Basic implementation of the language
This is a fairly comprehensive implementation of holyc as it stands. The assembly is not optimised and the resulting code is thus not terribly fast to execute. I have not benchmarked it as the focus has not yet been on performance
Know bugs
%f
formatter does not work forStrPrint
.- Cannot declare global variables with commas.
inline
does nothing.- Alignment of classes are dodgy as is the intrinsic class.
#defines
are not just pasting text but evaluated at compile time.- Line number in error messages is sometimes off and does not report the file.
- Varadic arguments:
(...)
are all passed on the stack. - Mixing integer sizes like
I32
andI64
can lead to a segfault. - Doing
&ptr->prop->value
in circumstances I don't fully understand yet can lead to a segfault.
Yet to be implemented
#exe
,#assert
- calling printf like
"", "hello", " world"
should concatinate the string and print tostdout
and the same with characters. - declaring an array of classes