1253f51ff3
Use deref_to_val instead of recursive_dereferencer in get_operand value
2025-10-09 23:11:06 +05:30
23afb0bd33
Add deref_to_val to deref into final value and return the chain as well in binops
2025-10-09 21:47:28 +05:30
c596213b2a
Add cst_var_binop.py as passing assign test
2025-10-09 03:42:25 +05:30
054a834464
Add failing assign test retype.py, with explanation
2025-10-09 03:28:07 +05:30
d7bfe86524
Add handle_variable_assignment to assign_pass
2025-10-09 03:09:10 +05:30
84ed27f222
Add handle_variable_assignment stub and boilerplate in handle_assign
2025-10-08 22:55:03 +05:30
6008d9841f
Change loglevel of multi-assignment warning in handle_assign
2025-10-08 22:45:09 +05:30
120aec08da
Update TODO.md
2025-10-08 21:40:14 +05:30
e66ae7cc89
Add failing oneline IfExpr conditional test
2025-10-08 21:36:08 +05:30
32dc8e6636
Merge pull request #21 from pythonbpf/globals
...
Adds support for globals
SO......
*I'm not merging this because it's complete, but because I don't want it to diverge from master too much.
*Stuff I still need to complete:
-> Structs and eval expressions in these globals.
-> handling the global keyword.
-> assigning back to the global and reading from inside a function.
-> Basically, `global` keyword in Python is used to write only and reading can be done directly without declaring as global as a direct assign without global declaration is going to diverge from Python.
-> The above logic is going to be supported by `global_sym_tab` generated using the new order of passes that we are doing.
-> This needs to be fixed and done ASAP to avoid conflicts. so yes, im gonna do it soon.
2025-10-08 14:48:37 +05:30
8e3942d38c
format chore
2025-10-08 14:31:37 +05:30
8485460374
Merge pull request #26 from pythonbpf/refactor_conds
...
Refactor conds
2025-10-08 07:28:08 +05:30
9fdc6fa3ed
Add compile to tests/failing_tests/conditionals/helper_cond.py
2025-10-08 07:26:41 +05:30
17004d58df
Remove completed short term goal from TODO.md
2025-10-08 07:25:14 +05:30
6362a5e665
Fix expr imports
2025-10-08 07:24:14 +05:30
d38d73d5c6
Move handle_comparator to type_normalization
2025-10-08 07:20:04 +05:30
0a6571726a
Move convert_to_bool to type_normalization
2025-10-08 07:14:42 +05:30
e62557bd1d
Seperate type_normalization from expr_pass
2025-10-08 06:59:32 +05:30
ee90ee9392
Fix type_deducer import in expr
2025-10-08 06:50:53 +05:30
5f9eaff59c
Fix expr imports
2025-10-08 06:49:34 +05:30
b86341ce7a
Rework dir structure for expr
2025-10-08 06:45:52 +05:30
4857739eec
cleanup handle_cond in functions_pass
2025-10-08 06:42:34 +05:30
3bb4b099c1
Add passing and.py test for conditionals
2025-10-08 06:28:03 +05:30
e7912a088f
Add passing or.py test for conditionals
2025-10-08 06:27:18 +05:30
95d63d969e
Add _handle_or_or in expr_pass
2025-10-08 06:24:57 +05:30
1f96bab944
Add _handle_and_op in expr_pass
2025-10-08 06:24:13 +05:30
f98491f3bd
Add handle_and and handle_or handling stub in eval_expr
2025-10-08 06:14:32 +05:30
98f262ae22
Add BoolOp handling stub in eval_expr
2025-10-08 06:11:59 +05:30
d2ff53052c
Add support for is and is not keywords
2025-10-08 06:04:29 +05:30
ecac24c1d2
Add explanation notes to failing conditionals tests
2025-10-08 05:57:17 +05:30
a764b095f8
Add helper_cond failing test for conditionals
2025-10-08 05:54:49 +05:30
95a196a91f
Move map_comp test to passing
2025-10-08 05:53:52 +05:30
6b59980874
Add null checks for pointer derefs to avoid map_value_or_null verifier errors
2025-10-08 05:53:12 +05:30
0c977514af
Add TODO for fixing struct_kioctx issue
2025-10-08 05:34:25 +05:30
1207730ce3
update vmlinux.py
2025-10-08 05:27:56 +05:30
0d9dcd122c
Merge pull request #27 from pythonbpf/vmlinux
...
Add vmlinux transpiler from experiments
2025-10-08 05:19:44 +05:30
8a69e05ee2
fix duplicate variable in example
...
Signed-off-by: varun-r-mallya <varunrmallya@gmail.com >
2025-10-08 05:18:49 +05:30
976af290af
Revert "format chore"
...
This reverts commit a3443ab1d5 .
2025-10-08 05:17:59 +05:30
a3443ab1d5
format chore
...
Signed-off-by: varun-r-mallya <varunrmallya@gmail.com >
2025-10-08 05:16:36 +05:30
a27360482b
complete vmlinux transpiler.
...
TODO: struct_kioctx for x86_64 vmlinux.h has anonymous structs that refused to transpile well, so an extra rule has been written to make only the structs of that external. Fix this in the future.
2025-10-08 05:15:29 +05:30
3f9604a370
Add _deref_to_depth in expr_pass
2025-10-08 03:12:17 +05:30
480afd1341
Move _get_base_type to _get_base_type_and_depth
2025-10-08 03:02:31 +05:30
ab71275566
Add _get_base_type to expr_pass
2025-10-08 03:00:52 +05:30
2d850f457f
Add _normalize_types to handle mismatched ints, move type_mismatch test to passing
2025-10-08 02:22:41 +05:30
c423cc647d
add vmlinux.py transpiler from experiment repository
...
Signed-off-by: varun-r-mallya <varunrmallya@gmail.com >
2025-10-08 00:45:30 +05:30
9e1142bf05
Add type_mismatch failing test for conditionals
2025-10-07 14:02:09 +05:30
1843ca6c53
Add failing struct_ptr test for conditionals
2025-10-07 13:42:58 +05:30
caa5d92c32
Fix struct_access in eval_expr, move struct_access conditional test to passing
2025-10-07 13:35:31 +05:30
f41693bc6d
Add 'and' and 'or' BoolOps as future deliverables
2025-10-07 05:27:31 +05:30
b7092fa362
Add failing test map_comp for conditionals
2025-10-07 05:20:43 +05:30