Added matched_shortcode
This commit is contained in:
parent
05a6fac332
commit
d59fa56473
@ -60,7 +60,8 @@ bstring grab_chunk(char *start, char *end) {
|
|||||||
bassign(open_name, new_name);
|
bassign(open_name, new_name);
|
||||||
};
|
};
|
||||||
|
|
||||||
closing_shortcode = (start spc '/' name spc end)
|
closing_shortcode = (start spc '/' name spc end);
|
||||||
|
matched_shortcode = (shortcode any* closing_shortcode)
|
||||||
@ {
|
@ {
|
||||||
bcatStatic(output, "--- closing\n");
|
bcatStatic(output, "--- closing\n");
|
||||||
// TODO: Use a stack of open shortcodes rather than 1
|
// TODO: Use a stack of open shortcodes rather than 1
|
||||||
@ -72,8 +73,7 @@ bstring grab_chunk(char *start, char *end) {
|
|||||||
btrunc(open_name,0);
|
btrunc(open_name,0);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
main := (any* (shortcode | matched_shortcode))*;
|
||||||
main := (any* (shortcode | closing_shortcode))*;
|
|
||||||
}%%
|
}%%
|
||||||
|
|
||||||
bstring parse(char *input) {
|
bstring parse(char *input) {
|
||||||
@ -95,9 +95,16 @@ bstring parse(char *input) {
|
|||||||
|
|
||||||
int main(int argc, char **argv) {
|
int main(int argc, char **argv) {
|
||||||
bstring output = parse("
|
bstring output = parse("
|
||||||
|
sarasa
|
||||||
{{< o1 arg1 >}}
|
{{< o1 arg1 >}}
|
||||||
|
stuff
|
||||||
{{< c1 arg2 >}}
|
{{< c1 arg2 >}}
|
||||||
{{% /c1%}}");
|
foobar
|
||||||
|
{{% /c1%}}
|
||||||
|
{{< o2 arg1 >}}
|
||||||
|
{{< o3 arg1 >}}
|
||||||
|
more stuff
|
||||||
|
");
|
||||||
if (output == 0) {
|
if (output == 0) {
|
||||||
printf("parse error\n");
|
printf("parse error\n");
|
||||||
return 1;
|
return 1;
|
||||||
|
Loading…
Reference in New Issue
Block a user