summaryrefslogtreecommitdiffstats
path: root/src/expr.h
Commit message (Collapse)AuthorAgeFilesLines
* 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