Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2017-01-06 | Store platform targets as typed target_triplet | Boris Kolpackov | 1 | -11/+12 | |
2017-01-05 | Update copyright year | Boris Kolpackov | 1 | -1/+1 | |
2016-12-17 | Add support for specifying individual paths of imported targets | Boris Kolpackov | 1 | -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 | |||||
2016-12-16 | Minor code cleanup | Boris Kolpackov | 1 | -11/+19 | |
2016-12-07 | Make use of butl::path::current(), butl::path::parent() | Karen Arutyunov | 1 | -2/+2 | |
2016-12-06 | Work around wrong static initialization order in VC | Boris Kolpackov | 1 | -11/+13 | |
2016-12-05 | Eliminate the use of '/...' paths on Windows | Karen Arutyunov | 1 | -22/+14 | |
2016-12-05 | Use empty path for root scope | Karen Arutyunov | 1 | -6/+3 | |
2016-12-05 | Adapt to semantics change of path::normalize() | Karen Arutyunov | 1 | -1/+3 | |
2016-12-05 | Use new convert() in if-else, assert parsing | Boris Kolpackov | 1 | -27/+16 | |
2016-12-05 | Add comma, ternary, logical operators support in eval context | Boris Kolpackov | 1 | -149/+340 | |
2016-12-01 | Allow implicit (lexical) typed-to-typed conversion | Boris Kolpackov | 1 | -22/+32 | |
2016-11-30 | Add support for typed/untyped concatenated expansion | Boris Kolpackov | 1 | -224/+438 | |
2016-11-25 | Distinguish token quoting type and completeness | Boris Kolpackov | 1 | -2/+5 | |
2016-11-23 | Implement value type propagation on expansion | Boris Kolpackov | 1 | -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. | |||||
2016-11-23 | Implement assert directive | Boris Kolpackov | 1 | -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. | |||||
2016-11-22 | Minor fix | Boris Kolpackov | 1 | -7/+7 | |
2016-11-22 | Use diagnostics facility from libbutl | Boris Kolpackov | 1 | -2/+1 | |
2016-11-18 | Add function machinery, implement path.normalize() | Boris Kolpackov | 1 | -26/+20 | |
Note that multi-argument functions are not yet "callable" since there is no support for value packs. | |||||
2016-11-18 | Make names and vector<name> different types, add typed value constructor | Boris Kolpackov | 1 | -1/+1 | |
2016-11-11 | Get rid of lexer modes overriding pair separators | Boris Kolpackov | 1 | -8/+8 | |
2016-11-04 | Handle explicit test scopes | Boris Kolpackov | 1 | -1/+1 | |
2016-11-04 | Handle pre-parsing of simple pairs in parse_names() | Boris Kolpackov | 1 | -38/+51 | |
2016-11-04 | Use special mode for attribute lexing | Boris Kolpackov | 1 | -9/+3 | |
2016-11-04 | Add support for ignoring separators inside names | Boris Kolpackov | 1 | -11/+19 | |
2016-11-04 | When assigning always ignore existing value type | Boris Kolpackov | 1 | -20/+22 | |
For example: x = [uint64] 1 x = a # Ok. | |||||
2016-11-04 | Minor cleanup | Boris Kolpackov | 1 | -7/+7 | |
2016-11-04 | Implement pre-parsing mode for subset of buildfile parsing functions | Boris Kolpackov | 1 | -190/+243 | |
2016-11-04 | Various minor buildfile lexer/parser changes | Boris Kolpackov | 1 | -18/+27 | |
2016-11-04 | Keep track of lexer mode in parser replay mechanism | Boris Kolpackov | 1 | -8/+11 | |
2016-11-04 | Change token type 'name' to more general 'word' | Boris Kolpackov | 1 | -21/+21 | |
2016-11-04 | Add support for lexer name scanning customization | Boris Kolpackov | 1 | -2/+1 | |
2016-11-04 | Use parse_* naming for parsing functions | Boris Kolpackov | 1 | -133/+133 | |
2016-11-04 | Add variable lookup hook to parser | Boris Kolpackov | 1 | -39/+48 | |
2016-11-04 | Allow customizing names parsing diagnostics | Boris Kolpackov | 1 | -7/+11 | |
2016-11-04 | Minor fixes | Boris Kolpackov | 1 | -2/+2 | |
2016-11-04 | Handle printing of extended tokens | Boris Kolpackov | 1 | -7/+8 | |
2016-11-04 | Various design/implementation cleanups | Boris Kolpackov | 1 | -38/+26 | |
2016-09-15 | Add io_error alias for std::ios_base::failure | Karen Arutyunov | 1 | -3/+3 | |
2016-08-30 | Add support for target visibility, use for dist, test, install | Boris Kolpackov | 1 | -7/+15 | |
This means we can no longer write: install = false Now it should be: *: install = false | |||||
2016-08-30 | Add support for using '*' as target type in variable assignment | Boris Kolpackov | 1 | -3/+8 | |
So these three are equivalent: *: foo = 1 {*}: foo = 2 *{*}: foo = 3 | |||||
2016-08-17 | Allow expansion of undefined/NULL namespace variables | Boris Kolpackov | 1 | -2/+4 | |
This restriction is not proving to get in the way. | |||||
2016-08-10 | Add ignore case support for find_option() | Karen Arutyunov | 1 | -2/+1 | |
2016-08-05 | Implement out-qualified target syntax for setting target-specific vars | Boris Kolpackov | 1 | -17/+54 | |
So now we can do: doc{INSTALL}@./: install = false Note that so far that's the only place where we support out-qualification. Grep for @@ OUT to see other places. | |||||
2016-08-05 | Merge 'value' and 'pairs' lexer_mode, call it 'value' | Boris Kolpackov | 1 | -24/+24 | |
We only really used pairs. | |||||
2016-08-02 | Optimize out path::normalize() calls | Boris Kolpackov | 1 | -7/+24 | |
2016-07-28 | Adjust to new path implementation, use to support reversibility | Boris Kolpackov | 1 | -34/+21 | |
2016-07-25 | Only do "effective escaping" (['"\$(]) on the command line | Boris Kolpackov | 1 | -1/+4 | |
This will make things more convenient on Windows provided we use "sane" paths (no spaces, no (), etc). | |||||
2016-07-23 | Adapt to fdstream extension | Karen Arutyunov | 1 | -17/+6 | |
2016-07-21 | Add support for single line if-blocks | Boris Kolpackov | 1 | -23/+50 | |
So now we can do: if true print true else print false Instead having to do: if true { print true } else { print false } |