Am 11.05.19 um 06:13 schrieb Boxuan Li:
> Octave pattern is almost the same as matlab. Besides,
> octave also uses '%%%' or '##' to begin code sections.
>
> @@ -60,6 +60,11 @@ PATTERNS("java",
> PATTERNS("matlab",
> "^[[:space:]]*((classdef|function)[[:space:]].*)$|^%%[[:space:]].*$",
> "[a-zA-Z_][a-zA-Z0-9_]*|[-+0-9.e]+|[=~<>]=|\\.[*/\\^']|\\|\\||&&"),
> +PATTERNS("octave",
> + /* Mostly the same as matlab. In addition, Octave
> + * supports '##' and '%%%' for code sections */
> +
> "^[[:space:]]*((classdef|function)[[:space:]].*)$|^(%%%?|##)[[:space:]].*$",
> + "[a-zA-Z_][a-zA-Z0-9_]*|[-+0-9.e]+|[=~<>]=|\\.[*/\\^']|\\|\\||&&"),
> PATTERNS("objc",
> /* Negate C statements that can look like functions */
> "!^[ \t]*(do|for|if|else|return|switch|while)\n"
>
In Matlab, are %%% and ## valid syntax? If not, instead of introducing a
new language, please just extend the Matlab rule to treat %%% and ## as
you need for Octave and mark your Octave files as Matlab.
-- Hannes