Commit Graph

65 Commits

Author SHA1 Message Date
Markus Blatt
995ec609e3 Added missing include to ParserTests.cpp 2023-03-08 22:27:46 +01:00
Arne Morten Kvarving
ddef6302e6 ParseContext: forward InputErrorAction 2023-01-16 22:17:50 +01:00
Arne Morten Kvarving
edf937e2e5 InputErrorAction: convert to enum class 2023-01-16 22:17:50 +01:00
Joakim Hove
aede532b9a Filesystem rename parser/eclipse/ input/eclipse 2022-01-02 14:32:14 +01:00
Joakim Hove
f572937529 Add template<> Deck::get<T>() to get keywords 2021-11-23 14:06:37 +01:00
Daniel
b0f757eb50 Replace Deck::getKeyword(std::string) with operator[std::string] 2021-11-23 14:00:38 +01:00
Arne Morten Kvarving
6465cfe1ea changed: drop gcc7 compatibility
this means getting rid of the Opm::filesystem namespace
and directly using std::filesystem, as well as dropping
some of the compat code for the tr filesystem.

we still need the FileSystem.hpp/cpp files though as unique_path
is not part of std::filesystem.
2021-11-01 12:36:42 +01:00
Joakim Hove
22edbe79ab DeckKeyword - slash termination correctly initialized 2021-10-19 19:13:15 +02:00
Joakim Hove
2482251c3d Specify min_size for SAVE keyword 2021-07-23 10:42:47 +02:00
Joakim Hove
946fcca4fd Add min_size setting ParserKeywords 2021-07-23 10:42:47 +02:00
Joakim Hove
48a0d91e49 Extract all data related to keyword size in class KeywordSize 2021-07-23 10:42:47 +02:00
Joakim Hove
bfc94a0bdb Use keyword/item scheme with shift for TRACERKM keyword 2021-07-23 09:07:10 +02:00
Joakim Hove
763670635c Use normal keyword/item scheme to specify size of ROCK 2021-07-23 09:07:10 +02:00
Joakim Hove
0d060fad24 Merge pull request #2527 from tskille/parser
Functionality for parsing only selected sections of a data deck
2021-06-23 14:04:42 +02:00
Torbjørn Skille
eded5fdb0c add functionality to the parser for parsing selected sections of a data deck
- made available in python bindings
 - added unit tests both for c++ and python
