/* By: ljiriste <ljiriste@student.42prague.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/05/27 21:21:54 by ljiriste #+# #+# */
-/* Updated: 2024/06/21 15:48:59 by ljiriste ### ########.fr */
+/* Updated: 2024/07/21 08:41:22 by ljiriste ### ########.fr */
/* */
/* ************************************************************************** */
typedef struct s_grammar_rule
{
t_token result;
- t_vec constituents; // t_vec of t_tokens
+ t_vec constituents;
} t_grammar_rule;
enum e_parser_action_type
typedef struct s_parser_state
{
- t_vec lookahead; // t_vec of t_action
- t_vec gotos; // t_vec of ssize_t
+ t_vec lookahead;
+ t_vec gotos;
} t_parser_state;
typedef struct s_parsing_table
{
- t_vec rules; // t_vec of t_grammar_rule
- t_vec states; // t_vec of t_parser_state
- t_vec tokens; // t_vec of token
+ t_vec rules;
+ t_vec states;
+ t_vec tokens;
size_t terminal_tokens_num;
} t_parsing_table;
typedef struct s_parse_tree_node
{
t_token token;
- t_vec children; // t_vec of t_parse_tree_node
+ t_vec children;
} t_parse_tree_node;
typedef struct s_parser_stack_element