bool check_column_name(Token_stream& ts) {
Token t = ts.get();
if(t.kind == '(') {
while(t.kind != ')') {
t = ts.get();
if(t.kind == 'a' || t.kind == '0') {
string column_names = "";
while(t.kind != ' ' && t.kind != ')') {
column_names += t.value;
t = ts.get();
}
cout << column_names << endl;
}
}
return true;
}
}
これを解析する必要があります
(Column_name1 VARCHAR[20]、Column_name2 VARCHAR[8]、Column_name3 INTEGER);
上記の行を解析して Create() 関数を呼び出してテーブルを作成する必要があります。その行を解析した後、列名がどうなるか、テーブルにいくつの列があり、各列の型が何であるかを知ることができます。たとえば、最初の列の名前は「Column_name1」で、そのタイプは「VARCHAR」で、文字列になります。私のコードは (column_name1 Column_nam2) を解析できますが、それは私が望むものではありません。行を解析したい (Column_name1 VARCHAR[20], Column_name2 VARCHAR[8], Column_name3 INTEGER);.