diff options
author | Matthias Schiffer <mschiffer@universe-factory.net> | 2015-04-17 23:45:20 +0200 |
---|---|---|
committer | Matthias Schiffer <mschiffer@universe-factory.net> | 2015-04-17 23:45:20 +0200 |
commit | a2a663dafd53cbebfa510f6dbd19aed6cc545e32 (patch) | |
tree | 112af0606593761fd53aeb83430cc10ec8ec155b /src/parse.y | |
parent | 9cbf364a463acf6fe8a7e69d19f1df864a80c851 (diff) | |
download | solar-a2a663dafd53cbebfa510f6dbd19aed6cc545e32.tar solar-a2a663dafd53cbebfa510f6dbd19aed6cc545e32.zip |
parse: replace type-specific deleters by simple delete calls
Diffstat (limited to 'src/parse.y')
-rw-r--r-- | src/parse.y | 33 |
1 files changed, 10 insertions, 23 deletions
diff --git a/src/parse.y b/src/parse.y index 4fcba12..7b46368 100644 --- a/src/parse.y +++ b/src/parse.y @@ -5,54 +5,41 @@ %source { typedef std::vector<std::pair<std::string, bool>> vars_t; typedef std::pair<std::vector<solar::symbol_t>, vars_t> rhs_t; - - -static inline void free_string(std::string *v) { - delete v; -} - -static inline void free_symbol(solar::symbol_t *v) { - delete v; -} - -static inline void free_rhs(rhs_t *v) { - delete v; -} } %type SYMBOL {std::string *} str -%destructor SYMBOL free_string +%destructor SYMBOL delete %type SYMBOL_UC {std::string *} str -%destructor SYMBOL_UC free_string +%destructor SYMBOL_UC delete %type BLOCK {std::string *} str -%destructor BLOCK free_string +%destructor BLOCK delete %type SQBLOCK {std::string *} str -%destructor SQBLOCK free_string +%destructor SQBLOCK delete %type STRING {std::string *} str -%destructor STRING free_string +%destructor STRING delete %type CHAR {unsigned char} c %type rhs {rhs_t *} -%destructor rhs free_rhs +%destructor rhs delete %type action {std::string *} -%destructor action free_string +%destructor action delete %type symbol {solar::symbol_t *} -%destructor symbol free_symbol +%destructor symbol delete %type term {solar::symbol_t *} -%destructor term free_symbol +%destructor term delete %type varname {std::string *} -%destructor varname free_string +%destructor varname delete %extra_arg {__attribute__((unused)) solar::grammar_t *} grammar |