2021-06-22 18:45:24 +02:00
Jostein Alvestad
c44dcb8257 changes to DeckOutput.hpp for opmpack 2021-06-22 16:20:24 +02:00
Joakim Hove
f584901da4 Add class Builtin with all the compiled keywords 2021-03-09 12:22:39 +01:00
Bård Skaflestad
5816d2dbd2 Push Compatibility Check To Parser Level
Leverage the 'prohibits'/'requires' support to enforce earlier
keyword compatibility checks.  This plays better with parallel runs.
2020-12-17 21:33:11 +01:00
Joakim Hove
2d036144cc Raise OpmInputError for unbalanced quotes 2020-10-14 08:40:10 +02:00
Williham Williham Totland
d0c5fa042c Adjusts the defaultMessage format string. 2020-10-05 09:26:25 +02:00
Joakim Hove
0512ab88b4 ParseContext will throw OpmInputError 2020-09-29 15:37:14 +02:00
Joakim Hove
11d5128cbf Use KeywordLocation instead of passing keyword and filename separately 2020-09-22 09:55:45 +02:00
Joakim Hove
3e1411bf87 Replace opm implementation of string_view with std::string_view 2020-08-04 11:40:41 +02:00
Joakim Hove
4e223eae4a Fix handling of too long 8 characters keywords like GUIDERATE 2020-07-02 14:23:45 +02:00
Joakim Hove
3077f7aff8 Introduce class RawString
The RawString class is introduced as a string which can hold the literals '*',
'/' and '''. The RawString class is used to hold the content of UDQ and ACTIONX
keywords.
2020-04-21 06:51:25 +02:00
Joakim Hove
aed8c78af5 Move RestartConfig from EclipseState to Schedule 2020-02-19 12:35:07 +01:00
Arne Morten Kvarving
83a7cd04c3 remove unused boost includes
and deal with missing include fallout
2020-02-19 09:51:46 +01:00
Arne Morten Kvarving
fb75bcd4e2 changed: use std::filesystem instead of boost::filesystem
since we still support g++-7, where filesystem is marked experimental,
we introduce a wrapper header and expose the namespace to use
as Opm::filesystem.

for gcc we unconditionally link with libstdc++fs in the python bindings.
the setup.py stuff links as c code, not c++ code, so it is not
automatically added on any gcc version. this might prove unportable
later.
2020-02-13 12:34:19 +01:00
Joakim Hove
6f330a7482 Fixup of alternating records special case 2020-01-06 15:50:36 +01:00
Steinar Foss
e2e8d1eb22 Parser will skip keyword UDT.
Parser will skip UDT.
2019-12-20 12:40:20 +01:00
Steinar Foss
a5c245bc6c keyword ROCK: size->UNKNOWN. Added keyword ADSORP.
added keyword ADSOPR w/ test.

keyword ADSORP: size set to NTSFUN, TABDIMS.

keyword ADSORP size shift:1.

ParserTests: added test for kw ROCK.
2019-12-19 15:27:55 +01:00
Steinar Foss
01b62e4617 added keyword DYNAMICR.
added keyword DYNAMICR.
2019-12-18 09:34:40 +01:00
Steinar Foss
0be84e6529 DeckKeyword: double_record style keywords has empty records as block seperators. 2019-12-16 13:11:20 +01:00
Steinar Foss
87bbc46bbb can parse keywords of type double-record.
...

ParserKeyword: bool double_records set.

added keywords CECONT.

ParserKeywords: double_records set by keyword generator.

Parsertests: added test for parsing double_records.

ParserKeywords.parse: if double_records returns empty.

double_records keywords set to SLASH_TERMINATED.

...

ParserKeyword: for double records size_type = DOUBLE_SLASH_TERMINATED.

double_records: RawKeyword is Raw::DOUBLE_SLASH_TERMINATED.

RawKeyword uses m_isTempFinished.

Parser: can parse files with double-record keywords.

Parser.cpp/RawRecord.cpp: removed comments.

DeckKeyword has param m_isDoubleRecordKeyword.

test ParseDoubleRecords: double records to have linear structure.

DeckKeyword: Can create records of type double_record.

double-records parser test transferred to ParserTests.cpp.

...

...
2019-12-14 18:42:31 +01:00
Steinar Foss
52d69ca167 alernating records: not limited to 2 records. 2019-12-08 05:03:07 +01:00
Steinar Foss
8f8d45532e introducing keywords using alternating records.
added function parseRecords.

introducing alternating keywords.

parserkw: added member isAlternatingKeyword.

kw alternating_records conditions.

...

added keyword STOG.

alternating keyword: created generatortest.

alternating keyword sets bool to true by codegenerator.

alternating_records_kw returns that.

...
2019-12-06 15:51:42 +01:00
Joakim Hove
1599cc5698 Differentiate between valid and invalid default values while parsing 2019-12-04 22:36:28 +01:00
Joakim Hove
6cc3b578f5 Use value::status to keep track of data status in DeckItem
With this commit the DeckItem::push_backDummyDefault() function will push back a
default value T( ). This will give a change in behaviour in downstream code
which has used getData<T> to get DeckItem data unchecked.
2019-11-17 17:23:42 +01:00
Joakim Hove
6dbbc8c037 Remove / rename DeckItem::size() 2019-11-16 18:31:12 +01:00
Joakim Hove
697545cf54 Use dimensions from ParserKeyword 2019-10-16 21:03:02 +02:00
Joakim Hove
9eb0a01c7b Simplify ParserItem::dimensions() api 2019-09-21 20:47:46 +02:00
Joakim Hove
f3bd813f46 Use ParserKeyword values in Parser instead std::unique_ptr<> 2019-09-13 16:21:31 +02:00
Joakim Hove
e5013125f1 Refactor initial parsing stage
- Reduced the amount of state in the RawKeyword and ParserState classes.
 - RawKeyword class has normal constructor - remove init method.
 - The Rawxxx symbols are module private and the header files are not installed.
 - Removed several unused static methods from Rawxxx and ParserKeyword.
2019-08-22 09:32:11 +02:00
Joakim Hove
4258bce6c5 Use reference instead of pointer 2019-08-15 13:39:33 +02:00
Joakim Hove
1d5326f664 Change std::shared_ptr -> std::unique_ptr 2019-08-15 13:23:21 +02:00
Joakim Hove
79a2c1bd4d Removed public property from RawKeyword class 2019-08-15 12:23:29 +02:00
Joakim Hove
e3ade4dff9 Use reference instead of pointer 2019-08-15 11:51:08 +02:00
Joakim Hove
5103e7b604 Removed filename and keyword members from RawRecord 2019-08-14 07:34:56 +02:00
Arne Morten Kvarving
492fba07fc fixed: remove unused assignments 2019-07-10 15:10:29 +02:00
Joakim Hove
b14bd5acce Merge pull request #848 from joakim-hove/scan-ignore-SOH
Ignore character SOH (ASCII 1) while parsing
2019-06-24 10:01:51 +02:00