FTEQW
Documentation of the FTE engine source tree.
qcc_pr_lex.c File Reference

Functions

void QCC_PR_PreProcessor_Define (pbool append)
 
pbool QCC_PR_UndefineName (const char *name)
 
const char * QCC_PR_CheckCompConstString (const char *def)
 
CompilerConstant_tQCC_PR_CheckCompConstDefined (const char *def)
 
int QCC_PR_CheckCompConst (void)
 
pbool QCC_Include (const char *filename)
 
void QCC_FreeDef (QCC_def_t *def)
 
void QCC_PR_LexComment (char **comment)
 
QCC_function_tQCC_PR_ParseImmediateStatements (QCC_def_t *def, QCC_type_t *type, pbool dowrap)
 
QCC_type_tQCC_PR_FieldType (QCC_type_t *pointsto)
 
void QCC_PR_LexWhitespace (pbool inhibitpreprocessor)
 
QCC_type_tQCC_PR_ParseEnum (pbool flags)
 
void QCC_PR_CloseProcessor (void)
 
void QCC_PR_AddIncludePath (const char *newinc)
 
void QCC_PR_IncludeChunk (char *data, pbool duplicate, char *filename)
 
pbool QCC_PR_UnInclude (void)
 
void QCC_JoinPaths (char *fullname, size_t fullnamesize, const char *newfile, const char *base)
 
void QCC_FindBestInclude (char *newfile, char *currentfile, pbool includetype)
 
int QCC_PR_LexInteger (void)
 
void QCC_AddFile (char *filename)
 
void QCC_PR_LexString (void)
 
pbool QCC_PR_SimpleGetToken (void)
 
pbool QCC_PR_SimpleGetString (void)
 
char * QCC_PR_GetDefinesList (void)
 
void QCC_PR_NewLine (pbool incomment)
 
int QCC_PR_LexEscapedCodepoint (void)
 
void QCC_PR_ClearGrabMacros (pbool newfile)
 
CompilerConstant_tQCC_PR_DefineName (const char *name)
 
char * QCC_PR_CheckCompConstTooltip (char *word, char *outstart, char *outend)
 
void QCC_PR_Lex (void)
 
pbool QCC_Temp_Describe (QCC_def_t *def, char *buffer, int buffersize)
 
void QCC_PR_ParsePrintDef (int type, QCC_def_t *def)
 
void QCC_PR_ParsePrintSRef (int type, QCC_sref_t def)
 
void QCC_PR_ResetErrorScope (void)
 
void editbadfile (const char *file, int line)
 
NORETURN void VARGS QCC_PR_ParseError (int errortype, const char *error,...)
 
NORETURN void VARGS QCC_PR_ParseErrorPrintDef (int errortype, QCC_def_t *def, const char *error,...)
 
NORETURN void VARGS QCC_PR_ParseErrorPrintSRef (int errortype, QCC_sref_t def, const char *error,...)
 
pbool VARGS QCC_PR_Warning (int type, const char *file, int line, const char *error,...)
 
pbool VARGS QCC_PR_ParseWarning (int type, const char *error,...)
 
void VARGS QCC_PR_Note (int type, const char *file, int line, const char *error,...)
 
void QCC_PR_Expect (const char *string)
 
pbool QCC_PR_CheckTokenComment (const char *string, char **comment)
 
pbool QCC_PR_CheckToken (const char *string)
 
pbool QCC_PR_PeekToken (const char *string)
 
pbool QCC_PR_CheckImmediate (const char *string)
 
pbool QCC_PR_CheckName (const char *string)
 
pbool QCC_PR_CheckKeyword (int keywordenabled, const char *string)
 
char * QCC_PR_ParseName (void)
 
int typecmp (QCC_type_t *a, QCC_type_t *b)
 
int typecmp_lax (QCC_type_t *a, QCC_type_t *b)
 
QCC_type_tQCC_PR_DuplicateType (QCC_type_t *in, pbool recurse)
 
char * TypeName (QCC_type_t *type, char *buffer, int buffersize)
 
QCC_type_tQCC_TypeForName (const char *name)
 
void QCC_PR_SkipToSemicolon (void)
 
