bitwise operations

This commit is contained in:
2026-07-19 00:36:31 +02:00
parent f9448363e4
commit c7e3162ecb
21 changed files with 219439 additions and 140077 deletions
+135 -1
View File
@@ -364,7 +364,7 @@ main func() void {
(expression
(sink))
(expression
(identifier))))))))))
(identifier))))))))))
==================
Native tests
@@ -509,3 +509,137 @@ value uint :: 255
(builtin_type))
(expression
(integer))))
==================
Bitwise operations
==================
ops func(value u8, count u8) u8 {
value &= ~u8(1)
value |= 2
value xor= 3
value <<= count
value >>= count
value <<|= count
if (value | 1) |captured| { return captured }
return (value & 15) xor (value << 1) | (value >> 1) | (value <<| 8)
}
---
(source_file
(function_declaration
(identifier)
(parameter_list
(parameter
(identifier)
(type
(builtin_type)))
(parameter
(identifier)
(type
(builtin_type))))
(type
(builtin_type))
(block
(statement
(assignment_statement
(expression
(identifier))
(expression
(unary_expression
(expression
(call_expression
(expression
(builtin_type))
(argument_list
(expression
(integer)))))))))
(statement
(assignment_statement
(expression
(identifier))
(expression
(integer))))
(statement
(assignment_statement
(expression
(identifier))
(expression
(integer))))
(statement
(assignment_statement
(expression
(identifier))
(expression
(identifier))))
(statement
(assignment_statement
(expression
(identifier))
(expression
(identifier))))
(statement
(assignment_statement
(expression
(identifier))
(expression
(identifier))))
(statement
(if_statement
(expression
(parenthesized_expression
(expression
(binary_expression
(expression
(identifier))
(expression
(integer))))))
(capture_list
(identifier))
(statement
(block
(statement
(return_statement
(expression
(identifier))))))))
(statement
(return_statement
(expression
(binary_expression
(expression
(binary_expression
(expression
(binary_expression
(expression
(parenthesized_expression
(expression
(binary_expression
(expression
(identifier))
(expression
(integer))))))
(expression
(parenthesized_expression
(expression
(binary_expression
(expression
(identifier))
(expression
(integer))))))))
(expression
(parenthesized_expression
(expression
(binary_expression
(expression
(identifier))
(expression
(integer))))))))
(expression
(parenthesized_expression
(expression
(binary_expression
(expression
(identifier))
(expression
(integer)))))))))))))