aboutsummaryrefslogtreecommitdiff
path: root/build/parser
AgeCommit message (Collapse)AuthorFilesLines
2015-03-09Add support for skipping already loaded/included buildfiles at top levelBoris Kolpackov1-5/+3
The idea is that a buildfile shall be included/loaded only once for any given out_root.
2015-03-07Add support for buildspecBoris Kolpackov1-2/+11
2015-03-06Add support for lexing and parsing name pairsBoris Kolpackov1-2/+3
We will need it for the buildspec and also if/when we support map variable types.
2015-03-04Move roots and bases to appropriate scopesBoris Kolpackov1-0/+3
2015-03-03Implement new default target logic, canonical directory name (empty value)Boris Kolpackov1-0/+8
The logic is as follows: if we have an explicit current directory target, then that's the default target. Otherwise, we take the first target and use it as a prerequisite to create an implicit current directory target, effectively making it the default target via an alias. If there are no targets in this buildfile, then we don't do anything.
2015-03-02Implement variable expansionBoris Kolpackov1-0/+7
2015-03-02Indicate whether token is separated from previous one by whitespacesBoris Kolpackov1-1/+1
2015-02-27Variable assignment, appending supportBoris Kolpackov1-13/+2
2015-02-20Get rid of parse_ prefix in parser function namesBoris Kolpackov1-11/+11
2015-02-19Add support for sourcing/including buildfiles, print, dir{} aliasBoris Kolpackov1-14/+24
2015-01-20Diagnostic infrastructure revampBoris Kolpackov1-12/+15
2015-01-16Add support for directory prefixesBoris Kolpackov1-4/+6
For example: cxx{driver ../{foo bar}} cxx{driver} ../cxx{foo bar}
2014-12-18Initial support for loading dependency info from buildfilesBoris Kolpackov1-4/+18
Also a new iteration on the overall architecture. Now, for the first time, build can read the buildfile and build itself. g++-4.9 -std=c++14 -g -I.. -o bd bd.cxx algorithm.cxx scope.cxx parser.cxx lexer.cxx target.cxx prerequisite.cxx rule.cxx native.cxx cxx/target.cxx cxx/rule.cxx process.cxx timestamp.cxx path.cxx g++-4.9 -std=c++14 -g -I../../.. -o driver driver.cxx ../../../build/lexer.cxx g++-4.9 -std=c++14 -g -I../../.. -o driver driver.cxx ../../../build/lexer.cxx ../../../build/parser.cxx ../../../build/scope.cxx ../../../build/target.cxx ../../../build/native.cxx ../../../build/prerequisite.cxx ../../../build/path.cxx ../../../build/timestamp.cxx
2014-12-15Parse directory scopesBoris Kolpackov1-2/+16
2014-12-12Initial buildfile parser implementationBoris Kolpackov1-0/+55
g++-4.9 -std=c++14 -g -I../../.. -o driver driver.cxx ../../../build/lexer.cxx ../../../build/parser.cxx && ./driver