summaryrefslogtreecommitdiffstats
path: root/src/expr.h
Commit message (Collapse)AuthorAgeFilesLines
* expr: Get rid of the extra list nodeTavian Barnes23 hours1-2/+0
| | | | We can now just use for_arena() to iterate over the allocated bfs_exprs.
* Fix spellingTavian Barnes2024-09-231-1/+1
|
* build: Move feature test macros to prelude.hTavian Barnes2024-08-281-2/+0
| | | | | | This replaces the explicit CPPFLAGS list in flags.mk with just `-include src/prelude.h`, shortening our compiler command lines and allowing them to be easily documented.
* prelude: Split bfs-specific utilities into new bfs.h headerTavian Barnes2024-08-281-0/+2
|
* expr: Tell expressions what kind of expression they areTavian Barnes2024-08-151-1/+24
|
* expr: New for_expr macroTavian Barnes2024-05-231-0/+6
|
* Rename config.h to prelude.hTavian Barnes2024-04-191-1/+1
|
* Re-run include-what-you-useTavian Barnes2024-03-111-1/+0
|
* expr: Pack struct bfs_expr a bitTavian Barnes2024-02-141-15/+9
|
* opt: Enable BFTW_STAT when profitableTavian Barnes2024-02-061-0/+2
|
* expr: Make expressions variadicTavian Barnes2024-01-071-8/+20
| | | | | | | | | Rather than only unary/binary expressions, we now support an arbitrary number of children. The optimizer has been re-written almost completely and now supports optimal reordering of longer expression chains, rather than just arm-swapping. Fixes #85.
* expr: Arena-allocate expressionsTavian Barnes2023-12-201-3/+16
|
* Use strcmp() instead of fnmatch() if possibleTavian Barnes2023-07-061-0/+10
|
* config: Provide <stdalign.h> and <stdbool.h>Tavian Barnes2023-05-111-1/+1
| | | | In anticipation of C23, since those headers won't be necessary any more.
* Replace license boilerplate with SPDX tagsTavian Barnes2023-01-251-15/+2
| | | | | | | And while I'm at it, remove years from copyright declarations. Link: https://spdx.dev/about/ Link: https://daniel.haxx.se/blog/2023/01/08/copyright-without-years/
* expr: Rename bfs_expr_has_children() to _is_parent()Tavian Barnes2022-12-051-1/+1
|
* expr: Remove the singleton bfs_{true,false} expressionsTavian Barnes2022-11-301-5/+0
|
* expr: Remove the synthetic flagTavian Barnes2022-11-291-2/+0
| | | | | Only diagnostics cares about this, and we can just check if the pointers are equal.
* Try to report I/O errors earlier and only onceTavian Barnes2022-11-101-0/+2
|
* Source / Include Folder (#88)トトも2022-04-161-0/+235
Moved Source Files Into `src` Folder