Skip to content

bcc-0.8.0

Latest
Compare
Choose a tag to compare
@positively-charged positively-charged released this 13 Jul 22:07
· 89 commits to bcs since this release

780e570 Declare version: 0.8.0
664a4c0 Cache scripts
5a31e24 Refactor: remove unused ns.defined field
71bffd0 Refactor: remove unused ns.objects field
a74fee7 Fix: caching of namespaces is incomplete
3e5686a Fix: loading a cached library does not update some fields
ae5c50a On duplicate library import, show location of previous import
08a0edf Library cannot import itself
27f5c28 Refactor: remove unused function declarations
2218136 Fix: iterator variable not incremented
de39392 Refactor: fix unreachable code warning from Pelles C
b3fcb82 Refactor: fix always-true condition warning from Pelles C
80aedb7 Refactor: remove different signedness warning from Pelles C
d1c3382 Refactor: remove unused variables and function
4a5da41 Refactor: fix uninitialized variable warnings from Pelles C
727540f Refactor: fix inconsistent storage warnings from Pelles C
99ecb6f Refactor: add newlines to end of some files
56b7166 Allow remaining number literals as arguments for inline assembly
4ba2f5d Allow keywords to be used as instruction names
973aee8 Allow string arguments in inline assembly
9e4a461 Fix: incorrect string index published in inline assembly
f2d1bfd Refactor: remove old magic identifier code
ace0bcd Magic identifiers are only available in BCS
fd15279 Demote __NAMESPACE__ to an identifier
e259e52 Demote __FUNCTION__ to an identifier
d6cd8e9 Demote __SCRIPT__ to an identifier
e1e024d Improve parsing
65b24a4 Fix: imported library not flagged as imported
49624a2 Refactor: writing of ATAG chunk
dc8ac01 Refactor: writing of ASTR chunk
cd2475b Refactor: writing of MSTR chunk
8ddf313 Refactor: writing of AIMP chunk
94b45dd Refactor: writing of MIMP chunk
eab76b9 Refactor: writing of AINI chunk
095cca2 Refactor: writing of ARAY chunk
3cd1284 Refactor: writing of MINI chunk
c00e83a Ignore storage type for memcpy()
6e2eb28 Fix: strcpy() and memcpy() reject valid array type
2d90696 Work on script array initializers
e474c0b Fix: segfault when using length() of array that is a struct member
ff4d88e Allow map reference variable to be initialized with a sub-array
5c7e346 Allow map reference variable to be initialized with a nested struct variable
48d58c1 Allow map reference variable to be initialized with a struct variable
aece2c0 Refactor: initialization of map variables
237c829 Fix: arguments incorrectly pushed for function reference
597b3f1 Fix: function reference takes too little required arguments
09ebe53 Fix: compiler complains array literal is private when it is not
f4b3c32 Only output dimension information for struct members that are passed by reference
593e994 Fix: struct reference members trigger non-private object error
95733ca Fix: dimension information for local structs not published
95c8305 Fix: sure operator broke from some previous commit
5e2bbfb Test bodies of scripts/functions in order of appearance
c5d93e7 Fix: type information not copied correctly
3dd977a Do not copy dimension information when initializer is null
3c818f1 Fix: code generation for ?: does not take null operands into account
5fb4612 Work on code generation for direct array and struct references
e055fa8 Notify when comparing to null always yields the same result
ee2a924 Generate code for function operands that are specified but not called
ecfd507 Generate code for direct array references that are not subscripted
f36ad54 Fix: some conversions to a string not accepted
3064ff1 Fix: anonymous function presented as an empty string in diagnostic messages
01d5dd0 Add str_append_format_va()
d32a939 Fix: function literal and conversion call parsing conflict
269edc0 Refactor: remove value.string_initz field
c03ddf0 Refactor: variable size and initializer offset calculation
be878ae Refactor: testing of member access
a18662f Refactor: testing of conversion operation
8875843 Work on testing of assignment
5e51b22 Named constants must be of primitive type
bd05deb Refactor: testing of increment/decrement operation
b345d48 Work on testing of subscript operation
1917803 Fix: enumeration gets added erroneously in type deduction
c57244e Work on testing of cast operation
d8216e3 Fix: enumeration not inferred properly
c4e7d4c Refactor: handling of enum operands in testing phase
754dc82 Work on testing of unary operations
ffc2e21 Refactor: add static keyword to function definitions that have internal linkage
e12b726 Fix: void operand not identified correctly for conditional operator
3faa0af Determine common type
f2ffc9a Improve type comparison
bf0d004 Fix: returned enum not decayed
7c302e4 Disallow mixing of local functions and standalone functions
fca88c1 Refactor: testing of logical operations
5c0bda9 Work on testing of binary operations
ef613a0 Refactor: remove subscript_array_type()
f03364a Refactor: testing of access operation
9af2ba3 Fix: type aliases cannot be accessed through a namespace in compound literals
39ce3f4 Refactor: testing of nested expressions
d7a89d6 Refactor: add type information to expr_test struct
358594b Work on testing of increment operation
96830cb Refactor: remove init_type_info() from expression testing
ea468c6 Refactor: subscript testing
36691af Refactor: implicit references
21b2b62 Refactor: store result type in type_info struct during expression testing
abee71c Refactor: store null value differently
d7f1b6c Refactor: remove is_ref_type from expression testing
35d0cfa Refactor: remove is_value_type from expression testing
dd00e73 Refactor: remove is_str_value from expression testing
dd4be9f Refactor: remove is_int_value from expression testing
f8dea4c Refactor: remove is_onedim_intelem_array_ref from expression testing
a5d4eb4 Refactor: remove is_struct from expression testing
2d64600 Refactor: remove is_array from expression testing
95f0a43 Refactor: remove is_array_ref from expression testing
1af1d4d Fix: sure operator broken
fd6a1b3 Fix: total-lines count incorrect in generated statistics
59f399f Add ALIB chunk and improve object file padding
f7b07d0 Fix: tokens from macro expansion show incorrect position
8188386 Fix: segfault happens when opening source file that is a directory
5fc2f4a Add new standard Zandronum function
2586c90 Replace control characters with spaces in string literals
7798ef0 Improve finding of include files
cb917ed Refactor: remove micro-optimizations from ACS token reading function
4388a16 Refactor: remove micro-optimizations from ACS95 token reading function
8082d76 Refactor: token reading function for ACS95
60b4ce8 Refactor: token reading function for BCS
5312878 Improve reading of wadauthor directives
2ed6a89 Refactor list and add new list functions
2f9b082 Refactor: list iteration
b3d2ab7 Improve STATIC_ASSERT macro and assert sizes of data types
0d2bc66 Fix: static keyword in wrong position for function literal
b8618d5 Private visibility only applies to map objects
259f9cb Improve reading of declarations
036425b Fix: wrong token printed in cases where a token is peeked
a6e1a3a Fix: nested function inside message-building block cannot return
aa14aab Initializer cannot be specified for a variable in ACS95
7a12624 Fix: wrong direct pcode for PCD_LOCALSETMUSIC
f355369 Remove msgbuild function qualifier
c2a54ed Replace message-building functions with message-building blocks
53b70b4 Add colorisation/tint translation
0e5489e Add new standard functions
ce2eb3e Remove versioning script
a79f124 Update makefile
8076bff On version change, make commit automatically
e3aa9f7 Add -version command-line option
9382e60 Add version file
ed20113 Add versioning script
f2ff40d Update standard functions and add new standard functions
a2a790a Rename GNUmakefile to Makefile
6d06dd5 Update Makefile
99c01a1 Remove premake5.lua file
7396ac7 Add Makefile
a601322 Leave escape sequences in string literals intact
8d4376a Correct digit separator in standard file and example file
4da7e63 Turn __FUNCTION__ and __SCRIPT__ into keywords
8dc207f Add __NAMESPACE__ magic identifier
e824eec Fix: namespace with the same name as a builtin function causes crash
5aabfb9 Add private namespaces
68f60ed For ACS/ACS95, warn when fixed-point literal has no digits after point
e5a8146 Allow radix literals to have no digits
6ab6bc2 Update some diagnostic messages
770e079 Fix: octal literal can have no digits
987901d Allow hexadecimal literals to have no digits
e59bead In BCS, allow fractional part of fixed-point literal to have no digits
99e5ef8 Update README.md
e99dc88 Only print include history again when the file changes
a8b69e3 Revert "Add &&& and ||| operators"
72d56a6 Revert "Remove short-circuit behavior from && and || operators"
3932233 Remove short-circuit behavior from && and || operators
80787d1 Add &&& and ||| operators
f5e2426 Change syntax of radix constants back to the way it is done in ACS
18187bd Change digit separator to single quotation mark
00fb0cc Fix: digit separator not followed by digit in fixed-point literal
e1700a0 Fix: incorrect file shown in lexing errors
fbe819b Left side of assignment can be a cast operation
8c88c38 Add parse_fixed.bcs example file
aabedc8 Fix: conversions implicitly cast their argument to raw type
0d8a362 Add BCS-specific search path
0af947b Add language-specific search paths
13da8e9 Report error when zcommon.acs file is #included multiple times
92bee33 Improve duplicate name error messages
db9dd48 Refactor: remove old code dealing with alternative file names
1d56e53 In diagnostic messages, list include history of file
7b2b7c0 Improve handling and presentation of paths of #included files
d80a902 Fix: cast can accept unsupported types
11b61cf Fix: scripts of imported libraries not tested
c7191f5 Always generate FNAM chunk when functions are present
16fa635 Allow the user to modify the key/value variables of a foreach loop
e39571c Add new functions and constants to standard file
32961b2 Fix: unreachable area reached
9533a28 Fix: array of void elements can appear in typedef
3204307 Make namespace keyword refer to the current namespace
37fbf02 Fix: function parameter can have void type
670353f Allow type alias of void type
930357d Add private named enums, structs, and typedefs
975f897 Fix: static nested functions can call outer local functions
7145712 Remove compile-time libraries
5799490 Use __INCLUDED__ in standard files
eb32f44 Add predefined __INCLUDED__ macro
abeec9d Add new Eternity information to standard file
cfa7955 Improve grammar files
01e0f57 Improve BCS grammar
12c152c Add BCS and ACS grammar files
4cd3f59 Force an unqualified namespace to have a name
c8da31b Add nested static functions
dc2ddfc Make function literals work at the namespace level
8f36c4e Add new GZDoom functions
a85c307 Update standard and test files to reflect changes in syntax
317512f Add flow information to assert statement
2ce5142 Merge typeaware and blockscoping namespace-block qualifiers into strict
954a565 Improve syntax of function literals
c193aa5 Make function literals look consistent with compound literals
e550599 Add compound literals
26e4e16 some string handling segfaults
2b24e0b Update documentation
c3cf1b6 Update example files
f154a5a Remove the old way of specifying an anonymous function for a format item
603650e Allow msgbuild qualifier to be specified for anonymous function
594ff0b Update example file
db6acf9 Update documentation
7c4e8b0 Require & when specifying a reference type
b33dea4 Fix: segfault when using __FUNCTION__ in anonymous function
af459eb Fix: "syntax" displayed twice in syntax error diagnostic
b832d6d Fix: some tokens incorrectly labeled as keywords
00444fd Replace %zd with %zu
a32d022 Fix compilation on Windows regarding strftime()
79f9ff9 Update documentation
3841bd0 Update example files to reflect changes in namespace syntax
878be16 Fix: qualifiers not working for nested namespaces
b5cf4ef Update standard include files to reflect changes in namespace syntax
00aea6b Allow a namespace to be nameless
8478a4a Add blockscoping namespace qualifier, used to enable block scoping
31f4d4e Add typeaware namespace qualifier, used to enable strong types
9942e92 An anonymous function must be placed between parentheses
b7b5983 Fix: missing return statement error given for functions with auto return type
1747f30 Update credits
d3e078b Merge pull request #8 from csnxs/patch-1
687584a Define _DEFAULT_SOURCE, fixing compilation on glibc >= 2.19
0149f67 Fix: missing PCD_RETURNVOID instruction for void functions
a5ba2f2 Refactor: split while/until and do-while/do-until into separate nodes
7b38fad Update documentation
45be2a4 Report error when missing return statement in BCS
e8ca0e7 Fix: in ACS/ACS95, (void) is required for scripts
ac91eec Warn when the same script is found in an imported library
0730eaa Warn when a script is of the form: script 1 open
7ac2f84 Refactor: scripting reading
4abbd10 Refactor: handling of script number 0
3535d68 Refactor: change script body to a block node