summaryrefslogtreecommitdiffstats
path: root/build2/parser.cxx
Commit message (Collapse)AuthorAgeFilesLines
...
* Use standard_version for module versioning checksBoris Kolpackov2017-04-281-15/+12
|
* Fix bug in pair handlingBoris Kolpackov2017-04-261-1/+1
|
* Rename version header to version-impl to give way to version moduleBoris Kolpackov2017-04-251-2/+0
|
* Add support for inclusion/exclusion groups in wildcard patternsBoris Kolpackov2017-03-171-2/+13
| | | | For example cxx{* -{foo bar *x}}.
* Add tests for multi-pattern crosses seeing that we use themBoris Kolpackov2017-03-171-1/+1
|
* Add support for passing parameters to (meta-) operationsBoris Kolpackov2017-03-161-45/+82
|
* Filter hidden files/directories in wildcard patterns matchesBoris Kolpackov2017-03-131-5/+15
|
* Adapt for path_search() changeKaren Arutyunov2017-03-131-5/+7
|
* Implement dir/type-aware name group crossingBoris Kolpackov2017-03-131-124/+114
|
* Minor changeBoris Kolpackov2017-03-131-3/+2
|
* Implement support for wildcard patternsBoris Kolpackov2017-03-101-162/+617
|
* Specify config.test.output variableBoris Kolpackov2017-03-071-0/+1
|
* Only recognize function call if lparen is unseparatedBoris Kolpackov2017-03-061-1/+4
|
* Implement parallel matchBoris Kolpackov2017-03-021-3/+9
|
* Allow back overriding variables specified in buildfilesBoris Kolpackov2017-02-131-6/+11
| | | | | | | | It is still not clear whether this is the right thing to allow, conceptually, but with this disallowed it's hard to test this functionality. Perhaps we should have an attribute [overridable]. The problem is one will also have to set this variable to some value (e.g., [null]) which is not exactly the same as undefined (especially when testing).
* Implement target_set locking, including extension updateBoris Kolpackov2017-02-131-1/+4
|
* Redesign target_set interface in preparation for lockingBoris Kolpackov2017-02-131-1/+1
|
* Pass const scope& where modification should not happenBoris Kolpackov2017-02-131-1/+1
|
* Add load generation to global variable_map valuesBoris Kolpackov2017-02-131-7/+11
|
* Add notion of load phase generationBoris Kolpackov2017-02-131-1/+1
|
* Add model mutex, make var_pool const by defaultBoris Kolpackov2017-02-131-9/+16
|
* Go back to storing scope instead of target in prerequisiteBoris Kolpackov2017-01-231-8/+10
| | | | Turns out this was semantically the right way to do it.
* Implement automatic loading of directory buildfilesBoris Kolpackov2017-01-231-43/+20
| | | | | | | | | | | | Now instead of explicitly writing: d = foo/ bar/ ./: $d include $d We can (usually) just write: ./: foo/ bar/
* Remove prerequisite caching in scopeBoris Kolpackov2017-01-201-45/+36
| | | | | We don't share them often and those that are shared (e.g., cxx{} in obja/objs{}) are lightweight (SOO).
* Get rid of extension_poolBoris Kolpackov2017-01-191-7/+7
|
* Get rid of project_name_poolBoris Kolpackov2017-01-191-24/+29
| | | | | With small string optimizations this is most likely a hindrance rather that an optimization.
* Make use of operator<<(ostream, exception)Karen Arutyunov2017-01-091-9/+9
|
* Store platform targets as typed target_tripletBoris Kolpackov2017-01-061-11/+12
|
* Update copyright yearBoris Kolpackov2017-01-051-1/+1
|
* Add support for specifying individual paths of imported targetsBoris Kolpackov2016-12-171-2/+1
| | | | | | | | | | | The new config.import.* variable format is: config.import.<proj>.<name>[.<type>] For example: b config.import.build2.b=/opt/build2/bin/b b config.import.build2.b.exe=b-boot
* Minor code cleanupBoris Kolpackov2016-12-161-11/+19
|
* Make use of butl::path::current(), butl::path::parent()Karen Arutyunov2016-12-071-2/+2
|
* Work around wrong static initialization order in VCBoris Kolpackov2016-12-061-11/+13
|
* Eliminate the use of '/...' paths on WindowsKaren Arutyunov2016-12-051-22/+14
|
* Use empty path for root scopeKaren Arutyunov2016-12-051-6/+3
|
* Adapt to semantics change of path::normalize()Karen Arutyunov2016-12-051-1/+3
|
* Use new convert() in if-else, assert parsingBoris Kolpackov2016-12-051-27/+16
|
* Add comma, ternary, logical operators support in eval contextBoris Kolpackov2016-12-051-149/+340
|
* Allow implicit (lexical) typed-to-typed conversionBoris Kolpackov2016-12-011-22/+32
|
* Add support for typed/untyped concatenated expansionBoris Kolpackov2016-11-301-224/+438
|
* Distinguish token quoting type and completenessBoris Kolpackov2016-11-251-2/+5
|
* Implement value type propagation on expansionBoris Kolpackov2016-11-231-56/+76
| | | | | | Currently, we only propagate types of sole, unquoted expansions (variable, function call, or eval context), similar to NULL. To untypify the value, simply quote it.
* Implement assert directiveBoris Kolpackov2016-11-231-23/+70
| | | | | | | | | The grammar is as follows: assert <expression> [<description>] assert! <expression> [<description>] The expression must evaluate to 'true' or 'false', just like in if-else.
* Minor fixBoris Kolpackov2016-11-221-7/+7
|
* Use diagnostics facility from libbutlBoris Kolpackov2016-11-221-2/+1
|
* Add function machinery, implement path.normalize()Boris Kolpackov2016-11-181-26/+20
| | | | | Note that multi-argument functions are not yet "callable" since there is no support for value packs.
* Make names and vector<name> different types, add typed value constructorBoris Kolpackov2016-11-181-1/+1
|
* Get rid of lexer modes overriding pair separatorsBoris Kolpackov2016-11-111-8/+8
|
* Handle explicit test scopesBoris Kolpackov2016-11-041-1/+1
|
* Handle pre-parsing of simple pairs in parse_names()Boris Kolpackov2016-11-041-38/+51
|