Changes between Version 13 and Version 14 of SemanticQuery


Ignore:
Timestamp:
Mar 19, 2012, 10:06:12 PM (13 years ago)
Author:
manualwiki
Comment:

extracting query components to new page QueryComponents?

Legend:

Unmodified
Added
Removed
Modified
  • SemanticQuery

    v13 v14  
     1= Related pages = 
     2 
     3This page describes how semantic queries are constructed. 
     4You may be looking for the following related pages. 
     5 
     6* [wiki:QueryComponents Available components]: lists the names of currently available initial selectors, selectors and properties and their possible abbreviations and synonyms. 
     7* [SemanticQuery/QueryExamples Examples]: basic and advanced query examples, and queries for checking coding conventions. 
     8 
     9 
    110= Querying syntactic and semantic information = 
    211 
     
    116125}}} 
    117126The result shown after this semantic query is the list of all possible call chains starting from a given function. 
    118  
    119 == Details of the language == 
    120  
    121 In this subsection, we list the names of initial selectors, selectors and properties and their possible abbreviations and synonyms. 
    122  
    123 ||||   '''Initial selectors'''   || 
    124 ||''Name'' ||''Synonyms'' || 
    125 ||{{{files}}}  || {{{-}}} || 
    126 ||{{{@file}}}  || {{{-}}} || 
    127 ||{{{modules}}}  || {{{mods}}} || 
    128 ||{{{@module}}}  || {{{@mod}}} || 
    129 ||{{{@function}}}  || {{{@fun}}} || 
    130 ||{{{@definition}}}  || {{{@def}}} || 
    131 ||{{{@expression}}}  || {{{@expr}}} || 
    132 ||{{{@variable}}}  || {{{@var}}} || 
    133 ||{{{@record}}}  || {{{@rec}}} || 
    134 ||{{{@recfield}}}  || {{{@field}}} || 
    135 ||{{{@macro}}}  || {{{-}}} || 
    136 \\ 
    137 ||||||||    [wiki:SemanticQuery/FileEntity File entity]    || 
    138 ||||    '''Selectors'''    ||||    '''Properties'''    || 
    139 ||''Name'' ||''Synonyms'' ||''Name''  ||''Synonyms'' || 
    140 ||{{{function}}}  || {{{functions, fun, funs}}} || {{{module}}}  || {{{is_module, mod, is_mod}}}  || 
    141 ||{{{record}}}  || {{{records, rec, recs}}} || {{{header}}}  || {{{is_header}}} || 
    142 ||{{{macro}}}  || {{{macros}}} || {{{name}}}  || {{{-}}} || 
    143 ||{{{includes}}}  || {{{-}}} || {{{directory}}}  || {{{dir}}} || 
    144 ||{{{included_by}}}  || {{{-}}} || {{{path}}}  || {{{-}}} || 
    145 ||{{{imports}}}  || {{{-}}} || ||  || 
    146 ||{{{exports}}}  || {{{-}}} || ||  || 
    147 \\ 
    148 ||||||||    [wiki:SemanticQuery/FunctionEntity Function entity]    || 
    149 ||||    '''Selectors'''   |||| '''Properties'''   || 
    150 ||''Name'' || ''Synonyms'' || ''Name''  || ''Synonyms'' || 
    151 ||{{{references}}}  || {{{refs, ref, reference}}} || {{{exported}}}  || {{{-}}} || 
    152 ||{{{calls}}}  || {{{-}}} || {{{name}}}  || {{{-}}} || 
    153 ||{{{called_by}}}  || {{{-}}} || {{{arity}}}  || {{{-}}} || 
    154 ||{{{arguments}}}  || {{{args}}} || {{{bif}}}  || {{{-}}} || 
    155 ||{{{body}}}  || {{{-}}} || {{{pure}}}  || {{{-}}} || 
    156 ||{{{expressions}}}  || {{{exprs, expr, expression}}} || {{{defined}}}  || {{{-}}} || 
    157 ||{{{variables}}}  || {{{vars, var, variable}}} || {{{module}}}  || {{{mod}}}  
    158 ||{{{file}}}  || {{{-}}} || {{{dirty}}} || {{{-}}}  || 
    159 ||{{{dynamic_calls}}}  || {{{dynref, dynrefs}}} || {{{spec}}} || {{{-}}}  || 
    160 ||{{{dynamic_calls}}}  || {{{dyncall, dyncalls}}} ||  ||  || 
    161 ||{{{dynamic_called_by}}}  || {{{dyncalled_by}}} ||  ||  || 
    162 \\ 
    163 ||||||||   [wiki:SemanticQuery/ExpressionEntity Expression entity]    || 
    164 ||||    '''Selectors'''    ||||    '''Properties'''    || 
    165 ||''Name'' ||''Synonyms'' ||''Name''  ||''Synonyms'' || 
    166 ||{{{fundef}}}  || {{{-}}} || {{{type}}}  || {{{-}}} || 
    167 ||{{{functions}}}  || {{{function, fun, funs}}} || {{{value}}}  || {{{val}}} || 
    168 ||{{{variables}}}  || {{{vars, var, variable}}} || {{{class}}}  || {{{-}}} || 
    169 ||{{{records}}}  || {{{record,  rec, recs}}} || {{{last}}}  || {{{is_last}}} || 
    170 ||{{{macro}}}  || {{{macros}}} || {{{index}}}  || {{{-}}} || 
    171 ||{{{subexpression}}}  || {{{sub, esub, subexpr}}} || {{{tailcall}}}  || {{{is_tailcall}}} || 
    172 ||{{{parameter}}}  || {{{param}}} || {{{has_side_effect}}} || {{{dirty}}} || 
    173 ||{{{top_expression}}}  || {{{top, top_expr}}} || ||  || 
    174 ||{{{file}}}  || {{{-}}} || ||  || 
    175 ||{{{dynamic_ functions}}}  || {{{dynfun, dynfuns}}} || ||  || 
    176 \\ 
    177 ||||||||    [wiki:SemanticQuery/VariableEntity Variable entity]    || 
    178 ||||    '''Selectors'''   |||| '''Properties'''   || 
    179 ||''Name'' || ''Synonyms'' || ''Name''  || ''Synonyms'' || 
    180 ||{{{references}}}  || {{{refs, ref, reference}}} || {{{name}}}  || {{{-}}} || 
    181 ||{{{bindings}}}  || {{{-}}} || ||  || 
    182 ||{{{fundef}}}  || {{{-}}} || ||  || 
    183 \\ 
    184 ||||||||    [wiki:SemanticQuery/RecordEntity Record entity]    || 
    185 ||||    '''Selectors'''    ||||    '''Properties'''    || 
    186 ||''Name'' ||''Synonyms'' ||''Name''  ||''Synonyms'' || 
    187 ||{{{references}}}  || {{{refs, ref, reference}}} || {{{name}}}  || {{{-}}} || 
    188 ||{{{fields}}}  || {{{-}}} || ||  || 
    189 ||{{{file}}}  || {{{-}}} || ||  || 
    190 \\ 
    191 ||||||||    [wiki:SemanticQuery/RecordFieldEntity Record field entity]    || 
    192 ||||    '''Selectors'''    ||||    '''Properties'''    || 
    193 ||''Name'' ||''Synonyms'' ||''Name''  ||''Synonyms'' || 
    194 ||{{{references}}}  || {{{refs, ref, reference}}} || {{{name}}}  || {{{-}}} || 
    195 ||{{{record}}}  || {{{rec}}} || ||  || 
    196 ||{{{file}}}  || {{{-}}} || ||  || 
    197 \\ 
    198 ||||||||   [wiki:SemanticQuery/MacroEntity Macro entity]    || 
    199 ||||    '''Selectors'''    ||||    '''Properties'''    || 
    200 ||''Name'' ||''Synonyms'' ||''Name''  ||''Synonyms'' || 
    201 ||{{{references}}}  || {{{refs, ref, reference}}} || {{{name}}}  || {{{-}}} || 
    202 ||{{{file}}}  || {{{-}}} ||  {{{arity}}}  || {{{-}}} || 
    203 ||  ||  || {{{const}}}  || {{{-}}} || 
    204 \\ 
    205 ||||||||    '''Metrics for files and functions (as properties)'''    || 
    206 ||''Name'' || ''Synonyms'' || ''File'' || ''Function'' || 
    207 ||[wiki:MetricQuery#module_sum module_sum]  || {{{mod_sum}}}  || ok || - || 
    208 ||[wiki:MetricQuery#function_sum function_sum]  || {{{fun_sum}}}  || - || ok || 
    209 ||[wiki:MetricQuery#line_of_code line_of_code]  || {{{loc}}}  || ok || ok || 
    210 ||[wiki:MetricQuery#char_of_code char_of_code]  || {{{choc}}}  || ok || ok || 
    211 ||[wiki:MetricQuery#number_of_fun number_of_fun]  || {{{num_of_fun, num_of_functions, number_of_functions}}}  || ok || - || 
    212 ||[wiki:MetricQuery#number_of_macros number_of_macros]  || {{{num_of_macros, num_of_macr}}}  || ok || - || 
    213 ||[wiki:MetricQuery#number_of_records number_of_records]  || {{{num_of_records, num_of_rec}}}  || ok || - || 
    214 ||[wiki:MetricQuery#included_files included_files]  || {{{inc_files}}}  || ok || - || 
    215 ||[wiki:MetricQuery#imported_modules imported_modules]  || {{{imp_modules, imported_mod, imp_mod}}}  || ok || - || 
    216 ||[wiki:MetricQuery#number_of_funpath number_of_funpath] || {{{number_of_funpaths, num_of_funpath, num_of_funpaths}}}  || ok || - || 
    217 ||[wiki:MetricQuery#function_calls_in function_calls_in]  || {{{fun_calls_in}}}  || ok || - || 
    218 ||[wiki:MetricQuery#function_calls_out function_calls_out]  || {{{fun_calls_out}}}  || ok || - || 
    219 ||[wiki:MetricQuery#calls_for_function calls_for_function]  || {{{calls_for_fun, call_for_function, call_for_fun}}}  || - || ok || 
    220 ||[wiki:MetricQuery#calls_from_function calls_from_function] || {{{calls_from_fun, call_from_function, call_from_fun}}}  || - || ok || 
    221 ||[wiki:MetricQuery#cohesion cohesion]  || {{{coh}}}  || ok || - || 
    222 ||[wiki:MetricQuery#otp_used otp_used]  || {{{otp}}}  || ok || - || 
    223 ||{{{max_application_depth}}}  || {{{max_app_depth}}}  || ok || ok || 
    224 ||[wiki:MetricQuery#max_depth_of_calling max_depth_of_calling]  || {{{max_depth_calling, max_depth_of_call, max_depth_call}}}  || ok || ok || 
    225 ||{{{min_depth_of_calling}}}  || {{{min_depth_calling, min_depth_of_call, min_depth_call}}}  || ok || - || 
    226 ||[wiki:MetricQuery#max_depth_of_cases max_depth_of_cases]  || {{{max_depth_cases}}}  || ok || ok || 
    227 ||[wiki:MetricQuery#max_depth_of_structs max_depth_of_structs] || {{{-}}} || ok || ok || 
    228 ||[wiki:MetricQuery#number_of_funclauses number_of_funclauses]  || {{{num_of_funclauses, number_of_funclaus, num_of_funclaus}}}  || ok || ok || 
    229 ||[wiki:MetricQuery#branches_of_recursion branches_of_recursion] || {{{branches_of_rec, branch_of_recursion, branch_of_rec}}}  || ok || ok || 
    230 ||[wiki:MetricQuery#mcCabe mcCabe]  || {{{mccabe}}}  || ok || ok || 
    231 ||[wiki:MetricQuery#number_of_funexpr number_of_funexpr] || {{{num_of_funexpr}}}  || ok || ok || 
    232 ||[wiki:MetricQuery#number_of_messpass number_of_messpass]  || {{{num_of_messpass}}}  || ok || ok || 
    233 ||[wiki:MetricQuery#fun_return_points fun_return_points]  || {{{fun_return_point, function_return_points, function_return_point}}}  || ok || ok || 
    234 ||[wiki:MetricQuery#max_length_of_line max_length_of_line]  || {{{-}}}  || ok || ok || 
    235 ||[wiki:MetricQuery#average_length_of_line average_length_of_line] || {{{avg_length_of_line}}}  || ok || ok || 
    236 ||[wiki:MetricQuery#no_space_after_comma no_space_after_comma]  || {{{-}}}  || ok || ok || 
    237 ||[wiki:MetricQuery#is_tail_recursive is_tail_recursive]  || {{{-}}}  || - || ok || 
    238 \\ 
    239 ||||    '''Statistics'''    || 
    240 || ''Name'' || ''Synonyms'' || 
    241 ||{{{minimum}}}  || {{{min}}} || 
    242 ||{{{maximum}}}  || {{{max}}} || 
    243 ||{{{sum}}}  || {{{-}}} || 
    244 ||{{{mean}}}  || {{{average, avg}}} || 
    245 ||{{{median}}}  || {{{med}}} || 
    246 ||{{{variance}}}  || {{{var}}} || 
    247 ||{{{standard_deviation}}}  || {{{sd}}} || 
    248  
    249 == Examples == 
    250 Some basic and advanced query example, and queries for checking coding conventions can be found [SemanticQuery/QueryExamples here]. 
    251  
    252