LLVM  3.7.0
LLToken.h
Go to the documentation of this file.
1 //===- LLToken.h - Token Codes for LLVM Assembly Files ----------*- C++ -*-===//
2 //
3 // The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 //
10 // This file defines the enums for the .ll lexer.
11 //
12 //===----------------------------------------------------------------------===//
13 
14 #ifndef LLVM_LIB_ASMPARSER_LLTOKEN_H
15 #define LLVM_LIB_ASMPARSER_LLTOKEN_H
16 
17 namespace llvm {
18 namespace lltok {
19  enum Kind {
20  // Markers
22 
23  // Tokens with no info.
24  dotdotdot, // ...
25  equal, comma, // = ,
26  star, // *
27  lsquare, rsquare, // [ ]
28  lbrace, rbrace, // { }
29  less, greater, // < >
30  lparen, rparen, // ( )
31  exclaim, // !
32  bar, // |
33 
38 
42  kw_weak, // Used as a linkage, and a modifier for "cmpxchg".
59  kw_deplibs, // FIXME: Remove in 4.0
87 
99 
100  // Attributes:
145 
148 
150 
151  // Comdat types
157 
161 
162  // atomicrmw operations that aren't also instruction keywords.
164 
165  // Instruction Opcodes (Opcode in UIntVal).
170 
176 
178 
181 
184 
187 
188  // Metadata types.
190 
191  // Use-list order directives.
193 
194  // Unsigned Valued tokens (UIntVal).
195  GlobalID, // @42
196  LocalVarID, // %42
197  AttrGrpID, // #42
198 
199  // String valued tokens (StrVal).
200  LabelStr, // foo:
201  GlobalVar, // @foo @"foo"
202  ComdatVar, // $foo
203  LocalVar, // %foo %"foo"
204  MetadataVar, // !foo
205  StringConstant, // "foo"
206  DwarfTag, // DW_TAG_foo
207  DwarfAttEncoding, // DW_ATE_foo
208  DwarfVirtuality, // DW_VIRTUALITY_foo
209  DwarfLang, // DW_LANG_foo
210  DwarfOp, // DW_OP_foo
211  DIFlag, // DIFlagFoo
212 
213  // Type valued tokens (TyVal).
215 
216  APFloat, // APFloatVal
217  APSInt // APSInt
218  };
219 } // end namespace lltok
220 } // end namespace llvm
221 
222 #endif