问题列表 - 第29529页

这是一个含糊不清的语法吗?我该如何解决?

为了序言,我对这种东西的了解是微不足道的.

无论如何,我一直在开发一个无上下文的语法来描述alegbraic表达式的结构,所以我可以自学一下CYK解析算法是如何工作的.我理解这样的结构如何只使用中缀代数表达式,但我无法理解如何开发一个可以处理" - "运算符的一元和二元定义的语法.

作为参考,这是我在CNF中编写的语法(其中S是起始符号):

S - > x
A - > OS
S - > LB
B - > SR
S - > KS
O - > +
O - > -
O - >*
O - >/
O - > ^
K - > -
L - >(
R - >)

问题是CYK解析算法如何在遇到" - "运算符时提前知道是否在S - > KS和A - > OS之间做出决定吗?这样的语法上下文了吗?最重要的是,由于编程语言可以处理二进制和一元减号的语言,我应该如何合理地解析它?

theory algorithm grammar context-free-grammar

5
推荐指数
1
解决办法
1680
查看次数

如何为表的名称解析SQL Query语句

我有一个表示SQL查询的字符串,我需要从该字符串中提取表的名称.例如:

SELECT * FROM Customers
Run Code Online (Sandbox Code Playgroud)

将返回"客户".要么

SELECT * FROM Customers c, Addresses a WHERE c.CustomerName='foo'

SELECT a.AddressZip FROM Customers c
INNER JOIN Addresses a ON c.AddressId=a.AddressId
Run Code Online (Sandbox Code Playgroud)

将返回"客户,地址".获得更高级:

(SELECT B FROM (SELECT C FROM (SELECT Element AS C FROM MyTable)))
Run Code Online (Sandbox Code Playgroud)

只需返回"MyTable"

(注意,我可能已经对查询进行了拼写错误,但你明白了).

实现这一目标的最佳/最准确的方法是什么?

c# string

5
推荐指数
1
解决办法
4165
查看次数

PHP ob_start和session_start问题?

我应该在ob_start()之前在session_start()或session_start()之前使用ob_start()吗?

php

1
推荐指数
1
解决办法
4378
查看次数

Boost C++正则表达式 - 如何获得多个匹配

如果我有一个简单的正则表达式模式,如"ab".我有一个像"abc abd"这样的多个匹配的字符串.如果我做以下......

boost::match_flag_type flags = boost::match_default;
boost::cmatch mcMatch;
boost::regex_search("abc abd", mcMatch, "ab.", flags)
Run Code Online (Sandbox Code Playgroud)

然后mcMatch只包含第一个"abc"结果.我怎样才能得到所有可能的比赛?

c++ regex boost

15
推荐指数
1
解决办法
1万
查看次数

如何使用唯一且稳定的标识符访问 Outlook 邮件?

我正在构建一个应用程序来分析 Outlook 电子邮件,存储分析的信息,然后允许用户打开满足特定条件的邮件。

我希望我会从每封电子邮件中提取 Message-ID,将其存储在我的数据库中,然后通过稍后向 Outlook 提供 Message-ID 来要求 Outlook 打开一条消息。但是,我似乎错过了一些东西。

通过 Outlook 互操作 API,我可以获得一个 EntryID,但据我所知,EntryID 只能保证在给定的文件夹(或者可能是给定的商店)中稳定。如果将邮件移动到不同的文件夹,则 EntryID 可能会更改。此外,API 要求在通过 EntryID 查找消息时提供 StoreID。同样,如果消息在存储之间移动,则该信息可能是无效的。

我见过很多与 Office 相关的产品,它们似乎具有我上面描述的功能。如何高效查找 Outlook 可访问的邮件,而不管商店等如何?

目前,我的备份计划是为我扫描的每个 Message-ID 存储 EntryID 和 StoreID 信息,然后尝试我为给定 MessageID 记录的所有各种 EntryID/StoreID 组合,直到成功为止。但这似乎是 Outlook 应该已经知道如何为我完成的工作。

谢谢,

-帕特里克

c# office-interop outlook-object-model

5
推荐指数
1
解决办法
5636
查看次数

使用volatile作为原子

如果我有这样的东西......

volatile long something_global = 0;

long some_public_func()
{
    return something_global++;
}
Run Code Online (Sandbox Code Playgroud)

当使用多个线程访问时,期望此代码不会中断(竞争条件)是否合理?如果它不是标准的,它仍然可以作为现代编译器的合理假设吗?

