Use fcall + fret instead of fgoto.
This removes the hardcoded return to the main machine.
This commit is contained in:
parent
30d3e455d1
commit
92ae48f905
|
@ -177,7 +177,7 @@ module Oga
|
||||||
|
|
||||||
'>' => {
|
'>' => {
|
||||||
t(:T_DOCTYPE_END)
|
t(:T_DOCTYPE_END)
|
||||||
fgoto main;
|
fret;
|
||||||
};
|
};
|
||||||
*|;
|
*|;
|
||||||
|
|
||||||
|
@ -200,7 +200,7 @@ module Oga
|
||||||
|
|
||||||
t(:T_CDATA_END)
|
t(:T_CDATA_END)
|
||||||
|
|
||||||
fgoto main;
|
fret;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Consume everything else character by character and store it in a
|
# Consume everything else character by character and store it in a
|
||||||
|
@ -215,14 +215,14 @@ module Oga
|
||||||
doctype_start => {
|
doctype_start => {
|
||||||
t(:T_DOCTYPE_START)
|
t(:T_DOCTYPE_START)
|
||||||
|
|
||||||
fgoto doctype;
|
fcall doctype;
|
||||||
};
|
};
|
||||||
|
|
||||||
# @cdata_buffer is used to store the content of the CDATA tag.
|
# @cdata_buffer is used to store the content of the CDATA tag.
|
||||||
cdata_start => {
|
cdata_start => {
|
||||||
t(:T_CDATA_START)
|
t(:T_CDATA_START)
|
||||||
|
|
||||||
fgoto cdata;
|
fcall cdata;
|
||||||
};
|
};
|
||||||
|
|
||||||
# General rules and actions.
|
# General rules and actions.
|
||||||
|
|
Loading…
Reference in New Issue