summaryrefslogtreecommitdiffstats
path: root/Source/cmListFileLexer.h
Commit message (Collapse)AuthorAgeFilesLines
* Add Lua-style long brackets and long comments to CMake languageBrad King2013-10-171-0/+3
| | | | | | | | | | | | | | | | | Teach the CMake language parser to recognize Lua-style "long bracket" arguments. These start with two '[' separated by zero or more '=' characters e.g. "[[" or "[=[" or "[==[". They end with two ']' separated by the same number of '=' as the opening bracket. There is no nesting of brackets of the same level (number of '='). No escapes, variable expansion, or other processing is performed on the content between such brackets so they always represent exactly one argument. Also teach CMake to parse and ignore "long comment" syntax. A long comment starts with "#" immediately followed by an opening long bracket. It ends at the matching close long bracket. Teach the RunCMake.Syntax test to cover long bracket and long comment cases.
* cmListFileLexer: Allow a leading UTF-8 Byte-Order-Mark (#11137)Brad King2013-10-171-1/+13
| | | | | | Teach the lexer to read a UTF-8, UTF-16 BE/LE, or UTF-32 BE/LE Byte-Order-Mark from the start of a file if any is present. Report an error on files using UTF-16 or UTF-32 and accept a UTF-8 or missing BOM.
* Warn about arguments not separated by whitespaceBrad King2013-08-081-0/+1
| | | | | | | | | | | Teach the lexer to return tokens for whitespace. Teach the parser to tolerate the space tokens where whitespace is allowed. Also teach the parser to diagnose and warn about cases of quoted arguments followed immediately by another argument. This was accidentally allowed previously, so we only warn. Update the RunCMake.Syntax test case StringNoSpace expected stderr to include the warnings.
* Convert CMake to OSI-approved BSD LicenseBrad King2009-09-281-14/+9
| | | | | | | This converts the CMake license to a pure 3-clause OSI-approved BSD License. We drop the previous license clause requiring modified versions to be plainly marked. We also update the CMake copyright to cover the full development time range.
* BUG#1049: Added error message when file ends in an unterminated string.Brad King2004-08-311-1/+4
|
* ENH: Added cmListFileLexer_SetString method to allow a string to be parsed ↵Brad King2004-04-211-0/+1
| | | | as input.
* ENH: Using lex-based tokenizer and a simple recursive-descent parser in ↵Brad King2003-12-081-0/+60
place of the old hand-coded parser for CMake listfiles.