aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/script/parser.cxx
AgeCommit message (Collapse)AuthorFilesLines
2022-12-15Add noexcept to move constructors and move assignment operatorsKaren Arutyunov1-1/+1
2022-12-14Improve empty simple value to empty list of names reduction heuristicsBoris Kolpackov1-2/+6
Specifically, do not reduce typed RHS empty simple values for prepend/append and additionally for assignment provided LHS is typed and is a container.
2022-11-09Use diag_buffer in scriptKaren Arutyunov1-46/+67
2022-10-21Add support for pairs in script 'for x:...' loopKaren Arutyunov1-10/+9
2022-10-21Change attribute syntax in script to come after variable in set and for (set ↵Karen Arutyunov1-23/+34
x [...], for x [...])
2022-10-14Fix 'for [<attrs>] x: ...' to treat <attrs> as value attributesKaren Arutyunov1-3/+6
2022-10-14Make -w|--whitespace to be default for for-loopKaren Arutyunov1-1/+1
2022-10-13Add support for 'for' loop second (... | for x) and third (for x <...) forms ↵Karen Arutyunov1-66/+307
in script
2022-09-29Fix variable append logic in scriptBoris Kolpackov1-55/+7
2022-09-28Add support for 'for' loop first form (for x:...) in scriptKaren Arutyunov1-11/+179
2022-09-28Add support for 'while' loop in scriptKaren Arutyunov1-71/+130
2022-07-08Fix script::parser::need_cmdline_relex()Karen Arutyunov1-1/+1
2022-07-07Use new cmdline type for canned command lines in {Build,Test}scriptBoris Kolpackov1-10/+37
2022-02-16Invent quoting modes for to_stream(name)Karen Arutyunov1-3/+3
2021-11-23Add support for dynamic dependencies in ad hoc Buildscript recipesBoris Kolpackov1-1/+1
Specifically, add the new `depdb dyndep` builtin that can be used to extract dynamic dependencies from a program run or a file. For example: obje{hello.o}: cxx{hello} {{ s = $path($<[0]) depdb dyndep $cxx.poptions $cc.poptions --what=header --default-prereq-type=h -- $cxx.path $cxx.poptions $cc.poptions $cxx.mode -M -MG $s diag c++ ($<[0]) o = $path($>) $cxx.path $cxx.poptions $cc.poptions $cc.coptions $cxx.coptions $cxx.mode -o $o -c $s }} Currently only the `make` dependency format is supported.
2021-10-14Disable re-parse of sole expansions in BuildscriptBoris Kolpackov1-7/+14
2021-10-14Pass along parse_names_result during script command parsingBoris Kolpackov1-14/+19
2021-10-13Add --cwd|-t option to env pseudo-builtinKaren Arutyunov1-4/+36
2021-05-28Add pattern_mode::ignore and use in appropriate placesBoris Kolpackov1-6/+6
2021-05-28Make notion of name pattern explicit, fix various related loose endsBoris Kolpackov1-6/+6
2021-04-21Add buildscript depdb builtin 'env' commandKaren Arutyunov1-1/+1
2020-12-11Add export script pseudo-builtinKaren Arutyunov1-19/+5
2020-11-06Add support for test timeoutsKaren Arutyunov1-25/+70
2020-06-18Add env script pseudo-builtinKaren Arutyunov1-5/+157
Also disable C++ recipe tests when cross-testing.
2020-06-18Fix build2::script::parser::[reset_]quoted() to consider peeked token in ↵Karen Arutyunov1-2/+3
replay mode
2020-06-04Properly handle diag directive in build script parserKaren Arutyunov1-25/+28
2020-06-03Allow process path values and targets as buildscript program namesKaren Arutyunov1-15/+68
Also deduce the recipe name.
2020-05-27Initial support for ad hoc recipes (still work in progress)Boris Kolpackov1-0/+2015