注意:所有我使用它的原因是原子增量和减量 - 没有什么比这更好的了.

c c++ concurrency multithreading atomic

4
推荐指数
1
解决办法
2051
查看次数

"不能存在抽象的参数化类型..."

我正在搞乱Scala 2.8以获得乐趣,并试图定义一个pimp,它为类型构造函数添加了一个"as"方法,允许从一个仿函数转换为另一个仿函数(请忽略我不一定在这里处理仿函数的事实) .例如,您可以像这样使用它:

val array:Array[T]
val list:List[T] = array.as[List]
Run Code Online (Sandbox Code Playgroud)

所以这就是我试图做的事情:

object Test {
    abstract class NatTrans[F[_], G[_]] {
        def convert[T](f:F[T]):G[T]
    }

    implicit def array2List:NatTrans[Array, List] = new NatTrans[Array, List] { 
        def convert[T](a:Array[T]) = a.toList
    }

    // this next part gets flagged with an error
    implicit def naturalTransformations[T, F[_]](f:F[T]) = new {
        def as[G[_]](implicit n:NatTrans[F, G]) = n convert f
    }
}
Run Code Online (Sandbox Code Playgroud)

然而,定义的naturalTransformations标记为错误"不能存在抽象的参数化类型G [T]".要解决这个问题,我可以像这样重写naturalTransformations一个额外的类Transformable:

class Transformable[T, F[_]](f:F[T]) {
    def as[G[_]](implicit n:NatTrans[F, …
Run Code Online (Sandbox Code Playgroud)

scala functor typeclass implicits

13
推荐指数
1
解决办法
1174
查看次数

生成Open XML Word文档后自动更新公式字段

我有一个使用OpenXML SDK生成Word文档的库,该库的一个功能是生成最后一行(例如SUM(ABOVE))公式的表.

Word具有内置的这些功能,但在生成文档时,我必须假设Word未安装在计算机上.

问题是,如果我只是生成表格和公式字段,它将不会在打开文档时自动更新,用户必须打开文档并手动选择"更新字段"才能计算函数.

有没有办法在代码中执行此操作(无需手动计算功能)?

c# ms-word openxml formulas

6
推荐指数
1
解决办法
3919
查看次数

BufferedInputStream的用法

让我在这篇文章前面加上一点谨慎.在Java方面,我是一个初学者.我已经开启和关闭了PHP一段时间,但我已经准备好制作一个桌面应用程序,所以我决定使用Java,原因有很多.

我正在处理的应用程序处于开始阶段(少于5个类),我需要从本地文件中读取字节.通常,文件目前小于512kB(但将来可能会变大).目前,我使用a FileInputStream将文件读入三个字节数组,完全满足我的要求.但是,我已经看到了一个BufferedInputStream提到的,并且想知道我目前这样做的方式是最好的,还是我应该使用一个BufferedInputStream.

我做了一些研究,并在Stack Overflow上阅读了一些问题,但是我仍然遇到麻烦,了解何时使用而不使用的最佳情况BufferedInputStream.在我的情况下,我读取字节的第一个数组只有几个字节(小于20).如果我收到的数据在这些字节中是好的,那么我将文件的其余部分读入另外两个不同大小的字节数组.

我也听过很多人提到分析,看看哪个在每个特定情况下哪个更有效,但是,我没有剖析经验,我不确定从哪里开始.我也会喜欢这方面的一些建议.

对于这么长的帖子我很抱歉,但我真的想学习并理解做这些事情的最佳方法.我总是习惯于第二次猜测我的决定,所以我会喜欢一些反馈.谢谢!

java bufferedinputstream fileinputstream

35
推荐指数
2
解决办法
2万
查看次数

交叉表的动态MySQL查询/视图

我目前有一个带有以下sql的硬编码视图:

select username
    ,(case user_role.role_id when 1  then true else false end) as ROLE_SUPER 
    ,(case user_role.role_id when 2  then true else false end) as ROLE_ADMIN
    ,(case user_role.role_id when 3  then true else false end) as ROLE_VIEW
    ,(case user_role.role_id when 4  then true else false end) as ROLE_USER
    ,(case user_role.role_id when 5  then true else false end) as ROLE_EMAIL
    from user 
    left outer join user_role on user.id=user_role.user_id
    left outer join role on user_role.role_id = role.id;
Run Code Online (Sandbox Code Playgroud)

我的问题是,是否可以从角色表中的记录动态生成角色列.

mysql hibernate

3
推荐指数
1
解决办法
4707
查看次数