X-Git-Url: http://secure.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/parser/Parser.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/parser/Parser.java index a79cbef..69dfdcf 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/parser/Parser.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/parser/Parser.java @@ -456,10 +456,10 @@ public class Parser implements ITerminalSymbols, CompilerModifiers, ParserBasicI } if (token == TokenNameif || token == TokenNameswitch || token == TokenNamefor || token == TokenNamewhile || token == TokenNamedo || token == TokenNameforeach || token == TokenNamecontinue || token == TokenNamebreak - || token == TokenNamereturn || token == TokenNameexit || token == TokenNameecho || token == TokenNameglobal - || token == TokenNamestatic || token == TokenNameunset || token == TokenNamefunction || token == TokenNamedeclare - || token == TokenNametry || token == TokenNamecatch || token == TokenNamethrow || token == TokenNamefinal - || token == TokenNameabstract || token == TokenNameclass || token == TokenNameinterface) { + || token == TokenNamereturn || token == TokenNameexit || token == TokenNameecho || token == TokenNameECHO_INVISIBLE + || token == TokenNameglobal || token == TokenNamestatic || token == TokenNameunset || token == TokenNamefunction + || token == TokenNamedeclare || token == TokenNametry || token == TokenNamecatch || token == TokenNamethrow + || token == TokenNamefinal || token == TokenNameabstract || token == TokenNameclass || token == TokenNameinterface) { break; } // System.out.println(scanner.toStringAction(token)); @@ -751,33 +751,26 @@ public class Parser implements ITerminalSymbols, CompilerModifiers, ParserBasicI getNextToken(); } return statement; - } else if (token == TokenNameINLINE_HTML) { - if (scanner.phpExpressionTag) { - // start of block + } else if (token == TokenNameECHO_INVISIBLE) { + // 0-length token directly after PHP short tag <?= + getNextToken(); + expressionList(); + if (token == TokenNameSEMICOLON) { getNextToken(); - expr(); - if (token == TokenNameSEMICOLON) { - getNextToken(); - } +// if (token != TokenNameINLINE_HTML) { +// // TODO should this become a configurable warning? +// reportSyntaxError("Probably '?>' expected after PHP short tag expression (only the first expression will be echoed)."); +// } + } else { if (token != TokenNameINLINE_HTML) { - throwSyntaxError("Missing '?>' for open PHP expression block ('