Commit Graph

40 Commits

Author SHA1 Message Date
Axel Naumann
e5b63c66a6 Support bare # in input line: (#14109)
fixes #11190.

Co-authored-by: Devajith Valaparambil Sreeramaswamy <devajith.valaparambil.sreeramaswamy@cern.ch>
2024-01-25 15:29:08 +01:00
Javier Lopez-Gomez
a8a3db4611 Cleanup MetaLexer; remove unused LexPunctuatorAndAdvance() 2021-09-08 19:14:06 +02:00
Javier Lopez-Gomez
41f3ed6c97 MetaLexer: return /* and */ as tokens; added ReadToEndOfLine()
This commit includes the following changes to MetaLexer:
- Update `MetaLexer::Lex()` to return `/*` (tok::l_comment), `*/` (tok::r_comment),
and `<` (tok::less) as tokens.

- Added `MetaLexer::ReadToEndOfLine()` function: consume input until `\r` or `\n`.

- Added `MetaLexer::RAII`, a RAII object that saves/restores the current position.
2021-09-08 19:14:06 +02:00
Vassil Vassilev
deafa47202 Remove unused parameters. Fixes -Wunused-parameter. 2021-02-25 20:44:18 +01:00
Vassil Vassilev
69f1d35dd6 Revert "Revert "[cxxmodules] Publish MetaLexer too.""
This reverts commit 0f583c7ef0173fba1caa7680188e7bc767f5d97d.

We need this change because whoever uses MetaParser.h will not be
able to compile their program. MetaParser.h includes MetaLexer.h.
2018-10-30 15:14:45 +01:00
Vassil Vassilev
07d84fcec1 Revert "[cxxmodules] Publish MetaLexer too."
This reverts commit 20d116e723018bae496c7fb78fbeec22543d14c6.

We will have to debug the exact cxxmodules failure.
2018-10-30 09:59:09 +01:00
Vassil Vassilev
a47da9e9cd Publish MetaLexer too.
This fixes our cxxmodules builds.
2018-10-24 21:45:01 +02:00
Frederich Munch
df4aea2fb0 Add continuation support for comma and backslash characters. 2017-06-23 15:14:10 +02:00
Axel Naumann
cfbf9ee8c8 Return whether there was a (non-punct) token between now and next (ROOT-8529). 2017-01-13 11:59:10 +01:00
Frederich Munch
91c925632c Add template keyword support to InputValidator. 2016-12-12 12:29:38 +01:00
Frederich Munch
72c3eac1e1 Add block comment support to InputValidator. 2016-12-12 12:29:38 +01:00
Frederich Munch
a2fd30a8d5 Don't reallocate MetaLexer on the heap for every line. Its a waste of time for 24 bytes that will be needed for every line anyway. Remove bufferEnd field as it was entirely unused. 2016-12-12 12:29:38 +01:00
Frederich Munch
63b1f5d4c9 Fix gcc5 complaining about pow10 being redeclared. 2016-07-22 12:44:12 +02:00
Axel Naumann
7364a9de6b Simplify LexQuotedStringAndAdvance; fix remaining cling test failure. 2015-04-04 20:51:20 +02:00
Axel Naumann
e1d7d5dab7 Replace quote/apostrophe by complete literals. 2015-04-04 20:51:20 +02:00
Axel Naumann
fb159e163c Prevent unhandled warning about switch cases. 2015-03-31 16:47:10 +02:00
Liza Sakellari
529b0aed53 Fixed parsing of '\'' at the prompt (ROOT-7159). 2015-03-31 16:47:10 +02:00
Liza Sakellari
91b011604b Fixed escaping strings in xCommand.
When calling a macro with arguments like: " \" " or " \\" etc.
Macros without arguments are now passing "()"; checking of
argument count is now done by Sema.
2015-03-31 16:47:10 +02:00
Liza Sakellari
19ce2d03b6 Fixed bug "Parser error when calling a macro with arguments". 2015-03-31 16:47:09 +02:00
Vassil Vassilev
7efdd91555 Do not skip comments in strings. Fixes ROOT-6692. 2014-09-20 21:38:18 +02:00
Vassil Vassilev
212259918a Implement continuation for #if* #endif. 2014-08-15 12:34:00 +02:00
Philippe Canal
576ca3ca96 Remove trailing spaces 2014-08-13 16:08:36 +02:00
Philippe Canal
d03d24bb23 Add support for .@ to cancel continuation 2014-05-29 17:04:59 +02:00
CristinaCristescu
d30b5a0a23 Change flag for redirection.
correct
2014-01-15 12:02:03 +01:00
CristinaCristescu
34dfd69b53 Redirect err. 2014-01-15 12:02:03 +01:00
CristinaCristescu
b4e3a9b6b5 Redirect 2014-01-15 12:02:02 +01:00
CristinaCristescu
df5d7d2289 Redirect syntax. 2014-01-15 12:02:02 +01:00
Axel Naumann
44481ace1e Fix license; remove $Id$ version. 2014-01-07 11:14:04 +01:00
Axel Naumann
a375e7f201 Silence c++11 warning of unsigned->int init conversion. 2013-10-30 10:08:57 +01:00
Vassil Vassilev
21c8d3c81c Add support for .undo [Number], extend the meaning of the constant token, document. 2013-10-29 20:19:26 +01:00
Vassil Vassilev
a4c14b87e5 Rename interface with more meaningful name. 2013-10-29 20:19:25 +01:00
Philippe Canal
80d57d9c93 80 columns. 2013-07-18 10:36:45 +02:00
Axel Naumann
7849f4e7f1 Fix assert 2013-07-17 09:03:49 +02:00
Philippe Canal
871f2df4a1 Improve the input line validator handling of quoted strings.
For example those are now properly accepted (because the content
of the string is now ignored):

