Clément FRÉVILLE
8df9e591ba
Fix exec instruction disassembler
3 months ago
Clément FRÉVILLE
3ec72c6198
Fix pointer strict aliasing in VM code
4 months ago
Clément FRÉVILLE
3c2d2cac7a
Pin Ubuntu version in C++ workflow
...
GCC 10 is not included in the Ubuntu 24.04 image.
4 months ago
Clément FRÉVILLE
8ffdb3b2f9
Fix explicit lifetimes and Clippy lints
6 months ago
Clément FRÉVILLE
9edb4154e5
Use an impl return type in the Move trait instead of MoveOperations
6 months ago
Clément FRÉVILLE
ee6b6d230f
Update dependencies
6 months ago
Clément FRÉVILLE
a1b46b63d1
Address new Clippy lints and update dependencies
11 months ago
Clément FRÉVILLE
697b06efa3
Create a Docker image with glibc+BusyBox
...
The Alpine version was never updated to 3.20 due to incompatibilities
with musl build+gcompat. Rust struggles to generate a musl binary
when musl-gcc is used[^1], and creates something that always segfaults
as of now. Because this image is not really a base image for anything
else, a package manager is not really necessary, so a simple BusyBox
image is sufficient.
[^1]: https://www.github.com/rust-lang/rust/issues/95926
11 months ago
Clément FRÉVILLE
75db60696f
Fuzz the parser ( #181 )
...
* Add fuzzer
* Only accept unicode identifiers
* Test redirection parsing edge cases
* Check if a character is to escaped
11 months ago
Clément FRÉVILLE
c82e6345f6
Reduce false positives when parsing redirections separated by a newline
12 months ago
Clément FRÉVILLE
569ba0c781
Fix infinite loop in parser and cleanup code
12 months ago
Clément FRÉVILLE
3b0a9fc807
Update dependencies
1 year ago
Clément FRÉVILLE
e633d2309e
Recover from method declarations during parsing
1 year ago
Clément FRÉVILLE
784f547077
Make the AST owned
...
Use the compact_str crate for its SSO type, as the AST is designed to
have only one owner and not shared between threads for now.
The parser no longer takes a `Source` struct and accepts any UTF-8
string. The source name was not used in the parser. Parser aspects are
no longer traits.
1 year ago
Clément FRÉVILLE
b8d304434d
Update dependencies
1 year ago
Clément FRÉVILLE
5efc9dafcd
Expand tildes when generating completions
1 year ago
Clément FRÉVILLE
610c3a285a
Run nightly build once a week
1 year ago
Clément FRÉVILLE
63c192d231
Re-add miri attributes
1 year ago
Clément FRÉVILLE
01dc683317
Re-add stack overflow detection in call stack
1 year ago
Clément FRÉVILLE
d5342e6bb1
Perform a non-cancellable redirection on commands
...
Fix #132
1 year ago
Clément FRÉVILLE
67c3c041c7
Remove clang build
...
The workaround makes the CI flaky depending on when it is executed.
1 year ago
Clément FRÉVILLE
691bdc2d53
Add process substitutions ( #180 )
1 year ago
maxime
3e5859f512
remove /sandbox
1 year ago
Clément FRÉVILLE
81c706c29d
Remove dbg-pls
1 year ago
Clément FRÉVILLE
8dd49d5bfe
Reduce pointer manipulations in the call stack
...
Provides a 10% speedup.
1 year ago
Clément FRÉVILLE
4791c37f8d
Update dependencies
1 year ago
Clément FRÉVILLE
6d8047cafb
Avoid panicking if no variable initializer is present
1 year ago
Clément FRÉVILLE
b9bbe07f3f
Don't panic when assigning a zero-sized variable
1 year ago
Clément FRÉVILLE
a073b5a39c
Add spans to identifiers
1 year ago
Clément FRÉVILLE
91743a0748
Update keyword list
1 year ago
Clément FRÉVILLE
d3596da573
Include a byte span instead of a slice in tokens
1 year ago
Clément FRÉVILLE
2b86258051
Add all processes to the same process group
...
Fixes #179
1 year ago
Clément FRÉVILLE
ebf2d6230c
Implement for in iterables ( #178 )
...
* Allow iterating over vectors and strings
* Allow iterating over int ranges
1 year ago
Clément FRÉVILLE
db8cecb54d
Inline local guards and mark the default opcode as unreachable
...
Provides a ~3% speedup on the fib benchmark.
1 year ago
Clément FRÉVILLE
7d963445aa
Update the vector only when pushing elements onto the stack
...
Provides a 30-45% performance improvement
1 year ago
Clément FRÉVILLE
0493a68698
Accept the script to run via an argument
...
Fix #176
1 year ago
Clément FRÉVILLE
76f6694cd4
Fix clang build
1 year ago
Clément FRÉVILLE
678f767905
Accept paths in expressions ( #177 )
1 year ago
Clément FRÉVILLE
293571e0ef
Include the reef in resolved environments
1 year ago
Clément FRÉVILLE
c099aa1f63
Update dependencies
1 year ago
Clément FRÉVILLE
6a93b1ac44
Avoid UB when transferring the function return value
...
The `operands_refs` field is shared across all stacks of the current
thread, and it is undefined behavior to have overlapped iterators in
`std::vector::insert`.
1 year ago
Maxime Batista
17abd80378
Introduce structured types ( #173 )
1 year ago
Maxime Batista
182011d26c
Apply suggestions from code review
...
Co-authored-by: syldium <syldium@mailo.com>
1 year ago
Override-6
de0a3e2fff
apply suggestions
1 year ago
Clément FRÉVILLE
dfbff1d4d3
Fix inference in subscript+assignment expressions
2 years ago
Clément FRÉVILLE
da82110ad0
Fix user references to glob and pid types
2 years ago
Clément FRÉVILLE
4ac382c1ec
Implement background processes ( #175 )
...
Fixes #174
2 years ago
Maxime Batista
2cf1843719
Update README.md
2 years ago
Override-6
ff5da983e6
apply suggestions
2 years ago
Clément FRÉVILLE
6218f5d887
Relax file permissions created by an `open`
2 years ago