トップ 一覧 置換 検索 ヘルプ RSS ログイン

jEdit-PHPParserカスタマイズの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!!!Finally句の対応
PHPParserは[https://javacc.java.net/|javacc]の4.2を利用している。

PHPParser.jjを以下のように修正
finally句の定義を追加
 /* Exceptions */
 <PHPPARSING> TOKEN :
 {
   <TRY   : "try">
 | <CATCH : "catch">
 | <THROW : "throw">
| <FINALLY : "finally">
 | <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の文法が合っているか自信ないけど、解析できているっぽい。

{{category2 jEdit}}