bcc is a compiler I've been developing for some time now, and I decided that I should finally give it some exposure on this forum.
bcc attempts to compile three languages: ACS, ACS95, and BCS. ACS is the latest version of ACS as defined by the latest version of acc. ACS95 is the original ACS language developed for Hexen. BCS is an extension of ACS.
BCS is mostly compatible with ACS and provides many extra features, including the following:
- Structures
- Enumerations
- Namespaces
- Preprocessor
- Strong types
- References (limited support)
- Block scoping
- Optional function parameters
- Logical-AND (&&) and Logical-OR (||) are short-circuited
- foreach loop
- Nested functions
- Conditional operator (?:)
Please give the compiler a try. I appreciate any feedback. Right now, the characteristics of some of the features are fluid. I'm going to take the next few weeks to read your responses before I finalize the features.
This is a big project, and a long time has passed since the last release, so bugs are inevitable. Let me know if you spot any. I will fix them as soon as I can.
Download (Windows binaries): https://github.com/wormt/bcc/releases
Source code: https://github.com/wormt/bcc
Spoiler: For users of a previous version of bcc