### Godot version

4.1.1.stable.official

### System information

Godot v4.1.1.stable - Windows 10.0.19045 - Vulkan (Compatibility) - Intel(R) HD Graphics 4600 (Intel Corporation; 20.19.15.5126) - Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz (8 Threads)

### Issue description

So theres this error message:
Expected error after ">" operator."
there appears to be a useless " at the end. Is this intentional?
![image](https://github.com/godotengine/godot/assets/95637172/b7763908-596e-47e6-b632-bd5ceceab9db)


### Steps to reproduce

attach a script and write a ternary operator line, But do after the operator do not write the other piece of code.
var test = 1 if a > # leave it out so it gives an debug error message at edit time
you'll see the debug error message

### Minimal reproduction project

go to scenes\enemys\frog\frog.gd
youll see line 24 which includes the bug
[test.zip](https://github.com/godotengine/godot/files/12328367/test.zip)

return parse_variable(p_is_static, true);
}
GDScriptParser::VariableNode *GDScriptParser::parse_variable(bool p_is_static, bool p_allow_property) {
	VariableNode *variable = alloc_node<VariableNode>();
	if (!consume(GDScriptTokenizer::Token::IDENTIFIER, R"(Expected variable name after "var".)")) {
		complete_extents(variable);
		return nullptr;
	}
	variable->identifier = parse_identifier();
	variable->export_info.name = variable->identifier->name;
	variable->is_static = p_is_static;
	if (match(GDScriptTokenizer::Token::COLON)) {
		if (check(GDScriptTokenizer::Token::NEWLINE)) {
			if (p_allow_property) {
				advance();
				return parse_property(variable, true);
			} else {
				push_error(R"(Expected type after ":")");
				complete_extents(variable);
				return nullptr;
			}
		} else if (check((GDScriptTokenizer::Token::EQUAL))) {
			
			variable->infer_datatype = true;
		} else {
			if (p_allow_property) {
				make_completion_context(COMPLETION_PROPERTY_DECLARATION_OR_TYPE, variable);
				if (check(GDScriptTokenizer::Token::IDENTIFIER)) {