Deprecated #(...)# block comments

This commit is contained in:
Bruce Hill 2021-01-16 10:39:09 -08:00
parent 3f6e7c2beb
commit a7e3e421db
4 changed files with 2 additions and 24 deletions

View File

@ -63,7 +63,6 @@ Pattern | Meaning
`pat1==pat2` | `pat1`, assuming `pat2` also matches with the same length `pat1==pat2` | `pat1`, assuming `pat2` also matches with the same length
`pat1!=pat2` | `pat1`, unless `pat2` also matches with the same length `pat1!=pat2` | `pat1`, unless `pat2` also matches with the same length
`name:pat2` | `name` is defined to mean `pat` `name:pat2` | `name` is defined to mean `pat`
`#( block comment )#` | A block comment
`# line comment` | A line comment `# line comment` | A line comment
See `man ./bp.1` for more details. See `man ./bp.1` for more details.

3
bp.1
View File

@ -191,9 +191,6 @@ exact same length. Pronounced \fI<pat1>\fB-assuming-it-doesn't-equal-\fI<pat2>\f
This pattern matches the indentation at the beginning of a line that has the This pattern matches the indentation at the beginning of a line that has the
same indentation as the line before (or zero indentation on the first line). same indentation as the line before (or zero indentation on the first line).
.B #( \fI<comment>\fR )#
A block comment (can be nested)
.B # \fI<comment>\fR .B # \fI<comment>\fR
A line comment A line comment

View File

@ -74,8 +74,4 @@ $: !.
id: "^^" / "^" / "__" / "_" / "$$" / "$" / "|" / `a-z,A-Z *`a-z,A-Z,0-9,- id: "^^" / "^" / "__" / "_" / "$$" / "$" / "|" / `a-z,A-Z *`a-z,A-Z,0-9,-
line-comment: `# .. $ comment: `# .. $
block-comment: "#("..")#" % block-comment
# Note: comments are undefined by default in regular BP
comment: block-comment / line-comment

14
utils.c
View File

@ -14,7 +14,6 @@
// //
const char *after_spaces(const char *str) const char *after_spaces(const char *str)
{ {
int block_comment_depth = 0;
// Skip whitespace and comments: // Skip whitespace and comments:
skip_whitespace: skip_whitespace:
switch (*str) { switch (*str) {
@ -23,20 +22,7 @@ const char *after_spaces(const char *str)
goto skip_whitespace; goto skip_whitespace;
} }
case '#': { case '#': {
if (str[1] == '(') {
++block_comment_depth;
for (str += 2; *str && block_comment_depth > 0; ++str) {
if (str[0] == '#' && str[1] == '(') {
++block_comment_depth;
++str;
} else if (str[0] == ')' && str[1] == '#') {
--block_comment_depth;
++str;
}
}
} else {
while (*str && *str != '\n') ++str; while (*str && *str != '\n') ++str;
}
goto skip_whitespace; goto skip_whitespace;
} }
} }