### Godot version

4.0 beta 16 and 17

### System information

Windows 11

### Issue description

Before beta 16 you could write `@export_category(name)` and it would make a category with "name" as the name.
Now you must use a string when defining the category name. (`@export_category("name")`)
The issue is that the moment you type something that doesn't start with `"` the engine crashes.

### Steps to reproduce

1. Create a script.
2. Write one of the following:
a) `@export_category()`
b) `@export_group()`
c) `@export_subgroup()`
3. In the parentheses write *any* character other than `"`.
4. Watch it crash.

If you managed to save the file the project will crash when opened.

### Minimal reproduction project

[Minimal.zip](https://github.com/godotengine/godot/files/10561826/Minimal.zip)

CallNode *call = alloc_node<CallNode>();
	reset_extents(call, p_previous_operand);
	if (previous.type == GDScriptTokenizer::Token::SUPER) {
		
		call->is_super = true;
		push_multiline(true);
		if (match(GDScriptTokenizer::Token::PARENTHESIS_OPEN)) {
			
			if (current_function == nullptr) {
				push_error(R"(Cannot use implicit "super" call outside of a function.)");
				pop_multiline();
				complete_extents(call);
				return nullptr;
			}
			if (current_function->identifier) {
				call->function_name = current_function->identifier->name;
			} else {
				call->function_name = SNAME("<anonymous>");
			}
		} else {
			consume(GDScriptTokenizer::Token::PERIOD, R"(Expected "." or "(" after "super".)");
			make_completion_context(COMPLETION_SUPER_METHOD, call, true);
			if (!consume(GDScriptTokenizer::Token::IDENTIFIER, R"(Expected function name after ".".)")) {
				pop_multiline();
				complete_extents(call);
				return nullptr;
			}
			IdentifierNode *identifier = parse_identifier();