wiki:Completed Clang Language Constructs

I excluded Objective C and C++ constructs from these lists. Some constructs do not appear in the referenced documents, such as IntegerLiterals. So constructs will be added to these lists as necessary. Also, I've included other elements that we probably won't be using, such as the AsmStmt. We can prune as we go along.

Stmt

  • Asm
  • Break
  • Compound
  • Continue
  • Decl
  • Do
    • To be incorporated in schema:
      • "dsn:DoStatementNode"
      • "dsn:DoCond"
      • "dsn:DoBody"
  • Expr (See below)
  • For
    • To be incorporated in schema:
      • "fsn:ForStatementNode"
      • "fsn:ForInit"
      • "fsn:ForInc"
      • "fsn:ForCond"
      • "fsn:ForBody"
  • Goto
  • If
    • To be incorporated in schema:
      • "isn:IfStatementNode"
      • "isn:IfCond"
      • "isn:IfThen"
      • "isn:IfElse"
  • IndirectGoto.
  • Label
  • Null
  • Return
  • SwitchCase.
  • Switch
  • While
    • To be incorporated in schema:
      • "wsn:WhileStatementNode"
      • "wsn:WhileCond"
      • "wsn:WhileBody"

Expr

  • AddrLabelExpr
  • ArraySubscriptExpr
  • ArrayTypeTraitExpr
  • BinaryOperator
  • BinaryTypeTraitExpr
  • BinAssign
  • !BinEQ
  • BlockDeclRefExpr
  • BlockExpr
  • CallExpr
  • CastExpr
  • CharacterLiteral
  • IntegerLiteral
  • ChooseExpr
  • CompoundLiteralExpr
  • ConditionalOperator
  • DeclRefExpr

Decl

  • BlockDecl
  • TranslationUnitDecl
  • LabelDecl
  • EnumDecl
  • TypedefDecl
  • FunctionDecl
  • ParmVarDecl
  • VarDecl
  • EnumConstantDecl

Type

  • ~~ArrayType
  • AttributedType
  • BlockPointerType
  • BuiltinType
    • Void
    • Bool
    • Char_U
    • UChar
    • WChar_U
    • Char16
    • Char32
    • UShort
    • UInt
    • ULong
    • ULongLong
    • UInt128
    • Char_S
    • SChar
    • WChar_S
    • Short
    • Int
    • Long
    • LongLong
    • Int128
    • Float
    • Double
      • "dtn:DoubleTypeNode"
    • LongDouble
    • NullPtr
  • ComplexType
  • DeclType
  • FunctionType
  • PointerType
  • ReferenceType
  • TagType
  • TypedefType

Other

  • Pragmas
    • "prn:PragmaNode'
    • "pragma"
  • ~~NamedLiteral
    • "iln:NamedLiteral"
    • "name"

References:

Last modified 15 years ago Last modified on 11/02/11 15:20:52
Note: See TracWiki for help on using the wiki.