1
我有反諷一些棘手的問題,我不明白...C#反諷分析器 - 儘管一切都不會分析文件似乎是正確的
第一解析我在我的應用程序成功運行時做的。
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;
然後我按照提示將LanguageData變量移動到全局上下文。還是一切都好。但是現在我想在自定義函數中調用反諷分析器,用Irony提供的c#語法v3.5解析多個文件(LINQ查詢對我來說並不重要,所以這似乎足夠了)。同樣的做法:
Parser parser = new Parser(language);
ParseTree parseTree = parser.Parse(file);
ParseRoot = parseTree.Root;
但現在parseroot是和保持 「零」。我完全不知道爲什麼。我剛纔也檢查瞭解析器錯誤,在那裏我發現了一個我無法理解的錯誤。
"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;");
}
}
}
}
我希望你能看到什麼是錯我的代碼...我越來越絕望這個東西......
這將是有啓發性的知道你想達到的目的,當解析c# ,你能告訴我們嗎? – 2012-07-27 08:45:42
「然後我按照提示將LanguageData變量移動到全局上下文中。」請詳細解釋。 – mathieu 2012-07-27 08:57:06
的目的是爲了進一步調試目的,將項目(名稱空間,類,方法,屬性,成員)的代碼結構寫入sql數據庫。 – 2012-09-10 09:58:17