Commit Graph

11 Commits

Author SHA1 Message Date
Kelvin Sherlock 91590e92aa add missing (mostly macroman) operators 2022-11-25 16:02:27 -05:00
Kelvin Sherlock ce1a36eba5 add regular expression support for evaluate, if, etc.
eg:

evaluate abc =~ /(abc)®4/ # sets the '@4' environment variable.
evaluate abc !~ /[aA]bc/

MPW regular expressions are converted to c++11 std::regex regular expressions and evaluated.
Sadly, the // regular expression syntax interferes with unix-paths (if the / count is odd).  quoting or ∂-escaping the /s is therefore necessary.

file globbing is not yet implemented.
2022-11-22 17:22:49 -05:00
Kelvin Sherlock fdf33c69b7 token support for regular expression strings /.../ and \...\. Also tokenizer support for =~ and !~ operators. 2022-11-02 21:42:25 -04:00
Kelvin Sherlock 1da6c3e9da fix + / - confusion. 2016-08-11 16:09:39 -04:00
Kelvin Sherlock 413b9a805b tokenizer -- remove quotes as separate step, return clean command line. 2016-07-28 13:43:33 -04:00
Kelvin Sherlock 9b16e98133 fix up tokenizer a little bit 2016-07-27 16:28:11 -04:00
Kelvin Sherlock 47af010ba5 mpw errors 2016-07-27 14:04:57 -04:00
Kelvin Sherlock fac76f1b54 shell tokenizer -- support extended characters. 2016-07-23 15:20:56 -04:00
Kelvin Sherlock da92eb4e36 clean up tokenizer. 2016-07-23 12:50:38 -04:00
Kelvin Sherlock 475bd392ad process vector of commands all at once. 2016-02-02 16:20:32 -05:00
Kelvin Sherlock 7034e1193e initial version 2016-01-27 10:43:34 -05:00