wordsplit rules: fix basic norm problems

also make notes for future refactorings
This commit is contained in:
Khaïs COLIN 2025-02-20 12:00:04 +01:00
parent f2469f1600
commit edf8946fe3
Signed by: logistic-bot
SSH key fingerprint: SHA256:RlpiqKeXpcPFZZ4y9Ou4xi2M8OhRJovIwDlbCaMsuAo
2 changed files with 18 additions and 13 deletions

View file

@ -6,7 +6,7 @@
/* By: jguelen <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/02/19 13:20:01 by jguelen #+# #+# */
/* Updated: 2025/02/20 11:52:28 by khais ### ########.fr */
/* Updated: 2025/02/20 12:22:28 by khais ### ########.fr */
/* */
/* ************************************************************************** */
@ -40,7 +40,8 @@ bool rule_eof(t_token_build *builder, char *original)
bool rule_combine_operator(t_token_build *builder, char *original)
{
if (builder->currently_in_operator && builder->quote == '\0'
&& is_operator_combo(builder->cur_token->buffer, original[builder->idx]))
&& is_operator_combo(builder->cur_token->buffer,
original[builder->idx]))
{
push_char(builder, original[builder->idx]);
builder->idx++;
@ -56,14 +57,16 @@ bool rule_combine_operator(t_token_build *builder, char *original)
*/
bool rule_operator_end(t_token_build *builder, char *original)
{
if (builder->currently_in_operator && builder->quote == '\0'
&& !is_operator_combo(builder->cur_token->buffer, original[builder->idx]))
if (builder->currently_in_operator && builder->quote == '\0' // FIXME
&& !is_operator_combo(builder->cur_token->buffer,
original[builder->idx]))
{
delimit(builder);
return (true);
}
return (false);
}
/*
** 4. If the current character is single-quote, or double-quote and it is not
** quoted, it shall affect quoting for subsequent characters up to the end of
@ -75,6 +78,7 @@ bool rule_operator_end(t_token_build *builder, char *original)
*/
bool rule_quote(t_token_build *builder, char *original)
{
// FIXME
if (original[builder->idx] == '\'' || original[builder->idx] == '"')
{
quote_flip(builder, original[builder->idx]);
@ -82,7 +86,6 @@ bool rule_quote(t_token_build *builder, char *original)
return (true);
}
return (false);
}
bool token_rule_5(t_token_build *builder, char *original);

View file

@ -6,7 +6,7 @@
/* By: jguelen <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/02/19 13:21:18 by jguelen #+# #+# */
/* Updated: 2025/02/20 11:52:28 by khais ### ########.fr */
/* Updated: 2025/02/20 11:59:57 by khais ### ########.fr */
/* */
/* ************************************************************************** */
@ -27,6 +27,7 @@
*/
bool rule_new_operator(t_token_build *builder, char *original)
{
// FIXME: unquoted
if (builder->quote == '\0' && is_operator_start(original[builder->idx]))
{
operator_start(builder, original[builder->idx]);
@ -42,6 +43,7 @@ bool rule_new_operator(t_token_build *builder, char *original)
*/
bool rule_delimit_blank(t_token_build *builder, char *original)
{
// FIXME: unquoted
if (is_blank(original[builder->idx]) && builder->quote == '\0')
{
delimit(builder);