This repo is forked from srcSlice.
# Install dependencies
# See BUILD.md
# Hey don't forget --recursive option
$ git clone --recursive <repo>
$ cd <repo>
# Release build
$ sh build-release.sh
# Debug build
$ sh build-debug.sh
Recipe |
Description |
srcSlice |
Generate srcslice binary |
srcslicetest |
Generate srcslice's test binary |
(ex_srcslicetest) |
Used for partial test |
# Convert your source code using srcML first
# (Result would be sent as standard output)
$ srcSlice <source code covnerted by srcML>
{
"vars": "<Variable table (tab-delimited)>",
"funcs": "<Function table (tab-delimited)>",
"controls": "<Control table (tab-delimited)>"
}
カラム名 |
説明 |
id |
変数に一意に振られる ID |
file |
変数が宣言されたソースファイルのパス |
func |
変数が宣言された関数。グローバル変数の場合は__GLOBAL__ となる。 |
var |
変数名 |
def |
変数が代入された位置の集合 |
use |
変数が参照された位置の集合 |
dvars |
影響を与えた変数の集合。例えば y = x; のとき、 x の dvars は {y } である。 |
cfuncs |
引数として与えられた関数の集合 |
カラム名 |
説明 |
id |
関数に一意に振られる ID |
func_name |
関数名 |
kind |
関数の種類(user-defined のみ) |
file_path |
関数が宣言されたソースファイルのパス |
declare_range |
関数が宣言されている範囲 |
カラム名 |
説明 |
id |
If ブロックに一意に割り当てられる ID |
file |
If ブロックのあるソースファイルのパス |
control_range |
if ブロックの範囲。行番号で表される。 |
control_vars |
If 条件式の中で使用される変数の ID の集合 |
GPL (GNU General Public License)
This project is made for my graduation thesis.
See details