# no interpolated text Template( TextInterpolation(PhpOpen), EchoStatement(echo,String)) # interpolated text at beginning
Template( TextInterpolation(Text, PhpOpen), EchoStatement(echo,String)) # interpolated text at end
==> Template( TextInterpolation(PhpOpen), EchoStatement(echo,String), TextInterpolation(PhpClose, Text)) # interpolated text in middle
==> Template( TextInterpolation(PhpOpen), EchoStatement(echo,String), TextInterpolation(PhpClose, Text, PhpOpen), EchoStatement(echo,String), TextInterpolation(PhpClose)) # short open tag: On Finished ==> Template( TextInterpolation(PhpOpen), EchoStatement(echo,String(EscapeSequence)), TextInterpolation(PhpClose, Text)) # short open tag: Off
one
two
==> Template( TextInterpolation(Text,PhpOpen), ExpressionStatement(AssignmentExpression(VariableName, AssignOp, String)), TextInterpolation(PhpClose,Text,PhpOpen), ExpressionStatement(VariableName), TextInterpolation(PhpClose,Text,PhpOpen), ExpressionStatement(AssignmentExpression(VariableName, AssignOp, Integer)), TextInterpolation(PhpClose,Text,PhpOpen), EchoStatement(echo,String(Interpolation(VariableName))), TextInterpolation(PhpClose,Text,PhpOpen), ExpressionStatement(String(Interpolation(VariableName))), TextInterpolation(PhpClose)) # Single line php comment
Template( TextInterpolation(Text, PhpOpen), LineComment, TextInterpolation(PhpClose, Text, PhpOpen), LineComment, LineComment, EchoStatement(echo,String)) # Single line comment without any content Template( TextInterpolation(PhpOpen), LineComment, LineComment, IfStatement(if, ParenthesizedExpression( UnaryExpression(LogicOp, CallExpression(Name,ArgList(String))) ), Block(EchoStatement(echo,VariableName)) ) ) # Closing tags before the first PHP tag a ?> b Template( TextInterpolation(Text, PhpOpen), ExpressionStatement(Name)) # Text ends in a less-than char foo< ==> Template(Text)