Add full compiler toolchain, libc, examples and reference docs
First substantive commit: the entire Sprinter C compiler tree on top of
the bare README+gitignore initial commit.
What's in here:
bin/sprinter-cc — driver script invoking SDCC + linker + mkexe
libc/ — Sprinter-specific libc layer over ESTEX/BIOS
(conio, gfx, io, mem, stdio + headers)
runtime/ — crt0 variants (default/small/banked/minimal)
+ heap + bank trampolines
toolchain/ — mkexe (SprintEXE packer, C + tests)
examples/ — 30 demo programs (gfx, file I/O, env, time, …)
lib/Makefile — builds the libc archive (sprinter.lib)
docs/ — converted Sprinter manuals + asm reference samples
third_party/ — solid-c reference compiler dump + sdcc setup script
release_docs/ — packaging / release notes
gitignore overhaul:
• Drop dangerous blanket patterns: *.asm (would hide docs/samples/*.asm)
and *.exe (case-insensitive match was hiding third_party/solid-c/*.EXE
on macOS APFS). Replaced with examples/*/*.{asm,exe,…} and lib/*.lib.
• Restore tracking of toolchain/mkexe/tests/{one,big}.bin — those are
INPUT fixtures, not build outputs.
• Collapse the duplicated SDCC/C/Sdcc sections into one section per
concern (build outputs / vendored / OS-junk).
• Add .sprinter-cc-*/, build/ (catches lib/build/ too), .claude/.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
Vendored
+28
@@ -0,0 +1,28 @@
|
||||
FEOF
|
||||
|
||||
#include <stdio.h> ¤«ï ®¡ê¥¨ï äãªæ¨¨
|
||||
int feof(FILE *fp);
|
||||
|
||||
”ãªæ¨ï (ॠ«¨§®¢ ï ª ª ¬ ªà®) ®¯à¥¤¥«ï¥â, ¤®á⨣ãâ «¨ ª®¥æ § ¤ -
|
||||
®£® ä ©« . …᫨ ª®¥æ ä ©« (EOF) ¤®á⨣ãâ, â® áâ ®¢ïâáï ¥¤®áâã¯ë¬¨
|
||||
®¯¥à 樨 ç⥨ï, â.¥. ¯à¨ ª ¦¤®© ®¯¥à 樨 ç⥨ï, ¡ã¤¥â ¢®§¢à é âìáï ¯à¨§-
|
||||
ª ª®æ ä ©« , ¯®ª ä ©« ¥ ¡ã¤¥â § ªàëâ ¨«¨ ¢ë§¢ ë äãªæ¨¨ rewind,
|
||||
fsetpos, fseek ¨«¨ clearerr.
|
||||
…᫨ ⥪ãé ï ¯®§¨æ¨ï ï¥âáï ª®æ®¬ ä ©« (EOF), äãªæ¨ï ¢®§¢à é ¥â ¥ã-
|
||||
«¥¢®¥ § 票¥. …᫨ ⥪ãé ï ¯®§¨æ¨ï ¥ ï¥âáï ª®æ®¬ ä ©« - ¢®§¢à é -
|
||||
¥âáï § 票¥ 0. ”ãªæ¨ï feof ®è¨¡®ª ¥ ¢®§¢à é ¥â.
|
||||
|
||||
#include <stdio.h>
|
||||
FILE *fp;
|
||||
main()
|
||||
{
|
||||
if((fp=fopen("file.dat", "r")) == NULL)
|
||||
{
|
||||
printf("Žè¨¡ª ®âªàëâ¨ï ä ©« \n");
|
||||
exit(1);
|
||||
}
|
||||
while(!feof(fp))
|
||||
fgetc(fp);
|
||||
printf("\n” ©« ¯à®ç¨â , ¢áâà¥â¨«áï EOF\n");
|
||||
fclose(fp);
|
||||
}
|
||||
Reference in New Issue
Block a user