我在python3中使用stanford依赖解析器来解析一个句子,它返回一个依赖图.
import pickle
from nltk.parse.stanford import StanfordDependencyParser
parser = StanfordDependencyParser('stanford-parser-full-2015-12-09/stanford-parser.jar', 'stanford-parser-full-2015-12-09/stanford-parser-3.6.0-models.jar')
sentences = ["I am going there","I am asking a question"]
with open("save.p","wb") as f:
pickle.dump(parser.raw_parse_sents(sentences),f)
Run Code Online (Sandbox Code Playgroud)
它给出了一个错误:
AttributeError: Can't pickle local object 'DependencyGraph.__init__.<locals>.<lambda>'
Run Code Online (Sandbox Code Playgroud)
我想知道是否可以使用或不使用pickle保存依赖图.
如果我使用:
架构 - >生成依赖关系图 - >按类
它为整个解决方案生成图表.
有没有办法让VS只为某个项目的类生成依赖图?
我尝试仅为某个项目生成Architecture Explorer -> Create a new graph document from all the selected nodes(使用和不使用ctrl)但它只生成它们之间没有连接的类或连接到命名空间的类.
谢谢你的帮助!
在JavaScript中,是否可以获取由另一个函数调用的所有函数的列表?我想创建一个函数依赖树,分析脚本中的函数如何相互关联(以及哪些函数需要哪些函数).
例如:
getAllCalledFunctions(funcA); //this should return [funcB, funcC, funcD], since these are the functions that are required by funcA.
function getAllCalledFunctions(functionName){
//how should I implement this?
}
function funcA(){
funcB();
funcC();
}
function funcB(){
funcD();
}
function funcC(){
funcD();
}
function funcD(){
console.log("This function is called by funcC and funcD");
}
Run Code Online (Sandbox Code Playgroud) 当您考虑到特定的依赖关系图时,我有一个关于如何生成OpenMP伪代码的问题.所以假设我们有这个特定的图:

解决方案可能是这样的:
#pragma omp parallel
{
#pragma omp single
{
A();
#pragma omp task B();
#pragma omp task C();
D();
#pragma omp taskwait
#pragma omp task E();
F();
}
}
Run Code Online (Sandbox Code Playgroud)
现在的问题是,尽管上面的代码确实成功实现了重要的并行性,但是任务E必须等待任务D完成,任务F必须等待任务B完成,这根据图形不是必需的.
所以我的问题是,有人可以为我提供OpenMP伪代码,其中E不会等待D而F不会等待B给定的依赖图吗?