Hello,
I wonder if you already know the AST format defined/used by metalua ?
It use a type name into a ["tag"] key, all data are used by numerical indexes.
It is shorter to dump for human debug
The current lua-sh-parser ast format :
{
type = "Program",
body = {
{
type = "SimpleCommand",
prefix = {
{
type = "Assignment",
name = {
type = "Name",
text = "FOO",
},
value = {
type = "Word",
content = {
"bar",
},
},
},
},
},
},
}
the current format but shown with a metalua style
`Program{
body=`SimpleCommand{
prefix=`Assignment{
value=`Word{
content="bar"
},
name=`Name{
text="FOO"
}
}
},
}
The same data in metalua AST format
{
tag = "Program",
{
{
tag = "SimpleCommand",
{
{
tag = "Assignment",
{
tag = "Word",
{
"bar",
},
},
{
tag = "Name",
"FOO",
},
},
},
},
},
}
The metalua usual form for the same sample
`Program{
`SimpleCommand{
`Assignment{
`Name{
"FOO"
}
`Word{
"bar"
},
},
},
}
What did you think about the metalua AST format ?
I'm working on the step that I want convert back AST to sh then I'm trying to move ast format to a common one ;-)
Regards,
Hello,
I wonder if you already know the AST format defined/used by metalua ?
It use a type name into a
["tag"]key, all data are used by numerical indexes.It is shorter to dump for human debug
The current lua-sh-parser ast format :
{ type = "Program", body = { { type = "SimpleCommand", prefix = { { type = "Assignment", name = { type = "Name", text = "FOO", }, value = { type = "Word", content = { "bar", }, }, }, }, }, }, }the current format but shown with a metalua style
The same data in metalua AST format
{ tag = "Program", { { tag = "SimpleCommand", { { tag = "Assignment", { tag = "Word", { "bar", }, }, { tag = "Name", "FOO", }, }, }, }, }, }The metalua usual form for the same sample
What did you think about the metalua AST format ?
I'm working on the step that I want convert back
ASTtoshthen I'm trying to move ast format to a common one ;-)Regards,