Norm: Parser static now at the norm

This commit is contained in:
Maieul BOYER 2024-06-10 15:36:38 +02:00
parent 5759396eb2
commit c24766ee47
No known key found for this signature in database
25 changed files with 116 additions and 69 deletions

View file

@ -22,6 +22,10 @@
# include "./inline.h"
# include "../../../parse_types.h"
bool lex_normal_s237_bis(t_lexer *lexer, t_lexer_state *s, bool *ret);
bool lex_normal_s238_bis(t_lexer *lexer, t_lexer_state *s, bool *ret);
bool lex_normal_s250_bis(t_lexer *lexer, t_lexer_state *s, bool *ret);
bool lex_normal_s0(t_lexer *lexer, t_lexer_state *s);
bool lex_normal_s1(t_lexer *lexer, t_lexer_state *s);
bool lex_normal_s2(t_lexer *lexer, t_lexer_state *s);

View file

@ -32,22 +32,10 @@ bool lex_normal_s236(t_lexer *lexer, t_lexer_state *s)
bool lex_normal_s237(t_lexer *lexer, t_lexer_state *s)
{
if (s->eof)
return (lex_advance(251, lexer, s));
if (s->lookahead == '\n')
return (lex_advance(308, lexer, s));
if (s->lookahead == '#')
return (lex_advance(437, lexer, s));
if (s->lookahead == '&')
return (lex_advance(355, lexer, s));
if (s->lookahead == ')')
return (lex_advance(273, lexer, s));
if (s->lookahead == ';')
return (lex_advance(535, lexer, s));
if (s->lookahead == '<')
return (lex_advance(288, lexer, s));
if (s->lookahead == '>')
return (lex_advance(291, lexer, s));
bool ret;
if (lex_normal_s237_bis(lexer, s, &ret))
return (ret);
if (s->lookahead == '\\')
return (lex_skip(246, lexer, s));
if (s->lookahead == '`')
@ -64,22 +52,10 @@ bool lex_normal_s237(t_lexer *lexer, t_lexer_state *s)
bool lex_normal_s238(t_lexer *lexer, t_lexer_state *s)
{
if (s->eof)
return (lex_advance(251, lexer, s));
if (s->lookahead == '\n')
return (lex_advance(308, lexer, s));
if (s->lookahead == '#')
return (lex_advance(437, lexer, s));
if (s->lookahead == '&')
return (lex_advance(355, lexer, s));
if (s->lookahead == ')')
return (lex_advance(273, lexer, s));
if (s->lookahead == ';')
return (lex_advance(535, lexer, s));
if (s->lookahead == '<')
return (lex_advance(288, lexer, s));
if (s->lookahead == '>')
return (lex_advance(291, lexer, s));
bool ret;
if (lex_normal_s238_bis(lexer, s, &ret))
return (ret);
if (s->lookahead == '\\')
return (lex_skip(247, lexer, s));
if (s->lookahead == '`')

View file

@ -14,22 +14,10 @@
bool lex_normal_s250(t_lexer *lexer, t_lexer_state *s)
{
if (s->eof)
return (lex_advance(251, lexer, s));
if (lex_normal_map250(lexer, s))
return (true);
if (s->lookahead == '\\')
return (lex_skip(245, lexer, s));
if (s->lookahead == '^')
return (lex_advance(351, lexer, s));
if (s->lookahead == '`')
return (lex_advance(432, lexer, s));
if (s->lookahead == 'd')
return (lex_advance(231, lexer, s));
if (s->lookahead == 'e')
return (lex_advance(229, lexer, s));
if (s->lookahead == 'f')
return (lex_advance(227, lexer, s));
bool ret;
if (lex_normal_s250_bis(lexer, s, &ret))
return (ret);
if (s->lookahead == 'i')
return (lex_advance(230, lexer, s));
if (s->lookahead == '|')

View file

@ -0,0 +1,76 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* state_additional.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: maiboyer <maiboyer@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/04/14 19:17:54 by maiboyer #+# #+# */
/* Updated: 2024/04/14 19:18:20 by maiboyer ### ########.fr */
/* */
/* ************************************************************************** */
#include "./lex_normal_funcs.h"
bool lex_normal_s237_bis(t_lexer *lexer, t_lexer_state *s, bool *ret)
{
if (s->eof)
return (*ret = lex_advance(251, lexer, s), true);
if (s->lookahead == '\n')
return (*ret = lex_advance(308, lexer, s), true);
if (s->lookahead == '#')
return (*ret = lex_advance(437, lexer, s), true);
if (s->lookahead == '&')
return (*ret = lex_advance(355, lexer, s), true);
if (s->lookahead == ')')
return (*ret = lex_advance(273, lexer, s), true);
if (s->lookahead == ';')
return (*ret = lex_advance(535, lexer, s), true);
if (s->lookahead == '<')
return (*ret = lex_advance(288, lexer, s), true);
if (s->lookahead == '>')
return (*ret = lex_advance(291, lexer, s), true);
return (false);
}
bool lex_normal_s238_bis(t_lexer *lexer, t_lexer_state *s, bool *ret)
{
if (s->eof)
return (*ret = lex_advance(251, lexer, s), true);
if (s->lookahead == '\n')
return (*ret = lex_advance(308, lexer, s), true);
if (s->lookahead == '#')
return (*ret = lex_advance(437, lexer, s), true);
if (s->lookahead == '&')
return (*ret = lex_advance(355, lexer, s), true);
if (s->lookahead == ')')
return (*ret = lex_advance(273, lexer, s), true);
if (s->lookahead == ';')
return (*ret = lex_advance(535, lexer, s), true);
if (s->lookahead == '<')
return (*ret = lex_advance(288, lexer, s), true);
if (s->lookahead == '>')
return (*ret = lex_advance(291, lexer, s), true);
return (false);
}
bool lex_normal_s250_bis(t_lexer *lexer, t_lexer_state *s, bool *ret)
{
if (s->eof)
return (*ret = lex_advance(251, lexer, s), true);
if (lex_normal_map250(lexer, s))
return (*ret = true, true);
if (s->lookahead == '\\')
return (*ret = lex_skip(245, lexer, s), true);
if (s->lookahead == '^')
return (*ret = lex_advance(351, lexer, s), true);
if (s->lookahead == '`')
return (*ret = lex_advance(432, lexer, s), true);
if (s->lookahead == 'd')
return (*ret = lex_advance(231, lexer, s), true);
if (s->lookahead == 'e')
return (*ret = lex_advance(229, lexer, s), true);
if (s->lookahead == 'f')
return (*ret = lex_advance(227, lexer, s), true);
return (false);
}