问题列表 - 第15800页

生成BNF语法的C++代码

我查看了以下软件工具:

ANTLR似乎是最直接的,但缺乏文档.Ragel看起来也是可能的,但我没有看到将BNF转换为其语法的简单方法.

还有哪些其他可用于BNF输入并生成相应的,Unicode友好,跨平台,独立的C++解析器的工具?

非常感谢所有的建议.

编辑:将Objective-C要求更改为C++.

c++ unicode parsing bnf lexical-analysis

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

易变量

存储在程序存储器中的volatile变量在哪里(哪个部分)?

c memory multithreading volatile

16
推荐指数
3
解决办法
3万
查看次数

Ada中的正则表达式?

我对Ada很新,我正在尝试用一些文字做一些简单的工作.我想要做的就是读取文件,并删除任何不是字母,空格或新行的内容.所以删除所有的标点符号和数字.在其他语言中,我只想创建一个简单的[^ a-zA-Z]正则表达式,查看每个字符并删除它,如果它适合RegEx,但我似乎无法在Ada中找到有关RegEx的任何文档.那么,在Ada有RegEx吗?如果没有,那么对我来说这样的简单文本编辑的最佳方式是什么.

非常感谢,-jb

regex ada

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

如何编写 XML 输出?

如何查看以下 C# 代码的 XML 输出?我可以看到它使用 XElement,但是我可以在哪里找到 XML 文件或输出?

