X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?p=ginac.git;a=blobdiff_plain;f=ginsh%2Fginsh_lexer.ll;h=4194f94337af97e8ecfa155cee9c34a3c892ac61;hp=20cb329776d26d7dd92033f4a9bcaad12a8305bb;hb=f78b1f296310b5f1c01b74c9fb10dd33af2a8f4a;hpb=383d5eb3b0f0506810d9105a268f939125bfc347;ds=sidebyside diff --git a/ginsh/ginsh_lexer.ll b/ginsh/ginsh_lexer.ll index 20cb3297..4194f943 100644 --- a/ginsh/ginsh_lexer.ll +++ b/ginsh/ginsh_lexer.ll @@ -4,7 +4,7 @@ * This file must be processed with flex. */ /* - * GiNaC Copyright (C) 1999-2001 Johannes Gutenberg University Mainz, Germany + * GiNaC Copyright (C) 1999-2003 Johannes Gutenberg University Mainz, Germany * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -72,6 +72,8 @@ quit|exit return T_QUIT; warranty return T_WARRANTY; print return T_PRINT; iprint return T_IPRINT; +print_latex return T_PRINTLATEX; +print_csrc return T_PRINTCSRC; time return T_TIME; xyzzy return T_XYZZY; inventory return T_INVENTORY; @@ -85,13 +87,9 @@ score return T_SCORE; ">=" return T_GREATEREQ; /* last 1..3 expressions */ -\" return T_QUOTE; -\"\" return T_QUOTE2; -\"\"\" return T_QUOTE3; - - /* matrix delimiters */ -\[\[ return T_MATRIX_BEGIN; -\]\] return T_MATRIX_END; +\% return T_QUOTE; +\%\% return T_QUOTE2; +\%\%\% return T_QUOTE3; /* numbers */ {D}+ | @@ -113,6 +111,9 @@ score return T_SCORE; return T_SYMBOL; } + /* wildcards */ +\${D}+ yylval = wild(atoi(yytext + 1)); return T_LITERAL; + /* everything else */ . return *yytext; @@ -131,7 +132,11 @@ static char *line_ptr; static int ginsh_input(char *buf, int max_size) { int result; +#if defined(YY_CURRENT_BUFFER) + if (YY_CURRENT_BUFFER->yy_is_interactive) { +#else if (yy_current_buffer->yy_is_interactive) { +#endif #ifdef HAVE_LIBREADLINE // Do we need to read a new line? int actual;