トップ 差分 一覧 ソース 置換 検索 ヘルプ PDF RSS ログイン

jEdit-PHPParserカスタマイズ

Finally句の対応

PHPParserはhttps://javacc.java.net/の4.2を利用している。

PHPParser.jjを以下のように修正
finally句の定義を追加

/* Exceptions */
<PHPPARSING> TOKEN :
{
  <TRY   : "try">
| <CATCH : "catch">
| <THROW : "throw">
| <FINALLY : "finally">
}

tryStatement に finallyの処理を追加

(<FINALLY> {Block();} )?

をcatch句処理後に追加

tryToken = <TRY>
block = Block()
catchClause = catchClause()
{
	catches.add(catchClause);
}
(
	catchClause = catchClause()
	{
		catches.add(catchClause);
	}
)*
(<FINALLY> {Block();} )?
{
	return new TryStatement(block,
		catches,
		tryToken.sourceStart,
		catchClause.getSourceEnd(),
		tryToken.beginLine,
		catchClause.getEndLine(),
		tryToken.beginColumn,
		catchClause.getEndColumn());
}

javaccの文法が合っているか自信ないけど、解析できているっぽい。

[カテゴリ: jEdit]



  • Hatenaブックマークに追加
  • livedoorクリップに追加
  • del.icio.usに追加
  • FC2ブックマークに追加

最終更新時間:2016年05月29日 19時08分46秒