aboutsummaryrefslogtreecommitdiff
path: root/build/lexer
AgeCommit message (Collapse)AuthorFilesLines
2015-09-10Add support for token pre-processing in lexerBoris Kolpackov1-2/+12
2015-09-09Add support for evaluation contextBoris Kolpackov1-29/+21
For now it acts as just the value mode that can be enabled anywhere variable expansion is supported, for example: (foo=bar): And the primary use currently is to enable/test quoted and indirect variable expansion: "foo bar" = FOO BAR print $"foo bar" # Invalid. print $("foo bar") # Yeah, baby. foo = FOO FOO = foo print $($foo) Not that you should do something like this...
2015-09-09Reimplement double quote lexing to avoid "implied quote" trickBoris Kolpackov1-6/+3
2015-09-08Initial take on double quote supportBoris Kolpackov1-4/+9
Currently, $(foo)-style variable expansion is not supported.
2015-09-08Use mode stack in lexerBoris Kolpackov1-7/+27
2015-09-08Implement single quote supportBoris Kolpackov1-1/+4
2015-09-08Clean up lexer mode logicBoris Kolpackov1-1/+3
2015-07-13Add support for pair-enabled variablesBoris Kolpackov1-0/+3
2015-06-18Add char-scanner to libbutl, use in libbpkg and build2Boris Kolpackov1-54/+5
2015-05-11Correct copyrightBoris Kolpackov1-1/+1
2015-03-30Initial support for command line variablesBoris Kolpackov1-0/+3
2015-03-30Add support for configurable pair separator, use @ instead of = in buildspecBoris Kolpackov1-4/+10
2015-03-09Add support for skipping already loaded/included buildfiles at top levelBoris Kolpackov1-2/+2
The idea is that a buildfile shall be included/loaded only once for any given out_root.
2015-03-06Add support for lexing and parsing name pairsBoris Kolpackov1-9/+21
We will need it for the buildspec and also if/when we support map variable types.
2015-03-02Implement variable expansionBoris Kolpackov1-2/+4
2015-03-02Indicate whether token is separated from previous one by whitespacesBoris Kolpackov1-14/+18
2015-03-02Implement value lexing modeBoris Kolpackov1-2/+9
So that we can do foo=g++ without having to resort to quoting
2015-01-20Diagnostic infrastructure revampBoris Kolpackov1-11/+14
2014-12-12Initial buildfile parser implementationBoris Kolpackov1-5/+11
g++-4.9 -std=c++14 -g -I../../.. -o driver driver.cxx ../../../build/lexer.cxx ../../../build/parser.cxx && ./driver
2014-12-12Add test for lexerBoris Kolpackov1-0/+3
g++-4.9 -std=c++14 -g -I../../.. -o driver driver.cxx ../../../build/lexer.cxx && ./driver
2014-12-11Initial lexer implementation for buildfilesBoris Kolpackov1-0/+98