diff options
author | Reid Spencer <rspencer@reidspencer.com> | 2006-11-30 16:50:26 +0000 |
---|---|---|
committer | Reid Spencer <rspencer@reidspencer.com> | 2006-11-30 16:50:26 +0000 |
commit | 96839be87f630c4cc14e0fa1778db1bd0cca82bf (patch) | |
tree | 8419b9bd068e37891df44fe7a372f65934219b7b /tools/llvm-upgrade/UpgradeLexer.l.cvs | |
parent | 56918c82dea63c801667efeba5cb8ffd24f07387 (diff) | |
download | llvm-96839be87f630c4cc14e0fa1778db1bd0cca82bf.tar.gz llvm-96839be87f630c4cc14e0fa1778db1bd0cca82bf.tar.bz2 llvm-96839be87f630c4cc14e0fa1778db1bd0cca82bf.tar.xz |
Allow llvm-upgrade to read from stdin. Configure the lexer for reading
from C++ std::istream.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32041 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/llvm-upgrade/UpgradeLexer.l.cvs')
-rw-r--r-- | tools/llvm-upgrade/UpgradeLexer.l.cvs | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/tools/llvm-upgrade/UpgradeLexer.l.cvs b/tools/llvm-upgrade/UpgradeLexer.l.cvs index 08dfd8f335..6822907606 100644 --- a/tools/llvm-upgrade/UpgradeLexer.l.cvs +++ b/tools/llvm-upgrade/UpgradeLexer.l.cvs @@ -1,13 +1,13 @@ -/*===-- Lexer.l - Scanner for llvm assembly files --------------*- C++ -*--===// +/*===-- UpgradeLexer.l - Scanner for 1.9 assembly files --------*- C++ -*--===// // // The LLVM Compiler Infrastructure // -// This file was developed by the LLVM research group and is distributed under -// the University of Illinois Open Source License. See LICENSE.TXT for details. +// This file was developed by Reid Spencer and is distributed under the +// University of Illinois Open Source License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // -// This file implements the flex scanner for LLVM assembly languages files. +// This file implements the flex scanner for LLVM 1.9 assembly languages files. // //===----------------------------------------------------------------------===*/ @@ -32,16 +32,23 @@ #include <cctype> #include <cstdlib> -void set_scan_bytes (const char * str, size_t len) { - Upgrade_scan_bytes (str, len); -} - static void trim(std::string& str) { size_t startpos = str.find_first_not_of(" \t\n\r",0); if (startpos != std::string::npos) str.erase(0,startpos); } +#define YY_INPUT(buf,result,max_size) \ +{ \ + if (LexInput->good() && !LexInput->eof()) { \ + LexInput->read(buf,max_size); \ + result = LexInput->gcount(); \ + } else {\ + result = YY_NULL; \ + } \ +} + + // Construct a token value for a non-obsolete token #define RET_TOK(sym) \ Upgradelval = new std::string(yytext); \ |