小编Ren*_*nov的帖子

寻找"标记器","解析器"和"词法分析器"的清晰定义以及它们如何相互关联和使用?

我正在寻找"tokenizer","parser"和"lexer"是什么以及它们如何相互关联的明确定义(例如,解析器是否使用了tokenizer,反之亦然)?我需要创建一个程序,将通过c/h源文件来提取数据声明和定义.

我一直在寻找示例,可以找到一些信息,但我真的很难掌握语法规则,解析树和抽象语法树等基础概念以及它们如何相互关联.最终这些概念需要存储在实际程序中,但1)它们看起来像什么,2)是否有共同的实现.

我一直在关注这些主题和程序,如Lex和Yacc维基百科,但从未经历过编译器类(EE专业),我发现很难完全理解正在发生的事情.

parsing tokenize lexer

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

是否可以使用Epplus在Excel中复制行(包含数据,合并,样式)?

问题是我需要使用整个集合的单个模板多次从集合中将数据插入Excel.

using (var pckg = new ExcelPackage(new FileInfo(association.TemplatePath)))
{
    var workSheet = pckg.Workbook.Worksheets[1];
    var dataTable = WorksheetToDataTable(workSheet);
    /*Some stuff*/
    FindAndReplaceValue(workSheet, dictionary, row);
}

private DataTable WorksheetToDataTable(ExcelWorksheet oSheet)
{
    int totalRows = oSheet.Dimension.End.Row;
    int totalCols = oSheet.Dimension.End.Column;
    DataTable dt = new DataTable(oSheet.Name);
    DataRow dr = null;
    for (int i = 1; i <= totalRows; i++)
    {
        if (i > 1) dr = dt.Rows.Add();
        for (int j = 1; j <= totalCols; j++)
        {
            if (i == 1)
                dt.Columns.Add((oSheet.Cells[i, j].Value ?? "").ToString()); …
Run Code Online (Sandbox Code Playgroud)

.net c# excel epplus

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

无法将对象类型"System.Web.Mvc.HtmlHelper` 1 [System.Object]"强制转换为类型"System.Web.Mvc.HtmlHelper"

我在我的mvc asp.net项目中使用DevExpress控件.这是代码:

<div>
    @Html.DevExpress().TextBox(settings =>
    {
        settings.Name = "TextBox";
        settings.Width = 170;
        settings.Properties.DisplayFormatString = "[ 00 - 00 - 00 ]";
        settings.Text = "123456";
    }).GetHtml()
</div>
Run Code Online (Sandbox Code Playgroud)

这是错误信息:

    Unable to cast the object type "System.Web.Mvc.HtmlHelper` 1 [System.Object]" to
 type "System.Web.Mvc.HtmlHelper"
Run Code Online (Sandbox Code Playgroud)

我无法理解我的代码失败的地方,因为它是来自DevExpress演示的示例代码.

c# asp.net-mvc devexpress devexpress-mvc

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

Resharper关于闭合的警告是否正确?

今天我遇到了以下情况

public async Task<Stream> GetApproveDocumentAsync<T>(Guid id, int revision, PdfLayoutType pdfLayoutType, string resourceFilePath, CadDrawingType cadDrawingType, int approvalWidth, int approvalHeight, Action<T> fillModelAction = null) where T : BaseApproveModel, new() {
    var previewFileName = $"{id}_{revision}_preview.png";
    Stream previewFile;
    using (var resourceFileStream = new FileStream(resourceFilePath, FileMode.Open, FileAccess.Read, FileShare.Read, 4096, true)) {
        previewFile = await _cadApiService.ConvertDrawingToImageAsync(resourceFileStream, cadDrawingType, FileFormat.EVD, FileFormat.PNG, approvalWidth, approvalHeight).ConfigureAwait(false);
    }
    Func<string[], T> createBaseApproveModelFunc = graphicContentFilenames => { //Implicitly captured closure: previewFile
         var model = new T {
             GraphicContentFiles = graphicContentFilenames,
             CadPreview = previewFileName,
             Customer …
Run Code Online (Sandbox Code Playgroud)

c# resharper closures

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

属性 X 的类型为“Geometry”,当前数据库提供程序不支持该类型

我获得了一个PostgreSQL数据库,目前正在尝试绑定EF Core到它。由于数据库已经存在,我尝试构建一个上下文,并且成功地发出了类似于以下内容的警告:

找不到数据类型为“x.geometry”的列“x.Polygons.Shape”的类型映射。跳过专栏。

我在脚手架时跳过了所有此类列,并尝试手动恢复它们:

public sealed class Polygon
{
    public int Id { get; set; }
    public DateOnly CreationDate { get; set; }
    public DateOnly ModificationDate { get; set; }
    public DateOnly SurveyDate { get; set; }
    public Geometry Shape { get; set; } //This (and similar) column was added manually
}
Run Code Online (Sandbox Code Playgroud)

之后,我将脚手架实体配置提取并修补到一个单独的类,如下所示:

public sealed class PolygonConfiguration : IEntityTypeConfiguration<Polygon>
{
    public void Configure(EntityTypeBuilder<Polygon> builder)
    {
        builder.ToTable("Polygons", Constants.DatabaseScheme);
        builder.HasIndex(e => e.Id, "idx_Polygons_ID");
        builder.Property(e => e.Id).HasColumnName("ID");
        builder.Property(x => …
Run Code Online (Sandbox Code Playgroud)

c# postgresql postgis entity-framework-core

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