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