mirror of
https://github.com/brazilofmux/tinymux
synced 2026-08-13 00:23:11 -04:00
Add -o/-i flags to classify, integers, strings, and pairs tools so they write to caller-specified paths instead of hardcoded .txt files. Add -c flag to strings for C-mode output (co_string_desc, C casts). Rewrite utf/Makefile.in to generate all output files directly in their final locations: mux/include/utf8tables.h — C++ header (libmux.so) mux/lib/utf8tables.cpp — C++ table data (libmux.so) mux/include/unicode_tables_c.h — C header (color_ops, rv64) ragel/unicode_tables.h — symlink to unicode_tables_c.h ragel/unicode_tables.c — C tables (case mapping) mux/rv64/src/unicode_tables.c — C tables (case + widths + gcb) The C header is assembled from preamble + generated DFA declarations + postamble (inline DFA runner functions). No manual sync needed — the upper_sbt debacle cannot recur. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
26 lines
1.4 KiB
C
26 lines
1.4 KiB
C
/* UTF-8 lead byte classification table.
|
|
* 1=ASCII, 2=2-byte, 3=3-byte, 4=4-byte, 5=continuation, 6=illegal.
|
|
* Defined by the UTF-8 encoding spec; never changes.
|
|
*/
|
|
const unsigned char utf8_FirstByte[256] =
|
|
{
|
|
// 0 1 2 3 4 5 6 7 8 9 A B C D E F
|
|
//
|
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0
|
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 1
|
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 2
|
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 3
|
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 4
|
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 5
|
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 6
|
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 7
|
|
|
|
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, // 8
|
|
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, // 9
|
|
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, // A
|
|
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, // B
|
|
6, 6, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, // C
|
|
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, // D
|
|
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // E
|
|
4, 4, 4, 4, 4, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 // F
|
|
};
|