65,210
社区成员
发帖
与我相关
我的任务
分享
parse ( parent ) {
switch ( get token ) {
case is_tag_begin:
switch ( get token ) {
case is_tag_name:
new_tag
while ( get property ) {
push new_tag new_property
}
push parent new_tag
if ( is_not_closed ) {
parse( new_tag )
if ( get end_tag not matched ) {
error;
}
}
break;
default:
error;
}
break;
case is_text:
get new_text
push parent new_text
break;
case is_comment:
get new_comment
push parent new_comment
break;
...
}
}