]> www.ginac.de Git - ginac.git/blobdiff - ginac/input_parser.yy
adapted to change symbol::getname() -> symbol::get_name()
[ginac.git] / ginac / input_parser.yy
index 561b0693ed3038d25cc827ca2775181d3e145157..1685c796fec666086f8d44cf8687c91092cd43de 100644 (file)
@@ -91,12 +91,12 @@ exp : T_NUMBER              {$$ = $1;}
                if (is_lexer_symbol_predefined($1))
                        $$ = $1.eval();
                else
-                       throw (std::runtime_error("unknown symbol '" + ex_to_symbol($1).getname() + "'"));
+                       throw (std::runtime_error("unknown symbol '" + ex_to_symbol($1).get_name() + "'"));
        }
        | T_LITERAL             {$$ = $1;}
        | T_DIGITS              {$$ = $1;}
        | T_SYMBOL '(' exprseq ')' {
-               unsigned i = function::find_function(ex_to_symbol($1).getname(), $3.nops());
+               unsigned i = function::find_function(ex_to_symbol($1).get_name(), $3.nops());
                $$ = function(i, static_cast<const exprseq &>(*($3.bp))).eval(1);
        }
        | exp T_EQUAL exp       {$$ = $1 == $3;}
@@ -109,14 +109,13 @@ exp       : T_NUMBER              {$$ = $1;}
        | exp '-' exp           {$$ = $1 - $3;}
        | exp '*' exp           {$$ = $1 * $3;}
        | exp '/' exp           {$$ = $1 / $3;}
-       | exp '%' exp           {$$ = $1 % $3;}
        | '-' exp %prec NEG     {$$ = -$2;}
        | '+' exp %prec NEG     {$$ = $2;}
        | exp '^' exp           {$$ = pow($1, $3);}
        | exp '!'               {$$ = factorial($1);}
        | '(' exp ')'           {$$ = $2;}
        | '[' list_or_empty ']' {$$ = $2;}
-       | T_MATRIX_BEGIN matrix T_MATRIX_END    {$$ = lst_to_matrix($2);}
+       | T_MATRIX_BEGIN matrix T_MATRIX_END    {$$ = lst_to_matrix(ex_to_lst($2));}
        ;
 
 exprseq        : exp                   {$$ = exprseq($1);}
@@ -161,4 +160,5 @@ using GiNaC::parser_error;
 int ginac_yyerror(char *s)
 {
        parser_error = std::string(s) + " at " + std::string(ginac_yytext);
+       return 0;
 }