aboutsummaryrefslogtreecommitdiff
path: root/build2/parser.cxx
AgeCommit message (Collapse)AuthorFilesLines
2016-04-19Redesign src/out scopingBoris Kolpackov1-19/+54
We no longer enter paths from the src tree into scope map. Instead, targets from the src tree now include their out tree directory (in essence their "configuration"). This is then used to find a target's scope. See the comment in class target for details. The result of this change is that we can now again build multiple configurations (out trees) for same project at once.
2016-04-18Add support for using value attributes in eval contextBoris Kolpackov1-174/+271
For example: if ($x == [null]) Or: if ([uint64] 01 == [uint64] 1)
2016-04-11New configuration logic, iteration 1Boris Kolpackov1-3/+2
2016-04-09Add abs_dir_path type, auto-complete if initialized from namesBoris Kolpackov1-10/+11
2016-04-05Add support for scope/target-qualified variable expansionBoris Kolpackov1-91/+160
For example: print $(dir/:var) print $(file{target}:var) print $(dir/file{target}:var) Note that if the scope/target does not (yet) exists, it will be created.
2016-04-05Make name::pair char againBoris Kolpackov1-2/+12
The plan is to represent scope/target-qualified variables as ':'-style pairs.
2016-04-04Implement value typing, null support via value attributesBoris Kolpackov1-128/+306
For example: v = [null] v = [string] abc v += ABC # abcABC
2016-04-02Implement variable typing (via attributes)Boris Kolpackov1-19/+77
Now we can do: [string] str = foo
2016-04-02Add attribute syntax infrastructureBoris Kolpackov1-25/+141
2016-04-01Allow specifying scope in target type/pattern-specific variable assignmentBoris Kolpackov1-38/+43
For example: tests/exe{*}: test = true
2016-03-31Set part of variable override implementationBoris Kolpackov1-0/+14
2016-03-30Minor parser interface reworkBoris Kolpackov1-12/+11
2016-03-28New variable architectureBoris Kolpackov1-15/+21
2016-03-28Add support for pair representation reversibilityBoris Kolpackov1-1/+1
2016-03-28Change pairs semantics from separated to unseparatedBoris Kolpackov1-14/+29
Before we use to recognize 'x @ y' as a pair. Now it has to be written unseparated, as 'x@y'. See tests/pairs for details on the new semantics.
2016-03-28Enable @-delimited pairs mode everywhereBoris Kolpackov1-41/+102
2016-02-29Rename level[1-6]() to l[1-6]()Boris Kolpackov1-9/+9
2016-02-12<types>/<utility> scheme cleanupBoris Kolpackov1-6/+0
2016-01-24Differentiate extension printing according to stream verbosityBoris Kolpackov1-3/+2
2016-01-24If base target type doesn't use extensions, don't use them in derivedBoris Kolpackov1-2/+6
2016-01-24Fix bug in dynamically derived target typesBoris Kolpackov1-1/+8
2016-01-23Cleanup absolute/relative path diagnostics by introducing stream verbosityBoris Kolpackov1-13/+13
2016-01-21Add support for ==, != in eval contextBoris Kolpackov1-3/+42
2016-01-21Rename equal token to assign, etcBoris Kolpackov1-16/+10
2016-01-09Update copyright yearBoris Kolpackov1-1/+1
2016-01-05Rename build directory/namespace to build2Boris Kolpackov1-0/+2206