私は理解できない皮肉でいくつかのトリッキーな問題を抱えています...
アプリケーションの実行時に行う最初の解析は成功します。
string src = "" // this is the file to parse
Grammar g = new CSharpGrammar();
LanguageData language = new LanguageData(g);
Parser parser = new Parser(language);
ParseTree parseTree = parser.Parse(src);
ParseRoot = parseTree.Root;
次に、1 つのヒントに従って、LanguageData 変数をグローバル コンテキストに移動しました。それでもすべて問題ありません。しかし、カスタム関数内で Irony パーサーを呼び出し、Irony が提供する c# grammar v3.5 を使用して複数のファイルを解析したいと考えました (LINQ クエリは私にとって重要ではないため、それで十分だと思われます)。同じアプローチ:
Parser parser = new Parser(language);
ParseTree parseTree = parser.Parse(file);
ParseRoot = parseTree.Root;
しかし、現在、parseroot は「null」のままです。そして、私にはその理由がまったくわかりません。先ほどパーサーのエラーもチェックしたところ、理解できないエラーが見つかりました。
"Syntax error, expected: statement, member declaration, namespace"
しかし、私のファイルは次のようになります。
using System;
using Microsoft.SharePoint.WebControls;
namespace WebParts.Layouts.Ordering
{
public partial class ConfirmDelete : LayoutsPageBase
{
protected void Page_Load(object sender, EventArgs e)
{
lblMsg.Text = "Are you sure you want to delete the entry?";
if (!IsPostBack)
{
BtnYes.Attributes.Add("onclick", "OnYes(); return false;");
BtnNo.Attributes.Add("onclick", "OnNo(); return false;");
}
}
}
}
私のコードのどこが間違っているかわかるといいのですが...私はこのことに必死になっています...