ResourceScriptTokenList.def 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. //===-- ResourceScriptTokenList.h -------------------------------*- C++-*-===//
  2. //
  3. // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  4. // See https://llvm.org/LICENSE.txt for license information.
  5. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  6. //
  7. //===---------------------------------------------------------------------===//
  8. //
  9. // This is a part of llvm-rc tokenizer. It lists all the possible tokens
  10. // that might occur in a correct .rc script.
  11. //
  12. //===---------------------------------------------------------------------===//
  13. // Long tokens. They might consist of more than one character.
  14. TOKEN(Invalid) // Invalid token. Should not occur in a valid script.
  15. TOKEN(Int) // Integer (decimal, octal or hexadecimal).
  16. TOKEN(String) // String value.
  17. TOKEN(Identifier) // Script identifier (resource name or type).
  18. TOKEN(LineComment) // Beginning of single-line comment.
  19. TOKEN(StartComment) // Beginning of multi-line comment.
  20. // Short tokens. They usually consist of exactly one character.
  21. // The definitions are of the form SHORT_TOKEN(TokenName, TokenChar).
  22. // TokenChar is the one-character token representation occuring in the correct
  23. // .rc scripts.
  24. SHORT_TOKEN(BlockBegin, '{') // Start of the script block; can also be BEGIN.
  25. SHORT_TOKEN(BlockEnd, '}') // End of the block; can also be END.
  26. SHORT_TOKEN(Comma, ',') // Comma - resource arguments separator.
  27. SHORT_TOKEN(Plus, '+') // Addition operator.
  28. SHORT_TOKEN(Minus, '-') // Subtraction operator.
  29. SHORT_TOKEN(Pipe, '|') // Bitwise-OR operator.
  30. SHORT_TOKEN(Amp, '&') // Bitwise-AND operator.
  31. SHORT_TOKEN(Tilde, '~') // Bitwise-NOT operator.
  32. SHORT_TOKEN(LeftParen, '(') // Left parenthesis in the script expressions.
  33. SHORT_TOKEN(RightParen, ')') // Right parenthesis.
  34. #undef TOKEN
  35. #undef SHORT_TOKEN