我有一些与自然语言处理有关的想法.我需要一些语法
S -> NP VP
Run Code Online (Sandbox Code Playgroud)
多样性,以便与他们一起玩.
如果我自己尝试编写这些规则,那将是一项单调乏味且容易出错的业务.有没有人为英语和其他自然语言输入并发布了全面的规则集?理想情况下用BNF,Prolog或类似语法编写.
我的项目只涉及无上下文的语法,我对统计方法或机器学习不感兴趣 - 我需要系统地生成类似Engligh和Foobarian的句子.
如果你知道在哪里找到这样的物资,我会非常感激.
我的问题与此问题基本相同,但给定的答案对我不起作用.
下面是一个示例渲染(源极)与
compound=true;
overlap=scalexy;
splines=true;
layout=neato;
Run Code Online (Sandbox Code Playgroud)

边缘有一些不必要的重叠,但这不是太糟糕,主要问题是所有浪费的空间.
我尝试过设置sep=-0.7;,这就是发生的事情.

间距要好得多,但现在与节点有一些重叠.我尝试了不同的overlap参数,这是唯一一个提供远程可接受结果的参数.
我尝试更改为fdp布局并在K全局设置spring常量属性,但我只是得到这样的东西:

来源是所有直截了当a--b--c的东西,没有花哨的技巧.
我想要的是尽可能缩短所有边缘(最多),只要这种调整不会引入任何新的重叠,这是sep完全失败的地方.对于布局引擎而言,这似乎不应该太难.是否可以使用graphviz套件?我不介意更改渲染软件,但我不想在每个节点或每个边缘基础上注释源.
我理想的结果是最小化边长的偏差,一次被认为是一个节点,即每个节点除了必要的例外之外还有相等长度的边,但这是一厢情愿的想法.优先级是减少每条边的长度,其约束条件是不会引入重叠.
我将接受部分解决方案,但它们必须是全自动和开源的.
我怎样才能做到这一点?谢谢.
我希望这能奏效
struct Parent
{
Parent ();
Parent (const Parent &);
};
struct Child : public Parent
{
using Parent::Parent;
};
Parent p;
Child c (p);
Run Code Online (Sandbox Code Playgroud)
Child继承了所有Parent的构造函数,对吧?
包括Parent::Parent(const Parent &)?
x.cpp:15:11: error: no matching function for call to ‘Child::Child(Parent&)’
Child c (p);
^
x.cpp:5:2: note: candidate: Parent::Parent(const Parent&)
Parent (const Parent &);
^~~~~~
x.cpp:10:16: note: inherited here
using Parent::Parent;
^~~~~~
x.cpp:10:16: note: an inherited constructor is not a candidate for initialization from an expression of the …Run Code Online (Sandbox Code Playgroud) 我想(在*nix中)分配一个大的,有条不紊的地址空间,但不会立即消耗资源,即我想保留一个地址范围,以后再分配它.
假设我做foo = malloc(3*1024*1024*1024)来分配3G,但是在1G计算机上有1G的交换文件.它会失败,对吗?
我想要做的是说"给我一个内存地址范围foo ... foo + 3G 我将分配 ",所以我可以保证这个区域内的所有分配都是连续的,但没有直接分配.
在上面的例子中,我想跟随一个bar = malloc(123)调用的foo = reserve_memory(3G)调用,该调用应该成功,因为reserve_memory尚未消耗任何资源,它只是保证bar不在范围内烟草工业富+ 3G.
稍后我会做一些像allocate_for_real(foo,0,234)那样消耗foo范围的字节0..234.此时,内核将分配一些虚拟页面并将它们映射到foo ... foo + 123 + N.
这在用户空间是否可行?
(关键在于foo中的对象需要连续,并且在创建后无法合理地移动.)
谢谢.
这是在主函数内部声明函数原型的好方法吗?
我正在看一个C教程,我认为已经过时了.但是,他们在main中声明了函数原型.我通常在主要之前宣布在外面.
#include <stdio.h>
int main ()
{
char myname [30];
int theage;
int getage ();
printf ("\nEnter your name:");
gets (myname);
theage = getage ();
printf("\n AGE = %d and NAME = %s", theage, myname);
return 0;
}
int getage ()
{
int myage; /* local to only getage() */
printf ("\nEnter your age: ");
scanf ("%d",&myage);
return (myage);
}
Run Code Online (Sandbox Code Playgroud) 我需要将数据写入驱动器.我有两个选择:
哪种方式更快?
我期望原始扇区写入函数_write更有效.但是,我的测试结果失败了!fwrite更快._write成本较长.
我贴了我的片段; 也许我的代码是错的.你能帮我吗?无论哪种方式都可以,但我认为原始写入更好,因为看起来驱动器中的数据至少是加密的....
#define SSD_SECTOR_SIZE 512
int g_pSddDevHandle = _open("\\\\.\\G:",_O_RDWR | _O_BINARY, _S_IREAD | _S_IWRITE);
TIMER_START();
while (ulMovePointer < 1024 * 1024 * 1024)
{
_write(g_pSddDevHandle,szMemZero,SSD_SECTOR_SIZE);
ulMovePointer += SSD_SECTOR_SIZE;
}
TIMER_END();
TIMER_PRINT();
FILE * file = fopen("f:\\test.tmp","a+");
TIMER_START();
while (ulMovePointer < 1024 * 1024 * 1024)
{
fwrite(szMemZero,SSD_SECTOR_SIZE,1,file);
ulMovePointer += SSD_SECTOR_SIZE;
}
TIMER_END();
TIMER_PRINT();
Run Code Online (Sandbox Code Playgroud) 如何在Javascript中获得回溯?
理想特色:
这可以在标准的ECMAScript中完成吗?
如果没有,可以在常见的网络浏览器方言中完成吗?
谢谢.
谢谢你的建议.
我的方言不支持arguments.caller或arguments.callee.
我可以做这个:
try {
let x = null;
x .foo ();
}
catch (e) {
debug (dump (e.stack));
}
Run Code Online (Sandbox Code Playgroud)
这让我得到了一个字符串的信息,一目了然,但走路会很有帮助e.stack.它有标准表格吗?
再次感谢.
我的SQL架构是
CREATE TABLE Foo (
`bar` INT NULL ,
`name` VARCHAR (59) NOT NULL ,
UNIQUE ( `name`, `bar` )
) ENGINE = INNODB;
Run Code Online (Sandbox Code Playgroud)
MySQL允许重复以下语句,导致重复.
INSERT INTO Foo (`bar`, `name`) VALUES (NULL, 'abc');
Run Code Online (Sandbox Code Playgroud)
尽管有
UNIQUE ( `name`, `bar` )
Run Code Online (Sandbox Code Playgroud)
为什么容忍这种情况,如何阻止它?
我正在尝试使用CSS创建一个问号 - 圆圈内的字形.它应该看起来像©基本上.
a::before
{
content: '?';
font-size: 60%;
font-family: sans-serif;
vertical-align: middle;
font-weight: bold;
text-align: center;
display: inline-block;
width: 1.8ex;
height: 1.8ex;
border-radius: 1ex;
color: blue;
background: white;
border: thin solid blue;
}
Run Code Online (Sandbox Code Playgroud)
它在firefox上并不坏,但是圆圈内问号的位置在Chrome上偏离中心(我没有IE测试,但我假设最差).
我对字体的细微差别了解不多.这种方法可以跨平台工作,还是应该放弃并使用图像?我这样做是为了让它与字体一起缩放.
更新:到目前为止,根据建议调整设置仅在特定情况下提供改进.似乎总是存在一些字体大小,其水平或垂直方向的偏离中心不仅有舍入误差(超过1个像素).目标是使边框适合问号,不适合包含问号的方框边框,因为我怀疑正在发生.
我只是写了这篇文章而没有想太多.它似乎工作正常,但我不确定它是否严格安全.
class Foo
{
struct Buffer
{
char data [sizeof ("output will look like this XXXX YYYY ZZZZ")];
};
const char * print (const char * format = DEFUALT_FORMAT, Buffer && buf = Buffer ())
{
sort_of_sprintf_thing (format, buf .data, sizeof (buf.data), ...);
return buf .data;
}
};
std :: cout << Foo () .print ();
Run Code Online (Sandbox Code Playgroud)
所以我认为语义是临时缓冲区将保持存在直到整个cout语句完成.这是对的,还是会在此之前超出范围,在这种情况下,这是UB?