]> www.ginac.de Git - ginac.git/blobdiff - ginac/parser/lexer.cpp
Allow underscores in identifiers.
[ginac.git] / ginac / parser / lexer.cpp
index 050c85f73454a865750932297b0d0885a1bb934f..cc3be3d91768c1f930b89bd71b12ca8a0672e410 100644 (file)
@@ -26,6 +26,7 @@
 #include <iostream>
 #include <sstream>
 #include <string>
+#include <cstdio>
 
 namespace GiNaC {
 
@@ -42,12 +43,12 @@ int lexer::gettok()
        // Skip any whitespace.
        c = skipspace(input, c, line_num);
 
-       // identifier: [a-zA-Z][a-zA-Z0-9]*
+       // identifier: [a-zA-Z][a-zA-Z0-9_]*
        if (isalpha(c)) { 
                str = c;
                do {
                        c = input->get();
-                       if (isalnum(c))
+                       if ( isalnum(c) || c=='_' )
                                str += c;
                        else
                                break;