private void Form1_Load(object sender, EventArgs e)
{
    XElement doc = new XElement("searchresults"); // root element

    //create 
    XElement result = new XElement("result",
                             new XElement("Resulthead", "AltaVista"),
                             new XElement("ResultURL", "www.altavista.com/"),
                             new XElement("Description", "AltaVista provides the most comprehensive search experience on the Web! ... "),
                             new XElement("DisplayURL", "www.altavista.com/")
                             );
    doc.Add(result);

    //add another search result
    result = new XElement("result",
                             new XElement("Resulthead", "Dogpile Web Search"),
                             new XElement("ResultURL", "www.dogpile.com/"),
                             new XElement("Description", "All the best search engines piled into one. …
Run Code Online (Sandbox Code Playgroud)

c# xml linq xelement

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

Python相当于atoi/atof

Python喜欢提出异常,这通常很棒.但我正面临着一些我迫切希望使用C的atoi/atof语义转换为整数的字符串 - 例如atoi的"3 of 12","3/12","3/12",都应该变为3; atof("3.14秒")应变为3.14; atoi(" - 99得分")应该变成-99.Python当然有atoi和atof函数,它们的行为与atoi和atof完全不同,就像Python自己的int和float构造函数一样.

到目前为止我所拥有的最好,这是非常丑陋和难以扩展到各种浮动格式:

value = 1
s = str(s).strip()
if s.startswith("-"):
    value = -1
    s = s[1:]
elif s.startswith("+"):
    s = s[1:]
try:
    mul = int("".join(itertools.takewhile(str.isdigit, s)))
except (TypeError, ValueError, AttributeError):
    mul = 0
return mul * value
Run Code Online (Sandbox Code Playgroud)

python

16
推荐指数
4
解决办法
3万
查看次数

我的控件是"这里不允许,因为它没有扩展类'System.Web.UI.UserControl'"

所以我还有另一个面条(对我而言).

我正在尝试在CMS中创建自己的自定义控件我只有部分源代码(即供应商提供给我的样本).基本上我已经创建了一个名为DataDefinitionContentextends 的类ControlBase.现在,从我从元数据中获取的东西,ControlBase扩展UserControl,所以我会认为这将没有戏剧性.任何人都可以解释为什么这可能不适合我?


我的课:

public partial class DataDefinitionContent : ControlBase, ICustomControl<DataDefinition>
{
... Stuff
}
Run Code Online (Sandbox Code Playgroud)

ControlBase:

using System;
using System.Web.UI;
namespace CMS.Web
{
    public class ControlBase : UserControl
    {
    ... Stuff
    }
}
Run Code Online (Sandbox Code Playgroud)

我的ascx文件:

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="DataDefinitionContent.ascx.cs"
    Inherits="CMS.Admin.WebUI.CustomControls.DataDefinitionContent, CoA.Admin.WebUI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" %>
Run Code Online (Sandbox Code Playgroud)

我得到的错误:

解析器错误消息:此处不允许使用'CMS.Admin.WebUI.CustomControls.DataDefinitionContent,CoA.Admin.WebUI,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null',因为它不扩展类'System.Web. UI.UserControl".

第1行:<%@ Control Language ="C#"AutoEventWireup ="true"CodeBehind ="DataDefinitionContent.ascx.cs"

c# user-controls custom-controls extend

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

在C#中的两个窗体之间进行通信

我有两种形式,一种是主要形式,另一种是选项形式.例如,假设用户点击主窗体上的菜单:Tools -> Options这将导致我的选项表单显示.

我的问题是如何将我的选项表单中的数据发送回我的主表单?我知道我可以使用属性,但我有很多选择,这似乎是一件单调乏味的事情.

那么最好的方法是什么?

c# properties winforms

38
推荐指数
3
解决办法
7万
查看次数

有sed忽略不匹配的行

如何sed根据某个表达式创建过滤器匹配行,但忽略不匹配的行,而不是让它们打印?

作为一个真实的例子,我想scalac在一组文件上运行(Scala编译器),并从其-verbose输出中读取.class创建的文件.scalac -verbose输出一堆消息,但我们只对表单中的消息感兴趣[wrote some-class-name.class].我目前正在做的是这个(|&是bash 4.0将stderr传递给下一个程序的方法):

$ scalac -verbose some-file.scala ... |& sed 's/^\[wrote \(.*\.class\)\]$/\1/'
Run Code Online (Sandbox Code Playgroud)

这将从我们感兴趣的消息中提取文件名,但也会让所有其他消息保持不变!当然我们可以这样做:

$ scalac -verbose some-file.scala ... |& grep '^\[wrote .*\.class\]$' |
  sed 's/^\[wrote \(.*\.class\)\]$/\1/'
Run Code Online (Sandbox Code Playgroud)

哪个有效,但看起来非常像绕过真正的问题,这是如何指示sed从输入中忽略不匹配的行.那我们该怎么做呢?

sed

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

无法在itunes connect下找到"管理应用内购买"

我知道我会问一些可能听起来有些奇怪的东西,但仍然在问

我正在开发一个具有In App Purchase功能的应用程序,我已经集成了代码但是为了测试我需要在iTunes connect下创建一个测试帐户.在研发期间,我开始知道我必须通过以下方式在应用程序购买中制作测试帐户:

iTunes Connect->"管理应用内购买"

我的问题是我无法在iTunes连接下看到"管理应用内购买"选项.对这个问题的任何形式的输入都会有很大的帮助.

提前致谢

itunesconnect in-app-purchase

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

访问被拒绝注册表

我是第一次以编程方式使用注册表,并且效果不佳(但至少我没有销毁我的计算机).具体来说,我一直在从RegCreateKeyEx和RegSetValueEx返回错误5(访问被拒绝).对我来说最奇怪的是,当HKEY_CURRENT_USER\Software\dir1\Sub Directory已经存在时,RegCreateKeyEx以错误5失败,但是当它尚不存在时,它会成功创建它; 然后在RegSetValueEx上失败.

我在这段代码中做错了吗?

BOOL MyDialog::SaveLocationsToRegistry()
{
    HKEY   hkey;
    DWORD  dwDisposition;
    DWORD dwType, dwSize;
    LONG result = RegCreateKeyEx(HKEY_CURRENT_USER, TEXT("Software\\dir1\\Sub Directory"), 
                                 0, NULL, 0, 0, NULL, &hkey, &dwDisposition);
    if(result == ERROR_SUCCESS)
    {
        LPCTSTR szLastFolder = "C:\\Documents and Settings\\user\\My Documents\\Copy of item\0";
        dwType = REG_SZ;
        dwSize = strlen(szLastFolder)+1;
        LONG setResult = RegSetValueEx(hkey, TEXT("LastFolder"), 0, dwType, 
        (PBYTE)&szLastFolder, dwSize);
        RegCloseKey(hkey);
        return setResult == ERROR_SUCCESS;
    }
    else
    {
        return false;
    }
}
Run Code Online (Sandbox Code Playgroud)

注意:绝对路径仅暂时存在.宝贝步骤;-)

c++ registry debugging winapi

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