Rename state_t to parser_state_t
This commit is contained in:
parent
63640911b9
commit
679aa45884
6 changed files with 14 additions and 14 deletions
|
@ -1,7 +1,7 @@
|
|||
add_executable(solar
|
||||
lex.cpp
|
||||
parser.cpp
|
||||
parser_state.cpp
|
||||
solar.cpp
|
||||
state.cpp
|
||||
)
|
||||
set_target_properties(solar PROPERTIES COMPILE_FLAGS "-std=c++11 -Wall")
|
||||
|
|
|
@ -49,7 +49,7 @@ parser_t * parser_alloc(void) {
|
|||
return parser;
|
||||
}
|
||||
|
||||
int parser_push(parser_t *parser, int token, const value_t *value, state_t *state) {
|
||||
int parser_push(parser_t *parser, int token, const value_t *value, parser_state_t *state) {
|
||||
switch (parser->state) {
|
||||
case STATE_INIT:
|
||||
switch (token) {
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
|
||||
#pragma once
|
||||
|
||||
#include "state.hpp"
|
||||
#include "parser_state.hpp"
|
||||
|
||||
#include <cstdint>
|
||||
|
||||
|
@ -52,7 +52,7 @@ typedef struct parser parser_t;
|
|||
|
||||
|
||||
parser_t * parser_alloc(void);
|
||||
int parser_push(parser_t *parser, int token, const value_t *value, state_t *state);
|
||||
int parser_push(parser_t *parser, int token, const value_t *value, parser_state_t *state);
|
||||
void parser_free(parser_t *parser);
|
||||
|
||||
}
|
||||
|
|
|
@ -24,12 +24,12 @@
|
|||
*/
|
||||
|
||||
|
||||
#include "state.hpp"
|
||||
#include "parser_state.hpp"
|
||||
|
||||
|
||||
namespace solar {
|
||||
|
||||
void state_t::new_rule(const char *nonterm) {
|
||||
void parser_state_t::new_rule(const char *nonterm) {
|
||||
if (rules.empty()) {
|
||||
// start rule
|
||||
current.get_rhs().emplace_back(symbol_t::make_nonterm(nonterm));
|
||||
|
@ -40,19 +40,19 @@ void state_t::new_rule(const char *nonterm) {
|
|||
|
||||
}
|
||||
|
||||
void state_t::add_rule_nonterminal(const char *nonterm) {
|
||||
void parser_state_t::add_rule_nonterminal(const char *nonterm) {
|
||||
current.get_rhs().emplace_back(symbol_t::make_nonterm(nonterm));
|
||||
}
|
||||
|
||||
void state_t::add_rule_terminal(const char *term) {
|
||||
void parser_state_t::add_rule_terminal(const char *term) {
|
||||
current.get_rhs().emplace_back(symbol_t::make_term(term));
|
||||
}
|
||||
|
||||
void state_t::add_rule_terminal(unsigned char term) {
|
||||
void parser_state_t::add_rule_terminal(unsigned char term) {
|
||||
current.get_rhs().emplace_back(symbol_t::make_char(term));
|
||||
}
|
||||
|
||||
void state_t::add_rule() {
|
||||
void parser_state_t::add_rule() {
|
||||
rules.emplace(current.get_lhs(), current);
|
||||
|
||||
while (current.has_next()) {
|
|
@ -34,7 +34,7 @@
|
|||
|
||||
namespace solar {
|
||||
|
||||
class state_t {
|
||||
class parser_state_t {
|
||||
private:
|
||||
std::multimap<std::string, item_t> rules;
|
||||
std::multimap<symbol_t, item_t> items;
|
||||
|
@ -42,7 +42,7 @@ private:
|
|||
item_t current;
|
||||
|
||||
public:
|
||||
state_t() : current("") {}
|
||||
parser_state_t() : current("") {}
|
||||
|
||||
const std::multimap<std::string, item_t> & get_rules() const {
|
||||
return rules;
|
|
@ -33,7 +33,7 @@
|
|||
|
||||
namespace solar {
|
||||
|
||||
bool read_grammar(const char *filename, state_t *state) {
|
||||
bool read_grammar(const char *filename, parser_state_t *state) {
|
||||
FILE *file = fopen(filename, "r");
|
||||
if (!file) {
|
||||
std::fprintf(stderr, "unable to open file %s\n", filename);
|
||||
|
@ -75,7 +75,7 @@ bool read_grammar(const char *filename, state_t *state) {
|
|||
int main() {
|
||||
using namespace solar;
|
||||
|
||||
state_t state;
|
||||
parser_state_t state;
|
||||
if (!read_grammar("grammar.y", &state))
|
||||
return 1;
|
||||
|
||||
|
|
Reference in a new issue