partial parserlang stup
This commit is contained in:
parent
006b4c63f7
commit
022ab6cfef
2 changed files with 15 additions and 0 deletions
|
|
@ -194,6 +194,19 @@ uint32_t ARC_Lexer_AutomataMatchCharInStringFn(ARC_String **tokenData, ARC_Strin
|
||||||
*/
|
*/
|
||||||
ARC_LexerTokenRule ARC_LexerTokenRule_CreateAndReturnMatchCharRule(uint32_t id, char character);
|
ARC_LexerTokenRule ARC_LexerTokenRule_CreateAndReturnMatchCharRule(uint32_t id, char character);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief creates a ARC_LexerTokenRule with a given id and character range
|
||||||
|
*
|
||||||
|
* @note this is intended as a helper funtion
|
||||||
|
*
|
||||||
|
* @param[in] id a tokens id (basically the token value)
|
||||||
|
* @param[in] start the minimum character value to match against
|
||||||
|
* @param[in] end the maxamum character value to match against
|
||||||
|
*
|
||||||
|
* @return a token rule based in the id and character
|
||||||
|
*/
|
||||||
|
ARC_LexerTokenRule ARC_LexerTokenRule_CreateAndReturnMatchCharOrBetween(uint32_t id, char start, char end);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief creates a ARC_LexerTokenRule with a given id and string
|
* @brief creates a ARC_LexerTokenRule with a given id and string
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -76,6 +76,8 @@ void ARC_Lexer_RegisterTokenRule(ARC_Lexer *lexer, ARC_LexerTokenRule tokenRule)
|
||||||
ARC_LexerTokenRule *storedTokenRule = (ARC_LexerTokenRule *)malloc(sizeof(ARC_LexerTokenRule));
|
ARC_LexerTokenRule *storedTokenRule = (ARC_LexerTokenRule *)malloc(sizeof(ARC_LexerTokenRule));
|
||||||
*storedTokenRule = tokenRule;
|
*storedTokenRule = tokenRule;
|
||||||
|
|
||||||
|
//TODO: add warning here for if arc_errno is already set
|
||||||
|
|
||||||
//add to the vector and check for error (I'd be surprised if the error ever happened because that would most likely mean overflow)
|
//add to the vector and check for error (I'd be surprised if the error ever happened because that would most likely mean overflow)
|
||||||
ARC_Vector_Add(lexer->tokenRules, storedTokenRule);
|
ARC_Vector_Add(lexer->tokenRules, storedTokenRule);
|
||||||
if(arc_errno){
|
if(arc_errno){
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue