diff --git a/applets/c2english/CGrammar.pm b/applets/c2english/CGrammar.pm index 48a8cc44..b338c54e 100755 --- a/applets/c2english/CGrammar.pm +++ b/applets/c2english/CGrammar.pm @@ -423,7 +423,7 @@ expression_statement: labeled_statement: identifier ':' statement[context => 'label'] (';')(?) { "Let there be a label $item{identifier}.\n$item{statement}" } - | ('case' constant_expression + | ('case' constant_expression[context => 'constant expression'] { $return = $item{constant_expression} } ':')(s) { @@ -450,7 +450,7 @@ labeled_statement: { "In the default case, ^L$item{statement}" } expression: - + 'expression'] ',' assignment_expression[context => 'assignment expression']> { if ($arg{context} eq 'for increment statement' or $arg{context} eq 'for init') { @@ -465,7 +465,7 @@ expression: assignment_expression: unary_expression[context => 'assignment expression'] - assignment_operator + assignment_operator[context => 'assignment expression'] assignment_expression[context => 'assignment expression'] { my $assignment_expression = $item{assignment_expression}; @@ -480,10 +480,10 @@ assignment_expression: $return = "$item{unary_expression} $assignment_operator $assignment_expression"; } } - | conditional_expression + | conditional_expression[context => 'conditional expression'] conditional_expression: - logical_OR_AND_expression conditional_ternary_expression + logical_OR_AND_expression[context => 'expression'] conditional_ternary_expression[context => 'expression'] { if ($item{conditional_ternary_expression}) { my $op1 = $item{conditional_ternary_expression}->[0]; @@ -503,7 +503,7 @@ conditional_expression: } conditional_ternary_expression: - '?' expression ':' conditional_expression + '?' expression[context => 'expression'] ':' conditional_expression[context => 'expression'] { [$item{expression}, $item{conditional_expression}] } | {""} @@ -620,13 +620,13 @@ assignment_operator: } constant_expression: - conditional_expression + conditional_expression[context => 'expression'] logical_OR_AND_expression: 'logical_OR_AND_expression']> + rel_add_mul_shift_expression[context => 'expression'] + log_OR_AND_bit_or_and_eq[context => 'expression'] + rel_add_mul_shift_expression[context => 'expression']> { my $expression = join('', @{$item[1]}); if($arg{context} =~ /initializer expression$/ @@ -683,7 +683,7 @@ unary_operator: rel_add_mul_shift_expression: cast_expression ...';' { $item{cast_expression} } - | + | 'expression'] cast_expression> { join('', @{$item[1]}) } closure: diff --git a/lib/PBot/VERSION.pm b/lib/PBot/VERSION.pm index a6e1c82a..c0dc90a3 100644 --- a/lib/PBot/VERSION.pm +++ b/lib/PBot/VERSION.pm @@ -25,8 +25,8 @@ use PBot::Imports; # These are set by the /misc/update_version script use constant { BUILD_NAME => "PBot", - BUILD_REVISION => 4766, - BUILD_DATE => "2024-06-29", + BUILD_REVISION => 4767, + BUILD_DATE => "2024-07-10", }; sub initialize {}