aboutsummaryrefslogtreecommitdiff
path: root/build2/parser.cxx
AgeCommit message (Expand)AuthorFilesLines
2016-12-07Make use of butl::path::current(), butl::path::parent()Karen Arutyunov1-2/+2
2016-12-06Work around wrong static initialization order in VCBoris Kolpackov1-11/+13
2016-12-05Eliminate the use of '/...' paths on WindowsKaren Arutyunov1-22/+14
2016-12-05Use empty path for root scopeKaren Arutyunov1-6/+3
2016-12-05Adapt to semantics change of path::normalize()Karen Arutyunov1-1/+3
2016-12-05Use new convert() in if-else, assert parsingBoris Kolpackov1-27/+16
2016-12-05Add comma, ternary, logical operators support in eval contextBoris Kolpackov1-149/+340
2016-12-01Allow implicit (lexical) typed-to-typed conversionBoris Kolpackov1-22/+32
2016-11-30Add support for typed/untyped concatenated expansionBoris Kolpackov1-224/+438
2016-11-25Distinguish token quoting type and completenessBoris Kolpackov1-2/+5
2016-11-23Implement value type propagation on expansionBoris Kolpackov1-56/+76
2016-11-23Implement assert directiveBoris Kolpackov1-23/+70
2016-11-22Minor fixBoris Kolpackov1-7/+7
2016-11-22Use diagnostics facility from libbutlBoris Kolpackov1-2/+1
2016-11-18Add function machinery, implement path.normalize()Boris Kolpackov1-26/+20
2016-11-18Make names and vector<name> different types, add typed value constructorBoris Kolpackov1-1/+1
2016-11-11Get rid of lexer modes overriding pair separatorsBoris Kolpackov1-8/+8
2016-11-04Handle explicit test scopesBoris Kolpackov1-1/+1
2016-11-04Handle pre-parsing of simple pairs in parse_names()Boris Kolpackov1-38/+51
2016-11-04Use special mode for attribute lexingBoris Kolpackov1-9/+3
2016-11-04Add support for ignoring separators inside namesBoris Kolpackov1-11/+19
2016-11-04When assigning always ignore existing value typeBoris Kolpackov1-20/+22
2016-11-04Minor cleanupBoris Kolpackov1-7/+7
2016-11-04Implement pre-parsing mode for subset of buildfile parsing functionsBoris Kolpackov1-190/+243
2016-11-04Various minor buildfile lexer/parser changesBoris Kolpackov1-18/+27
2016-11-04Keep track of lexer mode in parser replay mechanismBoris Kolpackov1-8/+11
2016-11-04Change token type 'name' to more general 'word'Boris Kolpackov1-21/+21
2016-11-04Add support for lexer name scanning customizationBoris Kolpackov1-2/+1
2016-11-04Use parse_* naming for parsing functionsBoris Kolpackov1-133/+133
2016-11-04Add variable lookup hook to parserBoris Kolpackov1-39/+48
2016-11-04Allow customizing names parsing diagnosticsBoris Kolpackov1-7/+11
2016-11-04Minor fixesBoris Kolpackov1-2/+2
2016-11-04Handle printing of extended tokensBoris Kolpackov1-7/+8
2016-11-04Various design/implementation cleanupsBoris Kolpackov1-38/+26
2016-09-15Add io_error alias for std::ios_base::failureKaren Arutyunov1-3/+3
2016-08-30Add support for target visibility, use for dist, test, installBoris Kolpackov1-7/+15
2016-08-30Add support for using '*' as target type in variable assignmentBoris Kolpackov1-3/+8
2016-08-17Allow expansion of undefined/NULL namespace variablesBoris Kolpackov1-2/+4
2016-08-10Add ignore case support for find_option()Karen Arutyunov1-2/+1
2016-08-05Implement out-qualified target syntax for setting target-specific varsBoris Kolpackov1-17/+54
2016-08-05Merge 'value' and 'pairs' lexer_mode, call it 'value'Boris Kolpackov1-24/+24
2016-08-02Optimize out path::normalize() callsBoris Kolpackov1-7/+24
2016-07-28Adjust to new path implementation, use to support reversibilityBoris Kolpackov1-34/+21
2016-07-25Only do "effective escaping" (['"\$(]) on the command lineBoris Kolpackov1-1/+4
2016-07-23Adapt to fdstream extensionKaren Arutyunov1-17/+6
2016-07-21Add support for single line if-blocksBoris Kolpackov1-23/+50
2016-07-20Switch to dynamic empty() implementation in variable valueBoris Kolpackov1-16/+20
2016-07-20Implement support for <, >, <=, >= in eval contextBoris Kolpackov1-16/+60
2016-07-16Add support for prepend/append in target type/pattern-specific varsBoris Kolpackov1-12/+84
2016-06-27Add config.bin.target var/hint, use to decide libso{} install modeBoris Kolpackov1-2/+2