Stopped printing useless stuff.
This commit is contained in:
parent
02017854db
commit
347a98bd70
1
main.cpp
1
main.cpp
|
@ -14,6 +14,7 @@ main(){
|
||||||
struct token *end = parser.parse_tokens();
|
struct token *end = parser.parse_tokens();
|
||||||
std::cout << "\n-----------------------\n";
|
std::cout << "\n-----------------------\n";
|
||||||
std::cout << "EVALUATING RESULTING TREE:\n";
|
std::cout << "EVALUATING RESULTING TREE:\n";
|
||||||
|
std::cout << str_token(*end);
|
||||||
inter.evalSTM(*end);
|
inter.evalSTM(*end);
|
||||||
// free_tree(end);
|
// free_tree(end);
|
||||||
return 1;
|
return 1;
|
||||||
|
|
19
parser.cpp
19
parser.cpp
|
@ -13,7 +13,6 @@ parser::parse_tokens() {
|
||||||
//_stack.push(tok);
|
//_stack.push(tok);
|
||||||
switch (_stack.top()->tok_type) {
|
switch (_stack.top()->tok_type) {
|
||||||
case token::TOK_ID:
|
case token::TOK_ID:
|
||||||
std::cout << "STATEMENT\n";
|
|
||||||
statement();
|
statement();
|
||||||
break;
|
break;
|
||||||
case token::STM_COMPOUND:
|
case token::STM_COMPOUND:
|
||||||
|
@ -43,10 +42,10 @@ parser::reduce() {
|
||||||
if(_stack.size() == 1) return;
|
if(_stack.size() == 1) return;
|
||||||
struct token *tok = pop();
|
struct token *tok = pop();
|
||||||
|
|
||||||
std::cout << str_token(*tok) << " ";
|
// std::cout << str_token(*tok) << " ";
|
||||||
switch (tok->tok_type) {
|
switch (tok->tok_type) {
|
||||||
case token::TOK_NUM:
|
case token::TOK_NUM:
|
||||||
std::cout << "reduzco numero\n";
|
// std::cout << "reduzco numero\n";
|
||||||
reduce_num(tok);
|
reduce_num(tok);
|
||||||
// reduce();
|
// reduce();
|
||||||
break;
|
break;
|
||||||
|
@ -83,7 +82,7 @@ parser::reduce_stm(struct token *stm) {
|
||||||
tmp->rvalue = stm;
|
tmp->rvalue = stm;
|
||||||
tmp->lvalue = tok;
|
tmp->lvalue = tok;
|
||||||
push(tmp);
|
push(tmp);
|
||||||
std::cout << "CHAD STM REDUCER " << str_token(*tmp);
|
// std::cout << "CHAD STM REDUCER " << str_token(*tmp);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
err();
|
err();
|
||||||
|
@ -109,15 +108,15 @@ parser::reduce_num(struct token *num) {
|
||||||
|
|
||||||
void
|
void
|
||||||
parser::reduce_exp(struct token *exp) {
|
parser::reduce_exp(struct token *exp) {
|
||||||
std::cout << "reducing exp: " << str_token(*exp) << "\n";
|
// std::cout << "reducing exp: " << str_token(*exp) << "\n";
|
||||||
struct token *modifier = pop();
|
struct token *modifier = pop();
|
||||||
struct token *tmp;
|
struct token *tmp;
|
||||||
struct token *stm;
|
struct token *stm;
|
||||||
switch (modifier->tok_type) {
|
switch (modifier->tok_type) {
|
||||||
case token::TOK_ASSIGN:
|
case token::TOK_ASSIGN:
|
||||||
std::cout << "assign found\n";
|
// std::cout << "assign found\n";
|
||||||
if(_stack.top()->tok_type != token::TOK_ID) err();
|
if(_stack.top()->tok_type != token::TOK_ID) err();
|
||||||
std::cout << str_token(*_stack.top()) << "\n";
|
// std::cout << str_token(*_stack.top()) << "\n";
|
||||||
stm = new struct token;
|
stm = new struct token;
|
||||||
stm->tok_type = token::STM_ASSIGN;
|
stm->tok_type = token::STM_ASSIGN;
|
||||||
stm->rvalue = exp;
|
stm->rvalue = exp;
|
||||||
|
@ -167,7 +166,7 @@ void
|
||||||
parser::expression() {
|
parser::expression() {
|
||||||
_stack.push(_tokens[pos]);
|
_stack.push(_tokens[pos]);
|
||||||
pos++;
|
pos++;
|
||||||
std::cout << "POS: " << pos << '\n';
|
// std::cout << "POS: " << pos << '\n';
|
||||||
switch (_stack.top()->tok_type) {
|
switch (_stack.top()->tok_type) {
|
||||||
// case token::EXP_NUMBER:
|
// case token::EXP_NUMBER:
|
||||||
// case token::EXP_ID:
|
// case token::EXP_ID:
|
||||||
|
@ -176,14 +175,14 @@ parser::expression() {
|
||||||
expression();
|
expression();
|
||||||
break;
|
break;
|
||||||
case token::EXP_OPERATION:
|
case token::EXP_OPERATION:
|
||||||
std::cout << "Nested operations not supported\n";
|
// std::cout << "Nested operations not supported\n";
|
||||||
err();
|
err();
|
||||||
break;
|
break;
|
||||||
case token::TOK_OP:
|
case token::TOK_OP:
|
||||||
expression();
|
expression();
|
||||||
break;
|
break;
|
||||||
case token::TOK_SEMI:
|
case token::TOK_SEMI:
|
||||||
std::cout << "REDUCE\n";
|
// std::cout << "REDUCE\n";
|
||||||
reduce();
|
reduce();
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|
|
@ -47,7 +47,7 @@ str_token(struct token tok){
|
||||||
case token::STM_ASSIGN:
|
case token::STM_ASSIGN:
|
||||||
return "STM_ASSIGN( " + tok.value + ", " + str_token(*tok.rvalue) + ")";
|
return "STM_ASSIGN( " + tok.value + ", " + str_token(*tok.rvalue) + ")";
|
||||||
case token::STM_COMPOUND:
|
case token::STM_COMPOUND:
|
||||||
return "STM_COMPOUND( " + str_token(*tok.lvalue) + ", " + str_token(*tok.rvalue) + ")";
|
return "STM_COMPOUND< " + str_token(*tok.lvalue) + ", " + str_token(*tok.rvalue) + ">";
|
||||||
case token::EXP_NUMBER:
|
case token::EXP_NUMBER:
|
||||||
return "EXP_NUMBER(" + tok.value + ")";
|
return "EXP_NUMBER(" + tok.value + ")";
|
||||||
case token::EXP_OPERATION:
|
case token::EXP_OPERATION:
|
||||||
|
|
Loading…
Reference in New Issue