ABCDEFGHIJKLMNOPQRSTUVWXYZAAABACADAEAFAGAHAI
1
下記の分類は右記ページに基づく
http://ezoeryou.github.io/cpp-book/C++11-Syntax-and-Feature.xhtml
(C++14拡張部分は右記参照)http://ezoeryou.github.io/cpp14-appendix/
2
意見記入欄
3
分類村井TNTXcodeML_CXX_1.1.docx (Mar 30, 2016) での状況XMLschemaテストClangAST で該当するもの正変換ツールでの実装状況テスト逆変換ツールでの実装状況テスト備考
4
2.5 コメント表現不可能 (<comment> 等を新設する必要がある)無し(SourceRangeで別途解析するしかない)対応方針検討中未対応
5
2.6 識別子7.2 Var,varAddr,arrayAddr, 7.12 functionCallNamedDecl, DeclarationNameInfofullNameの対応方針一部実装
6
2.8.1 整数リテラル7.1 intConstant, longlongConstantOK (longlongConstant は特別扱いしない)OK
7
2.8.2 浮動小数点リテラル7.1 floatConstantOK未対応
8
2.8.3 文字リテラル7.1 intConstant で扱う?詳細不明通常の文字リテラルのみ未対応
9
2.8.3.1 エスケープシーケンス詳細が書かれていない未対応
10
2.8.4 文字列リテラル7.1 stringConstant (通常の文字列リテラルのみ)一部実装
11
2.8.4.1 エンコード方式NG未対応
12
2.8.4.2 文字列リテラルの型の要素数要検討(特に考える必要はない?)-
13
2.8.4.3 生文字列リテラルNG未対応
14
2.8.5 boolリテラル7.1 booleanConstantOK
15
2.8.6 ポインタ―リテラル (nullptr)NG未対応
16
2.8.7 ユーザー定義リテラルNG取り扱い範囲外取り扱い範囲外
17
3.9.1 基本型3.1 データ型識別名OK
18
5.3.1 ::演算子2.2 fullName属性未対応
19
5.3.2 括弧式表現不可(意味が変わる場合に対応できない)一部実装
20
5.4 ラムダ式範囲外要確認取り扱い範囲外取り扱い範囲外
21
5.5.1 添え字7.4 arrayRefOK未対応
22
5.5.2 関数呼び出し7.12 functionCallOKOK
23
5.5.3 関数形式の明示的型変換NG未対応
24
5.5.4 疑似デストラクタ―呼び出しNG未対応
25
5.5.5 クラスメンバーアクセス要注意7.5 memberRef, memberAddr, etc (使い分けが怪しい)OK(左に同じ)未対応
26
5.5.6 インクリメントとデクリメント(後置)7.14 postIncrExpr, postDecrExprOK未対応
27
5.5.7 Dynamic cast7.16 dynamicCastOK未対応
28
5.5.8 型識別 (typeid)表現不可?未対応
29
5.5.9 Static cast7.16 staticCastOK未対応
30
5.5.10 Reinterpret cast7.16 reinterpretCastOK未対応
31
5.5.11 Const cast7.16 constCastOK未対応
32
5.6.1.1 *演算子と&演算子要注意7.4 pointerRef, 7.2 varAddr,arrayAddr (表現力不足)動作が怪しいOK
33
5.6.1.2 単項演算子の+と-7.11 unaryMinusExpr (単項+は表現不可)OK (現状のXcodeML仕様に対して)一部実装(-)
34
5.6.1.3 !演算子7.11 logNotExprOKOK
35
5.6.1.4 ~演算子7.11 bitNotExprOKOK
36
5.6.2 インクリメントとデクリメント(前置)7.14 preIncrExpr, preDecrExprOK未対応
37
5.6.3 sizeof7.14 sizeOfExpr動作が怪しいOK
38
5.6.4 new7.19 newExpr, newExprArray未対応未対応
39
5.6.5 delete7.20 deleteExpr, deleteExprArray未対応未対応
40
5.6.6 alignof7.11 alignOfExpr未対応未対応
41
5.6.7 noexcept演算子NG未対応未対応
42
5.7 キャスト形式による明示的型変換7.15 castExpr未対応
43
5.8 メンバーへのポインタ演算子7.6 memberPointer か?OK
44
5.9 乗除算の演算子7.10 mulExpr, divExpr, modExprOKOK
45
5.10 加減算の演算子7.10 plusExpr, minusExprOKOK
46
5.11 シフト演算子7.10 LshiftExpr, RshiftExprOK未対応
47
5.12 関係演算子7.10 log{GE,GT,LE,LT}ExprOK未対応
48
5.13 等価演算子7.10 logEQExpr, logNEQExprOK未対応
49
5.14 ビット列論理積演算子7.10 bitAndExprOK未対応
50
5.15 ビット列排他的論理和演算子7.10 bitXorExprOK未対応
51
5.16 ビット列論理和演算子7.10 bitOrExprOK未対応
52
5.17 論理積演算子7.10 logAndExprOK未対応
53
5.18 論理和演算子7.10 logOrExprOK未対応
54
5.19 条件演算子 (gcc拡張を含む)7.17 condExprOK一部実装(gcc拡張除く)
55
5.20 代入と複合代入演算子7.10 asg各種ExprOK一部実装(代入演算子)
56
5.21 コンマ演算子7.13 commaExpr未対応
57
5.22 定数式何か対応が必要かどうか要検討未対応
58
6.1 ラベル文6.15 statementLabel(ラベルを一つの文として扱う)OK (現状のXcodeML仕様に対して)未対応ラベル名が他の識別子とは別の名前空間を持つことに対応できているか?
59
6.2 式文6.1 exprStatement明示的には要素が無い(式そのもの)OKOK
60
6.3 複合文、ブロック6.2 compoundStatement (宣言は先頭のみ)OK (現状のXcodeML仕様に対して)OK
61
6.4.1 if文6.3 ifStatementissue #3 のバグ未対応
62
6.4.2 switch文6.16 switchStatementOK未対応
63
6.5.1 while文6.2 whileStatement (括弧内の宣言は表現不可)OK (現状のXcodeML仕様に対して)OK
64
6.5.2 do文6.5 doStatementOKOK
65
6.5.3 for文6.6 forStatement (括弧内の宣言は表現不可)怪しい一部実装(for内での宣言など未対応)
66
6.5.4 range-based for文6.7 rangeForStatement (表現力が十分かは未確認)未対応
67
6.5.5.1 break文6.8 breakStatementOK未対応
68
6.5.5.2 continue文6.9 continueStatementOK未対応
69
6.5.5.3 return文6.10 returnStatementOKOK
70
6.5.5.4 goto文(gcc拡張を含む)6.11 gotoStatementOK未対応
71
6.6 宣言文OK (複合文の先頭のdeclarationsの形で)一部実装
72
6.7 曖昧解決要注意-
73
7.1 単純宣言表現力が十分か要確認一部実装
74
7.2 static_assert宣言NG未対応
75
7.3.1.1 register指定子4.1 id要素のsclass="register"未対応
76
7.3.1.2 thread_local指定子4.1 id要素のsclass="thread_local"未対応
77
7.3.1.3 static指定子4.1 id要素のsclass="static"未対応
78
7.3.1.4 extern指定子4.1 id要素のsclass="extern", "extern_def" (使い分け不明)未対応
79
7.3.1.5 multable指定子NG未対応
80
7.3.2.1 inline指定子3.6 functionType要素のis_inlineか、 4.1のfspec属性か?未対応
81
7.3.2.2 virtual指定子3.3 にis_virtualと書いてあるがどう使うかよくわからない未対応
82
7.3.2.3 explicit指定子4.1 id要素のfspec属性にそれらしいことが書いてある未対応
83
7.3.3 typedef指定子4.1 id要素のsclass="typedef_name" でいいのだろうかOK
84
7.3.4 friend指定子4.1節と3.9節で要検討となっている未対応
85
7.3.5 constexpr指定子NG未対応
86
7.3.6.1 CV修飾子 (C限定のrestrict,staticも)4.1 id要素のis_{const,volatile,restrict,static} staticの[]の中身は?一部実装(restrict, メンバー変数のconstを除く)
87
7.3.6.2 単純型指定子3.1 データ型識別名 (このワークシートの17行目と重複?)一部実装
88
7.3.6.3 複雑型指定子3.8 unionType, 3.9 structTypeとclass, 3.10enumType あたり?未対応
89
7.3.6.4 auto指定子NG未対応
90
7.3.6.5 decltype指定子「decltypeを使った」という情報が消えて結果の型に解決されてよいなら対応不要未対応
91
7.4.1 unscoped enum3.10 enumType未対応
92
7.4.2 scoped enum3.10 enumType の name要素 でうまくいくのだろうか?未対応
93
7.4.3 enum基底NG未対応
94
7.4.4 enum宣言先行宣言は typeTable をどう復元するかという問題になる未対応
95
7.5.1.1 inline名前空間常にfullNameで用いる形に正規化するなら不要未対応
96
7.5.1.2 無名名前空間NG (ただし "(anonymous namespace)" という名前で扱うのならOK)未対応
97
7.5.1.3 名前空間のメンバーの定義NG (正規化をどうすべきかという話自体が未定義)未対応
98
7.5.2 名前空間エイリアス常にfullNameで用いる形に正規化するなら不要未対応
99
7.5.3 using宣言常にfullNameで用いる形に正規化するなら不要未対応
100
7.5.4 usingディレクティブ常にfullNameで用いる形に正規化するなら不要未対応