summaryrefslogtreecommitdiff
path: root/tools/llvm-upgrade/UpgradeLexer.l.cvs
diff options
context:
space:
mode:
authorReid Spencer <rspencer@reidspencer.com>2006-11-30 16:50:26 +0000
committerReid Spencer <rspencer@reidspencer.com>2006-11-30 16:50:26 +0000
commit96839be87f630c4cc14e0fa1778db1bd0cca82bf (patch)
tree8419b9bd068e37891df44fe7a372f65934219b7b /tools/llvm-upgrade/UpgradeLexer.l.cvs
parent56918c82dea63c801667efeba5cb8ffd24f07387 (diff)
downloadllvm-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.cvs23
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); \