Ecosyste.ms: OpenCollective
An open API service for software projects hosted on Open Collective.
github.com/gbdev/rgbds
Rednex Game Boy Development System - An assembly toolchain for the Nintendo Game Boy and Game Boy Color
https://github.com/gbdev/rgbds
The previous dates were not reliably downloading the
necessary commit IDs for checkout to work.
- `out_PushSection` should not set `currentSection` to NULL because
PUSHS, PUSHC, and PUSHO co...
Their values match the GCC builtins for all
4,294,967,295 nonzero inputs.
This also refactors `readChar(file)` to `nextChar()` to be
more like the rgbasm lexer.
This allows linkerscripts to refer to section names even if
they contain special characters: '\r...
These are the latest commits as of today. The pokecrystal and
pokered commits use rgbds 0.5.0 f...
As reported in #789
dd8f396227fafbfad52002f9eef9e8ff8ae8c4a0 authored almost 4 years agoSuch as Termux, once again.
b60853ea2184cef66faed4505838e6fa163e4fe0 authored almost 4 years ago
Multiple functions involve tracking the current depth
of a nested structure (symbol expansions, ...
This is similar to C's behavior, and convenient for passing
function calls as single values, lik...
db1f77f90b9441671df6382c13a9c5ef54663967 authored almost 4 years ago
STRLEN and STRSUB report the erroneous bytes
Fixes #848
4d21588eb27c19a2c69145ab343fc1217cd2f21d authored almost 4 years ago
Expanding empty strings is valid but pointless;
macro args already skipped doing so, now other
`...
This combines 0.5.0 and post-0.5.0 features:
print and println, strfmt, for loops,
def assignmen...
This uses one line instead of three
267e4bc25c951c4817012b4696e81f39d08de321 authored almost 4 years agoIdentifiers, {interpolations} and \<macroArgs> are distinct
c3e27217ddb534a2837c4d6e80fe869d3aca6b08 authored almost 4 years agob0f8d75d1dbabc354aafb56d9a3d37b99e9209c5 authored almost 4 years ago
For example, \(_NARG) will get the last argument
7a314e7aff2a6e9a0f82cc7f98269276fcc167cb authored almost 4 years agoThis allows access to arguments past \9 without using 'shift'
637bbbdf4312ca6efb6eb4ad6ae4ad7f06d9357e authored almost 4 years ago
`\(` is more likely to be a valid escape sequence in the
future (as is `\[`) and `\{` is already...
Removes the lexer hack mentioned in #778
7ac8bd6e240618fbfacfe9f0987bf089b7721b9c authored almost 4 years ago
Bison 3.1 introduces "typed midrule values", which would write
`<captureTerminated>{ ... }` and ...
`yylex` calls `yywrap` at the beginning of the next call, after it
has set `lexerState->lastToke...
This avoids the need for a separate `terminated` flag
a727a0f81f0e56706e13f1ee860116090d566564 authored almost 4 years agoFixes #837
be2572edca1eb97f5ca801d4e4380e757b04f314 authored almost 4 years ago
These are offsets from the end of the string, as if the
STRLEN or CHARLEN respectively were adde...
An unspecified length will continue to the end of the string.
dc5b7802c873ce2549e7443d2250e9eed73e1367 authored almost 4 years ago
Position 0 is invalid, which matches with STRIN/STRRIN
returning 0 on failure.
Keep the parameter alignment and 100-char line limit
459773b3f0b26144e3756d9e510cca10f846ef15 authored almost 4 years agoBye bye it was not nice knowing ya
6d0a3c75e9a79acec82fc1cae3e97fc6ba0b9d8e authored almost 4 years agoFixes #841
e35585960c5b814a00e216fdc6f7fa1503134250 authored almost 4 years agoPrevent the relevant GitHub Actions from running on forks
3bea7930a9ac84528f737940219fc1c5efc2895a authored almost 4 years agoUpdates the object file revision to 8
Fixes #765
52797b6f68bd470d538f5b12dff1c716eea4db09 authored almost 4 years agoFixes #786
2005ed1df9a6abfbb693889129af15f78569282e authored almost 4 years ago5108c5643cbcab4463c831c44c83a18298edf4cc authored almost 4 years ago
Warning flags are processed individually;
PUSHO and POPO (re)store all the warning states.
-L is a Boolean flag option, so you specify 'OPT L' or 'OPT !L'.
2c30ab8731ab1b9f3880b1a8f55e49abe2b625e9 authored almost 4 years ago432c769d604a481bdb96e9f13c53289ed5028b0b authored almost 4 years ago
Do not free an expansion until its offset is *past* its size.
This means potentially freeing a ...
- Remove redundant length checks before `memcpy`
- Coerce `sign` and `prefix` to boolean for `nu...
Widths and fractional widths greater than 255 would overflow a
uint8_t and wrap around to small...
This reverts commit 992be3fd9bd5fd62d2955bb494e14ce5e47c73d4.
503c3b53649cc74218b281c35ff423d1fbdf83bf authored almost 4 years ago
Widths and fractional widths greater than 255 would overflow a
uint8_t and wrap around to smalle...
Previously a '.' could be past the truncation limit but still
cause the identifier to be marked ...
Fixes #837
e78a1d5bfd2840fa94c6a4c75a4e3aabeb904b70 authored almost 4 years agod2f6def2eb6da8b16b90f0bba95ace24b45d255b authored almost 4 years ago
Some distributions, such as NixOS and Guix, only have the /bin/sh and
/usr/bin/env binaries in s...
8885f7bcf656626baeb0c4bcdf5239aea594efcf authored almost 4 years ago
This doesn't seem to be very useful, and keeping this "feature" is
difficult.
f97663aa375e4220ca9c78f4b3215e987384dfac authored almost 4 years ago
This helps update all the pointers during reallocation.
215e26b478c1cbf5a5d5dd86e7ee027072acaaac authored almost 4 years ago
This automatically sets up the formatting settings in a number of
editors, regardless of the use...
This shortens the lexer by 100 lines and simplifies
access to expansion contents, since it usua...
This does not completely refactor `peek` as #708 suggested,
to make it shift and cache a charact...
Only two sites were for distances greater than 1:
a `shiftChars(2)`, trivial to just do two `shi...
lexerState->expansionOfs is always either set to 0, or updated by
adding a positive quantity:
...
f69e666b00dcfc6cde763100af4049c50610f2dc authored almost 4 years ago
This also allows arbitrary amounts of whitespace in `$ff00 + c`,
instead of needing to fit in th...
This was only used to skip the two macro arg characters,
but shiftChar() can skip them before th...
These were using signed 'off_t' because that is the type of
'st_size' from 'stat()', but neither...
Fix #729
4e1b0ce7930fc7201a42ca17669e81d088d0c5b2 authored almost 4 years agoFix #718
363ee9578c6bfe11b5adb34952bfe65b3ddef717 authored almost 4 years agoFixes #819
8fa5a4255e93fd7a3eeec24e69ae4e90ec7696b4 authored almost 4 years ago
Instead of defining `LOOKUP_PRE_NEST` and `LOOKUP_POST_NEST`,
pass a variable name and a block t...
This macro was only used twice, in `beginExpansion` and
`lexer_DumpStringExpansions`, with `getE...
Note that hashmap.c uses its own FNV-1a hash function
c278a361dadead172322198c8e325e8444b8b047 authored almost 4 years ago
Printable ASCII becomes single-quoted, using backslash
escapes if necessary. Unprintable charact...
This decoding required high lookahead, and was not even
consistently useful (the `garbage_char` ...
This clarifies its usage, for printing a single character
in error messages.
c08cf783c87e1e6eb48d73fe2701c121b76b6b7f authored almost 4 years ago
25a8518fbf9e664394ad859e4b99377bb0cbce4b authored almost 4 years ago
Fixes #827
49174f4486b9ac85d949a5d11a3a361a37558e57 authored almost 4 years ago81327b0d993f9800423edbc086ec3e6b8e13d140 authored almost 4 years ago
c0859e64f71a603be9feacd55dceaabdf7b45519 authored almost 4 years ago
Use 'goto cleanup' in both out_BinaryFileSlice and out_BinaryFile
3e0b7d428f7a600ab9d899996176a2b514b116e2 authored almost 4 years agoI'm going on a break, but I'll stay available if anyone wants to contribute.
ba3428314bcf5ef36ef2882d4b0a643dcfe7d8f0 authored almost 4 years agoFixes #824
bcb78f5d186592d66127f7f07e6c85d059f7ccb9 authored almost 4 years ago
Typically not needed because the recursion depth limit should prevent it,
but it might help debu...
No instruction needs to distinguish them both
310d34c655cd06dfdc579e29b4c1e3f831f8bd66 authored almost 4 years agoThis test cases used to fail an assertion in `make develop`
39c38f98387c3b8ad0a285c8cb5948f101d37ce3 authored almost 4 years agoFixes #818
576b063519f1b0ca8b60471314e376dea6fda73f authored almost 4 years agoThis avoids the possibility of `size` not matching `str`
596e17ee61ea020a218d2885d86af195f088d8c6 authored almost 4 years ago
This allows debug PRINTLN statements to run even if
subsequent rgbasm directives cause a crash.
Fixes #813
c7ed9a275e793e9f6509cc6e900cb5d1c659c6b1 authored almost 4 years agoFixes #816
49aac2961d01a395d60b6eeeb7467021b43498f6 authored almost 4 years ago
Test various explicit cases, not nested `for` loops
over thousands of cases
937c9888a4ed4269ee9d9f7ad4d697649b7f0ad1 authored almost 4 years ago
This happens to make quine.asm shorter
61a9bfd33cf9e620a39c337291adc69b9558ff57 authored almost 4 years ago
Before this commit, opening a file for which the user didn't have
permission resulted in a "Bad ...
Fixes #810
aaa92659ea2bb5d645392fa9c86fe82e020042b7 authored almost 4 years agoFixes #811
be877134e56b0ccf0293202d75dc6416311900c7 authored almost 4 years agod05703c6925cc08e1827fffb52124262c5f97f19 authored almost 4 years ago
5dbfafcc551cfe3513f124f1ecd34a96d44062b4 authored almost 4 years ago
This matches other such pluralized error messages
a265b85d9dabc026778b3ef42de08d6ff5bcd2b6 authored almost 4 years agoFixes #808
28abf03c0a20ab47fee16c366539579434ae88ca authored almost 4 years agoFixes the test case from #800
The `out.gb` output was corrected, since the two "test"
fragments...
Reproduces a reported problem, fix pending
746117095688be84f9f4611f14d42644bf761776 authored almost 4 years agoBackslash in normal lexer mode must be a line continuation
57d966d6e00a94fe54d335cec750034af08c892a authored almost 4 years ago
Macro args were already handled by `peek`, and character escapes
do not exist outside of string ...
It still gets written to the object file, generating Valgrind warnings
about using uninitialized...