coding standards
- indentation: 2 spaces (no tabs)
- line length: max 80 characters
- whitespace: no trailing whitespace allowed
- brackets: K&R style (opening bracket on the same line)
- pointers: char* func(...) for types, const char *str for variables
- config macros: CONFIG_UPPER_CASE in config.h with prefix CONFIG_
- write in English, lowercase, no trailing dot
- use standard C-style comments (/* ... */)
- use include guards in uppercase for header files (DIR_FILENAME_H)
- use comment with name of define for include guards (#endif /* DIR_FILENAME_H */)
- keep header files minimal: max 4 headers (fns.h, dat.h, project header, config.h)
- languages: C, GASM, NASM
- allowed defaults: gcc, make, X11, libc, mk
- dependencies: max 1-2 external dependencies; write custom code if non-essential
- README and LICENSE in plain text format
submitting patches
- committing changes: git commit -m "feature: add lexer"
- generate patch: git format-patch --subject-prefix="REPO-NAME PATCH" -1 HEAD
- send email: git send-email --to="evenfri@4plt.ch" 0001-feature-add-lexer.patch