Kiwi Script
KiwiScript Interpreter
 All Data Structures Files Functions Variables Typedefs Enumerations Macros
Data Structures | Macros | Typedefs | Functions
KSLex.h File Reference

Lexical analyzer for Kiwi Assember. More...

#include <KiwiEngine/KiwiEngine.h>
#include "KSForwarders.h"

Go to the source code of this file.

Data Structures

struct  KSParserState
 Resource to parse the program. More...
 

Macros

#define YYSTYPE   struct KEToken
 
#define YY_EXTRA_TYPE   struct KSParserState *
 
#define YY_DECL   int ks_lex(YYSTYPE * yylval_param, ks_scan_t yyscanner, struct KSParserState * pstate)
 
#define YYLEX_PARAM   scanner, pstate
 

Typedefs

typedef void * ks_scan_t
 

Functions

int ks_lex (YYSTYPE *lval, ks_scan_t yyscanner, struct KSParserState *pstate)
 Main lex function to get next token. More...
 
int ks_lex_init (ks_scan_t *scanner)
 Initialize the scanner DB for lex. More...
 
YY_EXTRA_TYPE ks_get_extra (ks_scan_t scanner)
 Get user defined information from the scanner. More...
 
void ks_set_extra (YY_EXTRA_TYPE user_defined, ks_scan_t scanner)
 Set user defined information to the scanner. More...
 
int ks_lex_destroy (ks_scan_t scanner)
 Release the context of lex scanner. More...
 
void ks_error (struct KSParserState *pstate, ks_scan_t scanner, const char *msg)
 Output parser error. More...
 

Detailed Description

Lexical analyzer for Kiwi Assember.

Copyright
Copyright (C) 2014 Steel Wheels Project

Macro Definition Documentation

#define YY_DECL   int ks_lex(YYSTYPE * yylval_param, ks_scan_t yyscanner, struct KSParserState * pstate)

Declaration of ks_lex (yylex) function

#define YY_EXTRA_TYPE   struct KSParserState *

Additional parameter in the parser

#define YYLEX_PARAM   scanner, pstate

Definition of parameters of ks_lex (yylex) function

#define YYSTYPE   struct KEToken

Define type of token

Typedef Documentation

typedef void* ks_scan_t

Type of scanner

Function Documentation

void ks_error ( struct KSParserState pstate,
ks_scan_t  scanner,
const char *  msg 
)

Output parser error.

Parameters
pstateParser resource
scannerLex scanner
msgParser error message
YY_EXTRA_TYPE ks_get_extra ( ks_scan_t  scanner)

Get user defined information from the scanner.

Returns
User defined info
Parameters
scannerSource scanner
int ks_lex ( YYSTYPE lval,
ks_scan_t  yyscanner,
struct KSParserState pstate 
)

Main lex function to get next token.

Returns
There are token or not
Parameters
lvalNext token
yyscannerScanner lex info
pstateScanner resource
int ks_lex_destroy ( ks_scan_t  scanner)

Release the context of lex scanner.

Returns
Result value
Parameters
scannerDestination scanner
int ks_lex_init ( ks_scan_t scanner)

Initialize the scanner DB for lex.

Returns
Result code
Parameters
scannerDestination scanner
void ks_set_extra ( YY_EXTRA_TYPE  user_defined,
ks_scan_t  scanner 
)

Set user defined information to the scanner.

Parameters
user_definedSource user defined info
scannerDestination scanner