aboutsummaryrefslogtreecommitdiffhomepage
path: root/c/lex.c
Commit message (Expand)AuthorAgeFilesLines
* lexer: multibyte escape seqs in wide character literallemon2026-01-091-4/+13
* cpp: fix multiline comment in skipped preprocessor directivelemon2026-01-091-2/+16
* cpp: fix single-line comment after preprocessor directivelemon2026-01-091-1/+1
* cpp: nicer handling of predefined macroslemon2025-12-291-40/+29
* backend: start implementing aarch64lemon2025-12-281-0/+4
* preprocessor make some errors just warningslemon2025-12-221-4/+6
* c: Fix some dumb uses of initialized stufflemon2025-12-221-3/+7
* c: keyword aliaseslemon2025-12-211-4/+17
* lexer: more small optimizationslemon2025-12-211-14/+33
* lexer: note source of #include when error occurs in #included filelemon2025-12-201-0/+6
* c: support CRLF newlineslemon2025-12-201-3/+11
* lexer: fix remnant use of TKEOF for characterlemon2025-12-201-9/+7
* optimize lexer a bit morelemon2025-12-201-60/+86
* lexer: convert pp-idents to keywords only after preprocessinglemon2025-12-201-63/+65
* cpp: GNU extension for named variadic argumentslemon2025-12-181-4/+7
* cpp: better error recovery for #define syntax errorlemon2025-12-181-6/+7
* nicer defaults and facilities for cross-compilationlemon2025-12-171-2/+16
* create distinct interned string typelemon2025-12-151-22/+21
* move intern() to mem.clemon2025-12-151-45/+0
* lex: loop with goto instead of tail recursionlemon2025-12-151-7/+8
* lexer: use a hashmap to lookup keywordslemon2025-12-151-27/+27
* cpp: support #line directiveslemon2025-12-141-10/+75
* cpp: correctly handle extra tokens after directiveslemon2025-12-141-16/+21
* s/amd64/x86_64/lemon2025-12-121-1/+1
* lex: use pmap for macro lookuplemon2025-12-121-125/+69
* rename arraylength macro -> countoflemon2025-12-111-20/+20
* -trigraphs optionlemon2025-12-111-3/+3
* lex/expr(): cleanuplemon2025-12-111-29/+29
* lexer: properly add padding for cpppredefslemon2025-12-101-2/+2
* lex: make some hashtables resizablelemon2025-12-091-29/+67
* add command-line predefined macros (-D, -U)lemon2025-12-061-4/+52
* cpp: implement preprocessor expressions short circuiting behaviourlemon2025-12-031-17/+23
* preprocessor: add #ifndef...#endif include guard optimizationlemon2025-12-021-11/+27
* lex: remove some hacks and optimize preprocessorlemon2025-11-281-39/+34
* pp: fix token pasting (hopefully)lemon2025-11-241-27/+15
* lex: TEMP hack: #define __x86_64__ or some system headers break subtlylemon2025-11-231-0/+1
* cpp: fix bugs with recursive macro expansion (hopefully)lemon2025-11-231-28/+24
* cpp: fix ## buglemon2025-11-231-1/+1
* c: move warning for extension keyword til after preprocessorlemon2025-11-221-2/+2
* lex: #include ".." should also look in working directorylemon2025-11-221-19/+17
* lex: move token data from tmp to glob arena when used in a macro bodylemon2025-11-221-2/+7
* cpp: add predefined __antcc__ macro, for debugginglemon2025-11-201-0/+1
* ir: 'trap' jump; c: __builtin_trap; lex: __has_builtinlemon2025-11-151-4/+25
* lex: fix single-line comment eating up preprocessor directive in next linelemon2025-11-081-1/+1
* lex: #warning and #errorlemon2025-11-081-2/+13
* lex: fix bugs filling char bufferlemon2025-10-271-14/+22
* lex enlarge internhtlemon2025-10-231-1/+1
* lex: fix expansion for fn like macros passed as macro argumentslemon2025-10-231-1/+1
* lex: fix consecutive preprocessor concatenationlemon2025-10-231-7/+10
* use libc's stdout/stderr; also eliminate some unnecessary recursion in bfmtlemon2025-10-231-1/+1