QCC_type_tQCC_PR_MakeThiscall (QCC_type_t *orig, QCC_type_t *thistype)
 
QCC_type_tQCC_PR_ParseFunctionType (int newtype, QCC_type_t *returntype)
 
QCC_type_tQCC_PR_ParseFunctionTypeReacc (int newtype, QCC_type_t *returntype)
 
QCC_type_tQCC_PR_PointerType (QCC_type_t *pointsto)
 
QCC_type_tQCC_PR_GenFunctionType (QCC_type_t *rettype, struct QCC_typeparam_s *args, int numargs)
 
struct accessor_sQCC_PR_ParseAccessorMember (QCC_type_t *classtype, pbool isinline, pbool setnotget)
 
QCC_type_tQCC_PR_ParseType (int newtype, pbool silentfail)
 

Variables

pbool destfile_explicit
 
char destfile [1024]
 
char qccincludedir [MAXINCLUDEDIRS][256]
 
struct qccincludeonced_s * qccincludeonced
 
char * compilingfile
 
int pr_source_line
 
char * pr_file_p
 
char * pr_line_start
 
int pr_bracelevel
 
char * pr_token_precomment
 
char pr_token [8192]
 
token_type_t pr_token_type
 
int pr_token_line
 
int pr_token_line_last
 
QCC_type_tpr_immediate_type
 
QCC_eval_t pr_immediate
 
char pr_immediate_string [8192]
 
size_t pr_immediate_strlen
 
int pr_error_count
 
int pr_warning_count
 
pbool expandedemptymacro
 
unsigned int locals_end
 
unsigned int locals_start
 
QCC_type_tpr_classtype
 
char * pr_punctuation []
 
char * pr_punctuationremap []
 
QCC_type_ttype_void
 
QCC_type_ttype_string
 
QCC_type_ttype_float
 
QCC_type_ttype_double
 
QCC_type_ttype_vector
 
QCC_type_ttype_entity
 
QCC_type_ttype_field
 
QCC_type_ttype_function
 
QCC_type_ttype_floatfunction
 
QCC_type_ttype_pointer
 
QCC_type_ttype_integer
 
QCC_type_ttype_uint
 
QCC_type_ttype_int64
 
QCC_type_ttype_uint64
 
QCC_type_ttype_variant
 
QCC_type_ttype_invalid
 
QCC_type_ttype_floatpointer
 
QCC_type_ttype_intpointer
 
QCC_type_ttype_bint
 
QCC_type_ttype_bfloat
 
QCC_type_ttype_floatfield
 
QCC_def_t def_ret
 
QCC_def_t def_parms [MAX_PARMS]
 
qcc_includechunk_tcurrentchunk
 
char qccmsourcedir []
 
pbool defaultnoref
 
pbool defaultnosave
 
pbool defaultstatic
 
int ForcedCRC
 
float qcc_framerate
 
char pr_framemodelname [64]
 
struct {
   char   name [64]
 
   int   value
 
   const char *   file
 
pr_framemacro [MAX_FRAMES]
 
int pr_nummacros
 
int pr_macrovalue
 
int pr_savedmacro
 
voiderrorscope
 
char pr_parm_names [MAX_PARMS+MAX_EXTRA_PARMS][MAX_NAME]
 
char * pr_parm_argcount_name
 
int recursivefunctiontype
 
char * basictypenames []
 
QCC_type_t ** basictypes []
 
pbool type_inlinefunction
 

Function Documentation

◆ editbadfile()

void editbadfile ( const char *  file,
int  line 
)

◆ QCC_AddFile()

void QCC_AddFile ( char *  filename)

◆ QCC_FindBestInclude()

void QCC_FindBestInclude ( char *  newfile,
char *  currentfile,
pbool  includetype 
)

◆ QCC_FreeDef()

void QCC_FreeDef ( QCC_def_t def)

◆ QCC_Include()

pbool QCC_Include ( const char *  filename)

◆ QCC_JoinPaths()

void QCC_JoinPaths ( char *  fullname,
size_t  fullnamesize,
const char *  newfile,
const char *  base 
)

◆ QCC_PR_AddIncludePath()

void QCC_PR_AddIncludePath ( const char *  newinc)

◆ QCC_PR_CheckCompConst()

int QCC_PR_CheckCompConst ( void  )

◆ QCC_PR_CheckCompConstDefined()

CompilerConstant_t * QCC_PR_CheckCompConstDefined ( const char *  def)

◆ QCC_PR_CheckCompConstString()

const char * QCC_PR_CheckCompConstString ( const char *  def)

◆ QCC_PR_CheckCompConstTooltip()

char * QCC_PR_CheckCompConstTooltip ( char *  word,
char *  outstart,
char *  outend 
)

◆ QCC_PR_CheckImmediate()

pbool QCC_PR_CheckImmediate ( const char *  string)

◆ QCC_PR_CheckKeyword()

pbool QCC_PR_CheckKeyword ( int  keywordenabled,
const char *  string 
)

◆ QCC_PR_CheckName()

pbool QCC_PR_CheckName ( const char *  string)

◆ QCC_PR_CheckToken()

pbool QCC_PR_CheckToken ( const char *  string)

◆ QCC_PR_CheckTokenComment()

pbool QCC_PR_CheckTokenComment ( const char *  string,
char **  comment 
)

◆ QCC_PR_ClearGrabMacros()

void QCC_PR_ClearGrabMacros ( pbool  newfile)

◆ QCC_PR_CloseProcessor()

void QCC_PR_CloseProcessor ( void  )

◆ QCC_PR_DefineName()

CompilerConstant_t * QCC_PR_DefineName ( const char *  name)

◆ QCC_PR_DuplicateType()

QCC_type_t * QCC_PR_DuplicateType ( QCC_type_t in,
pbool  recurse 
)

◆ QCC_PR_Expect()

void QCC_PR_Expect ( const char *  string)

◆ QCC_PR_FieldType()

QCC_type_t * QCC_PR_FieldType ( QCC_type_t pointsto)

◆ QCC_PR_GenFunctionType()

QCC_type_t * QCC_PR_GenFunctionType ( QCC_type_t rettype,
struct QCC_typeparam_s args,
int  numargs 
)

◆ QCC_PR_GetDefinesList()

char * QCC_PR_GetDefinesList ( void  )

◆ QCC_PR_IncludeChunk()

void QCC_PR_IncludeChunk ( char *  data,
pbool  duplicate,
char *  filename 
)

◆ QCC_PR_Lex()

void QCC_PR_Lex ( void  )

flag_qccx &&

◆ QCC_PR_LexComment()

void QCC_PR_LexComment ( char **  comment)

◆ QCC_PR_LexEscapedCodepoint()

int QCC_PR_LexEscapedCodepoint ( void  )

◆ QCC_PR_LexInteger()

int QCC_PR_LexInteger ( void  )

◆ QCC_PR_LexString()

void QCC_PR_LexString ( void  )

◆ QCC_PR_LexWhitespace()

void QCC_PR_LexWhitespace ( pbool  inhibitpreprocessor)

◆ QCC_PR_MakeThiscall()

QCC_type_t * QCC_PR_MakeThiscall ( QCC_type_t orig,
QCC_type_t thistype 
)

◆ QCC_PR_NewLine()

void QCC_PR_NewLine ( pbool  incomment)

◆ QCC_PR_Note()

void VARGS QCC_PR_Note ( int  type,
const char *  file,
int  line,
const char *  error,
  ... 
)

◆ QCC_PR_ParseAccessorMember()

struct accessor_s * QCC_PR_ParseAccessorMember ( QCC_type_t classtype,
pbool  isinline,
pbool  setnotget 
)

◆ QCC_PR_ParseEnum()

QCC_type_t * QCC_PR_ParseEnum ( pbool  flags)

◆ QCC_PR_ParseError()

NORETURN void VARGS QCC_PR_ParseError ( int  errortype,
const char *  error,
  ... 
)

◆ QCC_PR_ParseErrorPrintDef()

NORETURN void VARGS QCC_PR_ParseErrorPrintDef ( int  errortype,
QCC_def_t def,
const char *  error,
  ... 
)

◆ QCC_PR_ParseErrorPrintSRef()

NORETURN void VARGS QCC_PR_ParseErrorPrintSRef ( int  errortype,
QCC_sref_t  def,
const char *  error,
  ... 
)

◆ QCC_PR_ParseFunctionType()

QCC_type_t * QCC_PR_ParseFunctionType ( int  newtype,
QCC_type_t returntype 
)

◆ QCC_PR_ParseFunctionTypeReacc()

QCC_type_t * QCC_PR_ParseFunctionTypeReacc ( int  newtype,
QCC_type_t returntype 
)

◆ QCC_PR_ParseImmediateStatements()

QCC_function_t * QCC_PR_ParseImmediateStatements ( QCC_def_t def,
QCC_type_t type,
pbool  dowrap 
)

◆ QCC_PR_ParseName()

char * QCC_PR_ParseName ( void  )

◆ QCC_PR_ParsePrintDef()

void QCC_PR_ParsePrintDef ( int  type,
QCC_def_t def 
)

◆ QCC_PR_ParsePrintSRef()

void QCC_PR_ParsePrintSRef ( int  type,
QCC_sref_t  def 
)

◆ QCC_PR_ParseType()

QCC_type_t * QCC_PR_ParseType ( int  newtype,
pbool  silentfail 
)

◆ QCC_PR_ParseWarning()

pbool VARGS QCC_PR_ParseWarning ( int  type,
const char *  error,
  ... 
)

◆ QCC_PR_PeekToken()

pbool QCC_PR_PeekToken ( const char *  string)

◆ QCC_PR_PointerType()

QCC_type_t * QCC_PR_PointerType ( QCC_type_t pointsto)

◆ QCC_PR_PreProcessor_Define()

void QCC_PR_PreProcessor_Define ( pbool  append)

◆ QCC_PR_ResetErrorScope()

void QCC_PR_ResetErrorScope ( void  )

◆ QCC_PR_SimpleGetString()

pbool QCC_PR_SimpleGetString ( void  )

◆ QCC_PR_SimpleGetToken()

pbool QCC_PR_SimpleGetToken ( void  )

◆ QCC_PR_SkipToSemicolon()

void QCC_PR_SkipToSemicolon ( void  )

◆ QCC_PR_UndefineName()

pbool QCC_PR_UndefineName ( const char *  name)

◆ QCC_PR_UnInclude()

pbool QCC_PR_UnInclude ( void  )

◆ QCC_PR_Warning()

pbool VARGS QCC_PR_Warning ( int  type,
const char *  file,
int  line,
const char *  error,
  ... 
)

◆ QCC_Temp_Describe()

pbool QCC_Temp_Describe ( QCC_def_t def,
char *  buffer,
int  buffersize 
)

◆ QCC_TypeForName()

QCC_type_t * QCC_TypeForName ( const char *  name)

◆ typecmp()

int typecmp ( QCC_type_t a,
QCC_type_t b 
)

◆ typecmp_lax()

int typecmp_lax ( QCC_type_t a,
QCC_type_t b 
)

◆ TypeName()

char * TypeName ( QCC_type_t type,
char *  buffer,
int  buffersize 
)

Variable Documentation

◆ basictypenames

char* basictypenames[]
extern

◆ basictypes

QCC_type_t** basictypes[]
extern

◆ compilingfile

char* compilingfile

◆ currentchunk

qcc_includechunk_t* currentchunk

◆ def_parms

QCC_def_t def_parms[MAX_PARMS]

◆ def_ret

QCC_def_t def_ret

◆ defaultnoref

pbool defaultnoref

◆ defaultnosave

pbool defaultnosave

◆ defaultstatic

pbool defaultstatic

◆ destfile

char destfile[1024]
extern

◆ destfile_explicit

pbool destfile_explicit
extern

◆ errorscope

void* errorscope

◆ expandedemptymacro

pbool expandedemptymacro
extern

◆ file

const char* file

◆ ForcedCRC

int ForcedCRC

◆ locals_end

unsigned int locals_end
extern

◆ locals_start

unsigned int locals_start

◆ name

char name[64]

◆ pr_bracelevel

int pr_bracelevel

◆ pr_classtype

QCC_type_t* pr_classtype
extern

◆ pr_error_count

int pr_error_count

◆ pr_file_p

char* pr_file_p

◆ 

struct { ... } pr_framemacro[MAX_FRAMES]

◆ pr_framemodelname

char pr_framemodelname[64]

◆ pr_immediate

QCC_eval_t pr_immediate

◆ pr_immediate_string

char pr_immediate_string[8192]

◆ pr_immediate_strlen

size_t pr_immediate_strlen

◆ pr_immediate_type

QCC_type_t* pr_immediate_type

◆ pr_line_start

char* pr_line_start

◆ pr_macrovalue

int pr_macrovalue

◆ pr_nummacros

int pr_nummacros

◆ pr_parm_argcount_name

char* pr_parm_argcount_name

◆ pr_parm_names

char pr_parm_names[MAX_PARMS][MAX_NAME]

◆ pr_punctuation

char* pr_punctuation[]
Initial value:
=
{"&&", "||", "<=>", "<=", ">=","==", "!=", "/=", "*=", "+=", "-=", "(+)", "(-)", "|=", "&~=", "&=", "++", "--", "->", "^=", "::", ";", ",", "!", "*^", "*", "/", "(", ")", "-", "+", "=", "[", "]", "{", "}", "...", "..", ".", "><", "<<=", "<<", "<", ">>=", ">>", ">" , "?", "#" , "@", "&" , "|", "%", "^^", "^", "~", ":", NULL}

◆ pr_punctuationremap

char* pr_punctuationremap[]
Initial value:
=
{"&&", "||", "<=>", "<=", ">=","==", "!=", "/=", "*=", "+=", "-=", "|=", "&~=", "|=", "&~=", "&=", "++", "--", ".", "^=", "::", ";", ",", "!", "*^", "*", "/", "(", ")", "-", "+", "=", "[", "]", "{", "}", "...", "..", ".", "><", "<<=", "<<", "<", ">>=", ">>", ">" , "?", "#" , "@", "&" , "|", "%", "^^", "^", "~", ":", NULL}

◆ pr_savedmacro

int pr_savedmacro

◆ pr_source_line

int pr_source_line

◆ pr_token

char pr_token[8192]

◆ pr_token_line

int pr_token_line

◆ pr_token_line_last

int pr_token_line_last

◆ pr_token_precomment

char* pr_token_precomment

◆ pr_token_type

token_type_t pr_token_type

◆ pr_warning_count

int pr_warning_count

◆ qcc_framerate

float qcc_framerate

◆ qccincludedir

char qccincludedir[MAXINCLUDEDIRS][256]

◆ qccincludeonced

struct qccincludeonced_s * qccincludeonced

◆ qccmsourcedir

char qccmsourcedir[]
extern

◆ recursivefunctiontype

int recursivefunctiontype

◆ type_bfloat

QCC_type_t* type_bfloat

◆ type_bint

QCC_type_t* type_bint

◆ type_double

QCC_type_t* type_double

◆ type_entity

QCC_type_t* type_entity

◆ type_field

QCC_type_t* type_field

◆ type_float

QCC_type_t* type_float

◆ type_floatfield

QCC_type_t* type_floatfield

◆ type_floatfunction

QCC_type_t* type_floatfunction

◆ type_floatpointer

QCC_type_t* type_floatpointer

◆ type_function

QCC_type_t* type_function

◆ type_inlinefunction

pbool type_inlinefunction

◆ type_int64

QCC_type_t* type_int64

◆ type_integer

QCC_type_t* type_integer

◆ type_intpointer

QCC_type_t* type_intpointer

◆ type_invalid

QCC_type_t* type_invalid

◆ type_pointer

QCC_type_t* type_pointer

◆ type_string

QCC_type_t* type_string

◆ type_uint

QCC_type_t* type_uint

◆ type_uint64

QCC_type_t* type_uint64

◆ type_variant

QCC_type_t* type_variant

◆ type_vector

QCC_type_t* type_vector

◆ type_void

QCC_type_t* type_void

◆ value