xo-reader: refactor: + expect_expr_xs cls [wip]
This commit is contained in:
parent
f0f4c57362
commit
5a4923e5cf
6 changed files with 62 additions and 33 deletions
|
|
@ -1,6 +1,7 @@
|
|||
/* @file define_xs.cpp */
|
||||
|
||||
#include "define_xs.hpp"
|
||||
#include "expect_expr_xs.hpp"
|
||||
|
||||
namespace xo {
|
||||
namespace scm {
|
||||
|
|
@ -15,35 +16,6 @@ namespace xo {
|
|||
def_expr_{std::move(def_expr)}
|
||||
{}
|
||||
|
||||
#ifdef OBSOLETE
|
||||
bool
|
||||
define_xs::admits_definition() const
|
||||
{
|
||||
switch (defxs_type_) {
|
||||
|
||||
case defexprstatetype::def_0:
|
||||
case defexprstatetype::def_1:
|
||||
case defexprstatetype::def_2:
|
||||
case defexprstatetype::def_3:
|
||||
case defexprstatetype::def_4:
|
||||
case defexprstatetype::def_5:
|
||||
/* note for def_4:
|
||||
* rhs could certainly be a function body that contains
|
||||
* nested defines; but then immediately-enclosing-exprstate
|
||||
* would be a block
|
||||
*/
|
||||
return false;
|
||||
case defexprstatetype::invalid:
|
||||
case defexprstatetype::n_defexprstatetype:
|
||||
/* unreachable */
|
||||
assert(false);
|
||||
return false;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
|
||||
bool
|
||||
define_xs::admits_symbol() const {
|
||||
switch (defxs_type_) {
|
||||
|
|
@ -401,7 +373,7 @@ namespace xo {
|
|||
{
|
||||
this->defxs_type_ = defexprstatetype::def_4;
|
||||
|
||||
p_stack->push_exprstate(exprstate::expect_rhs_expression());
|
||||
p_stack->push_exprstate(expect_expr_xs::expect_rhs_expression());
|
||||
} else {
|
||||
assert(false);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue