Skip to content

Commit 8712f99

Browse files
docs: add docstring for parse_variable
1 parent fc13ecd commit 8712f99

File tree

1 file changed

+18
-11
lines changed

1 file changed

+18
-11
lines changed

src/systems/abstractsystem.jl

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3285,18 +3285,25 @@ function dump_unknowns(sys::AbstractSystem)
32853285
end
32863286
end
32873287

3288-
# syntax:
3289-
# varname = "D(" varname ")" | arrvar | maybe_dummy_var
3290-
# arrvar = maybe_dummy_var "[idxs...]"
3291-
# idxs = int | int "," idxs
3292-
# maybe_dummy_var = namespacedvar | namespacedvar "(t)" |
3293-
# namespacedvar "(t)" "ˍ" ts | namespacedvar "ˍ" ts |
3294-
# namespacedvar "ˍ" ts "(t)"
3295-
# ts = "t" | "t" ts
3296-
# namespacedvar = ident "₊" namespacedvar | ident "." namespacedvar | ident
3297-
#
3298-
# I'd write a regex to validate this, but https://xkcd.com/1171/
3288+
"""
3289+
$(TYPEDSIGNATURES)
3290+
3291+
Return the variable in `sys` referred to by its string representation `str`.
3292+
Roughly supports the following CFG:
3293+
3294+
```
3295+
varname = "D(" varname ")" | arrvar | maybe_dummy_var
3296+
arrvar = maybe_dummy_var "[idxs...]"
3297+
idxs = int | int "," idxs
3298+
maybe_dummy_var = namespacedvar | namespacedvar "(t)" |
3299+
namespacedvar "(t)" "ˍ" ts | namespacedvar "ˍ" ts |
3300+
namespacedvar "ˍ" ts "(t)"
3301+
ts = "t" | "t" ts
3302+
namespacedvar = ident "₊" namespacedvar | ident "." namespacedvar | ident
3303+
```
3304+
"""
32993305
function parse_variable(sys::AbstractSystem, str::AbstractString)
3306+
# I'd write a regex to validate `str`, but https://xkcd.com/1171/
33003307
str = strip(str)
33013308
derivative_level = 0
33023309
while startswith(str, "D(") && endswith(str, ")")

0 commit comments

Comments
 (0)