summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-rc/ResourceScriptTokenList.def
diff options
context:
space:
mode:
authorDavid Blaikie <dblaikie@gmail.com>2017-11-21 00:23:19 +0000
committerDavid Blaikie <dblaikie@gmail.com>2017-11-21 00:23:19 +0000
commitb961d29bfd17c9864f9a515f86571062b836b168 (patch)
tree4547aec284b1117775afe53f2aa0e26680a74a9e /llvm/tools/llvm-rc/ResourceScriptTokenList.def
parent62b076325a0f28b601e36fca84215afe948bb579 (diff)
downloadbcm5719-llvm-b961d29bfd17c9864f9a515f86571062b836b168.tar.gz
bcm5719-llvm-b961d29bfd17c9864f9a515f86571062b836b168.zip
llvm-rc/ResourceScriptTokenList.h: Turns this into a .def file to imply that it's non-modular
Also undef the macros at the end of the file to make it easier to use. llvm-svn: 318714
Diffstat (limited to 'llvm/tools/llvm-rc/ResourceScriptTokenList.def')
-rw-r--r--llvm/tools/llvm-rc/ResourceScriptTokenList.def40
1 files changed, 40 insertions, 0 deletions
diff --git a/llvm/tools/llvm-rc/ResourceScriptTokenList.def b/llvm/tools/llvm-rc/ResourceScriptTokenList.def
new file mode 100644
index 00000000000..085b728ff52
--- /dev/null
+++ b/llvm/tools/llvm-rc/ResourceScriptTokenList.def
@@ -0,0 +1,40 @@
+//===-- ResourceScriptTokenList.h -------------------------------*- C++-*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===---------------------------------------------------------------------===//
+//
+// This is a part of llvm-rc tokenizer. It lists all the possible tokens
+// that might occur in a correct .rc script.
+//
+//===---------------------------------------------------------------------===//
+
+
+// Long tokens. They might consist of more than one character.
+TOKEN(Invalid) // Invalid token. Should not occur in a valid script.
+TOKEN(Int) // Integer (decimal, octal or hexadecimal).
+TOKEN(String) // String value.
+TOKEN(Identifier) // Script identifier (resource name or type).
+TOKEN(LineComment) // Beginning of single-line comment.
+TOKEN(StartComment) // Beginning of multi-line comment.
+
+// Short tokens. They usually consist of exactly one character.
+// The definitions are of the form SHORT_TOKEN(TokenName, TokenChar).
+// TokenChar is the one-character token representation occuring in the correct
+// .rc scripts.
+SHORT_TOKEN(BlockBegin, '{') // Start of the script block; can also be BEGIN.
+SHORT_TOKEN(BlockEnd, '}') // End of the block; can also be END.
+SHORT_TOKEN(Comma, ',') // Comma - resource arguments separator.
+SHORT_TOKEN(Plus, '+') // Addition operator.
+SHORT_TOKEN(Minus, '-') // Subtraction operator.
+SHORT_TOKEN(Pipe, '|') // Bitwise-OR operator.
+SHORT_TOKEN(Amp, '&') // Bitwise-AND operator.
+SHORT_TOKEN(Tilde, '~') // Bitwise-NOT operator.
+SHORT_TOKEN(LeftParen, '(') // Left parenthesis in the script expressions.
+SHORT_TOKEN(RightParen, ')') // Right parenthesis.
+
+#undef TOKEN
+#undef SHORT_TOKEN
OpenPOWER on IntegriCloud