Skip to content

Commit 9d595d7

Browse files
author
doenn
committed
Merge branch 'dev'
2 parents 3c2460d + 214b2e1 commit 9d595d7

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+836
-9
lines changed

external/datap_2017/Include/datap.h

Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,15 +29,35 @@ typedef struct List {
2929
void* itemMatch;
3030
} List;
3131

32+
33+
typedef struct Flow {
34+
List* lists;
35+
_int64 width;
36+
_int64 i;
37+
_int64 j;
38+
_int64 length;
39+
_int64 paddingValue;
40+
} Flow;
41+
3242
typedef struct Record {
3343
void* allocAddr;
3444
_int64 allocSize;
3545
char* name;
3646
char* location;
3747
char* builtLocation;
3848
HANDLE handle;
49+
_int64 allocFlags;
50+
char* jDelimiter;
51+
char* iDelimiter;
3952
} Record;
4053

54+
typedef enum StorageAllocFlags {
55+
STORAGE_ALLOC_LETTERS = 1,
56+
STORAGE_ALLOC_LIST = 2,
57+
STORAGE_ALLOC_FLOW = 4,
58+
STORAGE_ALLOC_BINARY = 8,
59+
} StorageAllocFlags;
60+
4161
typedef struct Matches {
4262
_int64 flags;
4363
_int64 transformFlags;
@@ -93,6 +113,73 @@ typedef struct Time{
93113
_int64 month;
94114
} Time;
95115

116+
typedef struct NumericParsing {
117+
_int64 opFlags;
118+
} NumericParsing;
119+
120+
typedef enum NumericParsingOpFlags {
121+
NUM_PARS_OP_MORE = 1,
122+
NUM_PARS_OP_LESS = 2,
123+
NUM_PARS_OP_DIV = 4,
124+
NUM_PARS_OP_MUL = 8,
125+
} NumericParsingOpFlags;
126+
127+
typedef struct NumericExpression {
128+
_int64 numericConditionFlag;
129+
char* expressionAlloc;
130+
List* expressionExtractList;
131+
List* numExpRefValList;
132+
_int64 evalFlags;
133+
_int64 expressionFlags;
134+
_int64 result;
135+
NumericParsing* numericParsing;
136+
} NumericExpression;
137+
138+
typedef enum ExpressionFlags {
139+
NUM_EXP_MORE = 1,
140+
NUM_EXP_LESS = 2,
141+
NUM_EXP_SAME = 4,
142+
NUM_EXP_DEF_ONLY = 8,
143+
NUM_EXP_DEF_NUM = 16,
144+
NUM_EXP_CONTAINS = 32,
145+
NUM_EXP_WITHIN = 64
146+
} ExpressionFlags;
147+
148+
typedef enum EvalFlags {
149+
NUM_EXP_EVAL_PARSED = 1,
150+
NUM_EXP_EVAL_REFS_PARSED = 2,
151+
NUM_EXP_EVAL_REFS_PROCESSED = 4,
152+
NUM_EXP_EVAL_PROCESSED = 8,
153+
NUM_EXP_EVAL_RESULT_EXISTS = 16,
154+
} EvalFlags;
155+
156+
typedef struct NumExpRefVal {
157+
char* labelAlloc;
158+
_int64 val;
159+
_int64 flags;
160+
_int64 refFlags;
161+
_int64 refFilterFlags;
162+
} NumExpRefVal;
163+
164+
typedef enum NumExpRefValFlags {
165+
NUM_EXP_REF_VAL_REF = 1,
166+
NUM_EXP_REF_VAL_INTEGER = 2,
167+
NUM_EXP_REF_VAL_FLOAT = 4,
168+
NUM_EXP_REF_VAL_DATE = 8,
169+
} NumExpRefValFlags;
170+
171+
typedef enum NumExpRefFlags {
172+
NUM_EXP_REF_LOC = 1,
173+
NUM_EXP_REF_LIST = 2,
174+
NUM_EXP_REF_FLOW = 4,
175+
} NumExpRefFlags;
176+
177+
typedef enum NumExpRefFiltFlags {
178+
NUM_EXP_REF_FILT_NO_FILT = 1,
179+
NUM_EXP_REF_FILT_HAS_FILT = 2,
180+
} NumExpRefFiltFlags;
181+
182+
96183

97184

98185
///extern char* pathSepLettersChar;
@@ -104,9 +191,12 @@ extern "C" {
104191
_int64 letterLength(char* letters);
105192
char* lettersBetweenListsIndices(char* letters, List* indicesList);
106193
char* lettersBetweenIndices(char* letters, _int64 startIndex, _int64 endIndex);
194+
_int64 lettersAsNum(char* letters);
195+
107196

108197
// Allocate
109198
void* linearAllocate(int size);
199+
void* allocateNew(int lastMemberOffset); // Initializes a struc
110200

111201
// List
112202
List* newList();
@@ -126,6 +216,14 @@ extern "C" {
126216
void* getNextItemMatchComp(List* list, void* itemMatch, _int64 comp);
127217
List* extendList(List* list, List* extensionList);
128218

219+
//Flow
220+
Flow* newFlow();
221+
void newLastFlowList(Flow* flow, List* list);
222+
void newLastFlowIVals(Flow* flow, List* iVals);
223+
void increaseFlowWidth(Flow* flow, _int64 width);
224+
void resetFlowIJ(Flow*);
225+
void* getNextFlowItem(Flow*);
226+
129227
//Storage
130228
Record* newStorage();
131229
Record* defineRecordPath(Record* record, char* name, char* location);
@@ -134,6 +232,9 @@ extern "C" {
134232
Record* restoreLetters(Record* record, char* letters);
135233
List* retrieveRecordNames(Record* record);
136234
void removeRecord(Record* record);
235+
Record* storeList(Record* record, List* list);
236+
Record* restoreList(Record* record, List* list);
237+
137238
void debugNum(_int64 num);
138239
void debugLetters(char* letters);
139240
void debugNumMsg(_int64 num);
@@ -147,14 +248,33 @@ extern "C" {
147248
_int64 lettersSameExact(char* letters, char* containsExactLetters);
148249
_int64 getNextMatchIndex(char* letters, char* containsLetters);
149250
_int64 hasMatch(char* letters, char* containsLetters);
251+
_int64 listHasMatch(List* list, char* containsLetters);
252+
List* extractBetween(char* letters, char* delimiter);
253+
Flow* extractFlowBetween(char* letters, char* iDelimiter, char* jDelimiter);
150254

151255
//Replacement
152256
char* replaceLettersWithList(ReplaceFlags flags, char* letters, List* list, List* matchResultsList);
153257
char* replaceContainsLettersWithList(char* letters, List* list, char* containsLetters);
258+
List* replaceContainsLettersWithFlow(char* letters, Flow* flow, char* containsLetters);
154259

155260
//Time
156261
Time* newTime();
157262
Time* getNow();
263+
264+
265+
//NumericExpressions
266+
NumericExpression* newNumericExpression();
267+
void parseNumExpression(NumericExpression* numericExpression);
268+
List* getNumExpTermList();
269+
List* getCondExpTermList();
270+
List* getDefExpTermList();
271+
272+
NumExpRefVal* newNumExpRefVal();
273+
NumExpRefVal* parseNumExpRefVal(NumExpRefVal* numExpRefVal);
274+
NumExpRefVal* processNumExpRefVal(NumExpRefVal* numExpRefVal);
275+
276+
NumericParsing* newNumericParsing();
277+
158278
}
159279

160280

external/datap_2017/datap.obj

965 Bytes
Binary file not shown.

rep_2017/.vs/rep_2017/v15/.suo

-2 KB
Binary file not shown.
-136 KB
Binary file not shown.
-735 KB
Binary file not shown.

rep_2017/rep/x64/Release/Rep.obj

0 Bytes
Binary file not shown.
0 Bytes
Binary file not shown.
0 Bytes
Binary file not shown.
25 Bytes
Binary file not shown.
25 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)