# README
KVAL-Scanner
Lexical scanner for KVAL (Key Value Access Language) for KVAL-Parser
Key Value Access Language
I have created a modest specification for a key value access langauge. It allows for input and access of values to a key value store such as Golang's BoltDB.
The language specification: https://github.com/kval-access-language/KVAL
Usage
Usage is pretty low-level so will normally be done via KVAL-Parse so please see there for examples.
Scanner library is maintained in its own repo so that changes between the two can be viewed as purely as possible.
License
GPL Version 3: https://github.com/kval-access-language/KVAL-BoltDB/blob/master/LICENSE
# Functions
NewScanner returns a new instance of Scanner.
# Constants
Other operator, ASSIGN: => Assignment operator for KVAL renames.
Other operator, BUCBUC: >> Bucket to Bucket syntax for KVAL.
Other operator, BUCKKEY: >>>> Bucket to Key syntax for KVAL.
Single character operator, COATT: } Close a regular expression pattern.
Keyword, DEL: Delete capability of KVAL.
Spacial token, EOF: Token signals the end of input.
Keyword, GET: Get capability of KVAL.
Spacial token, ILLEGAL: Token is an illegal character.
Keyword, INS: Insert capability of KVAL.
Other operator, KEYVALL :: Key to Value syntax for KVAL.
Keyword, LIS: LIS capability of KVAL.
LITERAL: String literal discovered.
Single character operator, OPATT: { Open a regular expression pattern.
Regular expression, REGEX: {PATT} ANy regex pattern inside OPATT and CPATT.
Keyword, REN: Rename capability of KVAL.
Single character operator, USCORE: _ Return unknown Key or Value.
Spacial token, WS: Token signals whitespace has been found.
# Variables
ErrorLookup map is used to look up an error and provide a human readable response.
KeywordMap values exported for KVAL Parser to verify keywords Lookup 'LIT' value in KeyWordMap and if found we have a KVAL key word, e.g.
# Type aliases
Token represents a lexical token.