aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/token.hxx
AgeCommit message (Collapse)AuthorFilesLines
2022-12-15Improve escape sequence supportBoris Kolpackov1-5/+3
Specifically: 1. In the double-quoted strings we now only do effective escaping of the special `$("\` characters plus `)` for symmetry. 2. There is now support for "escape sequence expansion" in the form $\X where \X can be any of the C/C++ simple escape sequences (\n, \t, etc) plus \0 (which in C/C++ is an octal escape sequence). For example: info "foo$\n$\tbar$\n$\tbaz" Will print: buildfile:1:1: info: foo bar baz
2021-05-28Add support for regex-based target type/pattern specific variablesBoris Kolpackov1-1/+2
This is in addition to the already supported path-based target type/pattern specific variables. For example: hxx{*}: x = y # path-based hxx{~/.*/}: x = y # regex-based
2021-05-28Recognize quoting of first character in tokenBoris Kolpackov1-7/+18
Use this to relax the pattern inclusion/exclusion syntax to only require unquoted +/-.
2020-07-13Reserve backtick (`) and bit-or (|) in eval context for future useBoris Kolpackov1-0/+1
Specifically, they are reserved for future support of arithmetic evaluation contexts and evaluation pipelines, respectively.
2020-06-10Handle special variable names when spelled as $(<char>) rather than $<char>Boris Kolpackov1-0/+1
2020-05-27Initial support for ad hoc recipes (still work in progress)Boris Kolpackov1-5/+43
2020-03-20Lexer support for default value assignment (?=)Boris Kolpackov1-0/+1
Note: not yet supported in the parser.
2020-02-07Drop copyright notice from source codeKaren Arutyunov1-1/+0
2019-11-14Tighten up attribute recognition during parsingBoris Kolpackov1-2/+7
Now it should be possible to use `[]` for wildcard patterns, for example: foo = foo.[hit]xx Note that a leading bracket expression will still be recognized as attributes and escaping or quoting it will inhibit pattern matching. To resolve this case we need to specify an empty attribute list: foo = [] [abc]-foo.cxx
2019-11-11Use path_name for `-` to stdin/stdout translationKaren Arutyunov1-7/+7
2019-09-30Add support for `case` pattern alternativesBoris Kolpackov1-0/+2
case <pattern>[ | <pattern>...]
2019-07-01Split build system into library and driverBoris Kolpackov1-0/+191