diff --git a/node/stmt/inline_html.go b/node/stmt/inline_html.go
new file mode 100644
index 0000000..fea8a22
--- /dev/null
+++ b/node/stmt/inline_html.go
@@ -0,0 +1,25 @@
+package stmt
+
+import (
+ "fmt"
+ "io"
+
+ "github.com/z7zmey/php-parser/node"
+ "github.com/z7zmey/php-parser/token"
+)
+
+type InlineHtml struct {
+ node.SimpleNode
+ token token.Token
+}
+
+func NewInlineHtml(token token.Token) node.Node {
+ return InlineHtml{
+ node.SimpleNode{Name: "InlineHtml", Attributes: make(map[string]string)},
+ token,
+ }
+}
+
+func (n InlineHtml) Print(out io.Writer, indent string) {
+ fmt.Fprintf(out, "\n%v%v [%d %d] %q", indent, n.Name, n.token.StartLine, n.token.EndLine, n.token.Value)
+}
diff --git a/parser/parser.go b/parser/parser.go
index 7a9ab08..ef03ab2 100644
--- a/parser/parser.go
+++ b/parser/parser.go
@@ -2879,7 +2879,7 @@ yydefault:
yyDollar = yyS[yypt-1 : yypt+1]
//line parser/parser.y:387
{
- yyVAL.node = node.NewSimpleNode("Echo").Append(node.NewSimpleNode("InlineHtml").Attribute("value", yyDollar[1].token.String()))
+ yyVAL.node = stmt.NewInlineHtml(yyDollar[1].token)
}
case 143:
yyDollar = yyS[yypt-2 : yypt+1]
diff --git a/parser/parser.y b/parser/parser.y
index 910a8a5..57139e5 100644
--- a/parser/parser.y
+++ b/parser/parser.y
@@ -384,7 +384,7 @@ statement:
| T_GLOBAL global_var_list ';' { $$ = stmt.NewGlobal($1, $2) }
| T_STATIC static_var_list ';' { $$ = $2; }
| T_ECHO echo_expr_list ';' { $$ = stmt.NewEcho($1, $2) }
- | T_INLINE_HTML { $$ = node.NewSimpleNode("Echo").Append(node.NewSimpleNode("InlineHtml").Attribute("value", $1.String())) }
+ | T_INLINE_HTML { $$ = stmt.NewInlineHtml($1) }
| expr ';' { $$ = stmt.NewExpression($1); }
| T_UNSET '(' unset_variables possible_comma ')' ';'
{ $$ = node.NewSimpleNode("Unset").Append($3); }