TFile *_file0 = TFile::Open("http://root.cern.ch/files/atlasFlushed.root");
n.SetName(" ( ");
2013-07-17 00:04:55 +02:00
Vassil Vassilev
d98bece0ed Implement .? (fixes savannah #99730)
git-svn-id: http://root.cern.ch/svn/root/trunk@48300 27541ba8-7e3a-0410-8455-c3a389f83636
2013-01-15 10:11:52 +00:00
Philippe Canal
c5bbf1c9a1 The input passed to MetaProcessor's InputValidator::validate can have multiple line (for example being a script\!) and so we need to skip the comment only until the end of the end of the line
git-svn-id: http://root.cern.ch/svn/root/trunk@47993 27541ba8-7e3a-0410-8455-c3a389f83636
2012-12-13 04:38:00 +00:00
Vassil Vassilev
86243e4b95 Add support for exclamation point.
git-svn-id: http://root.cern.ch/svn/root/trunk@47792 27541ba8-7e3a-0410-8455-c3a389f83636
2012-12-03 16:42:06 +00:00
Vassil Vassilev
e5a6058db4 Add support for backslash
git-svn-id: http://root.cern.ch/svn/root/trunk@47791 27541ba8-7e3a-0410-8455-c3a389f83636
2012-12-03 16:37:47 +00:00
Vassil Vassilev
8e84e50e2a Lex properly identifiers (Allow numbers to occur in idents.)
git-svn-id: http://root.cern.ch/svn/root/trunk@47783 27541ba8-7e3a-0410-8455-c3a389f83636
2012-12-03 08:34:39 +00:00
Vassil Vassilev
72539ff673 Implement lexer/parser/sema for the meta language, which we have to implement soon.
* It makes the life easier to add new grammar rules and keywords.
* Silences a lot of the test failures we had.
* Fixes the imbalanced ' or " properly.


git-svn-id: http://root.cern.ch/svn/root/trunk@47739 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-30 17:26:26 +00:00