Sourceforge.net - The VCF's Project Host
   The VCF Website Home   |   Online Discussion Forums   |   Sourceforge.net Project Page   

vcf/JavaScriptKit/js-impl/jsscan.h File Reference


Classes

struct  JSStringBuffer
struct  JSTokenPtr
struct  JSTokenPos
struct  JSToken
struct  JSTokenBuf
struct  JSTokenStream

Defines

#define JS_KEYWORD(keyword, type, op, version)   extern const char js_##keyword##_str[];
#define IS_PRIMARY_TOKEN(tt)   ((uintN)((tt) - TOK_NAME) <= (uintN)(TOK_PRIMARY - TOK_NAME))
#define TOKEN_TYPE_IS_XML(tt)   (tt == TOK_AT || tt == TOK_DBLCOLON || tt == TOK_ANYNAME)
#define TOKEN_TYPE_IS_DECL(tt)   ((tt) == TOK_VAR)
#define STRING_BUFFER_ERROR_BASE   ((jschar *) 1)
#define STRING_BUFFER_OK(sb)   ((sb)->base != STRING_BUFFER_ERROR_BASE)
#define STRING_BUFFER_OFFSET(sb)   ((sb)->ptr -(sb)->base)
#define t_op   u.s.op
#define t_atom   u.s.atom
#define t_atom2   u.p.atom2
#define t_dval   u.dval
#define JS_LINE_LIMIT   256
#define NTOKENS   4
#define NTOKENS_MASK   (NTOKENS-1)
#define CURRENT_TOKEN(ts)   ((ts)->tokens[(ts)->cursor])
#define ON_CURRENT_LINE(ts, pos)   ((uint16)(ts)->lineno == (pos).end.lineno)
#define TSF_ERROR   0x01
#define TSF_EOF   0x02
#define TSF_NEWLINES   0x04
#define TSF_OPERAND   0x08
#define TSF_NLFLAG   0x20
#define TSF_CRFLAG   0x40
#define TSF_DIRTYLINE   0x80
#define TSF_OWNFILENAME   0x100
#define TSF_XMLTAGMODE   0x200
#define TSF_XMLTEXTMODE   0x400
#define TSF_XMLONLYMODE   0x800
#define TSF_UNEXPECTED_EOF   0x1000
#define TSF_IN_HTML_COMMENT   0x2000
#define TSF_KEYWORD_IS_NAME   0x4000
#define LINE_SEPARATOR   0x2028
#define PARA_SEPARATOR   0x2029
#define js_IsKeyword(chars, length)   (js_CheckKeyword(chars, length) != TOK_EOF)
#define JSREPORT_HANDLE   0x300
#define JSREPORT_TS   0x000
#define JSREPORT_CG   0x100
#define JSREPORT_PN   0x200

Enumerations

enum  JSTokenType {
  TOK_ERROR = -1, TOK_EOF = 0, TOK_EOL = 1, TOK_SEMI = 2,
  TOK_COMMA = 3, TOK_ASSIGN = 4, TOK_HOOK = 5, TOK_COLON = 6,
  TOK_OR = 7, TOK_AND = 8, TOK_BITOR = 9, TOK_BITXOR = 10,
  TOK_BITAND = 11, TOK_EQOP = 12, TOK_RELOP = 13, TOK_SHOP = 14,
  TOK_PLUS = 15, TOK_MINUS = 16, TOK_STAR = 17, TOK_DIVOP = 18,
  TOK_UNARYOP = 19, TOK_INC = 20, TOK_DEC = 21, TOK_DOT = 22,
  TOK_LB = 23, TOK_RB = 24, TOK_LC = 25, TOK_RC = 26,
  TOK_LP = 27, TOK_RP = 28, TOK_NAME = 29, TOK_NUMBER = 30,
  TOK_STRING = 31, TOK_OBJECT = 32, TOK_PRIMARY = 33, TOK_FUNCTION = 34,
  TOK_EXPORT = 35, TOK_IMPORT = 36, TOK_IF = 37, TOK_ELSE = 38,
  TOK_SWITCH = 39, TOK_CASE = 40, TOK_DEFAULT = 41, TOK_WHILE = 42,
  TOK_DO = 43, TOK_FOR = 44, TOK_BREAK = 45, TOK_CONTINUE = 46,
  TOK_IN = 47, TOK_VAR = 48, TOK_WITH = 49, TOK_RETURN = 50,
  TOK_NEW = 51, TOK_DELETE = 52, TOK_DEFSHARP = 53, TOK_USESHARP = 54,
  TOK_TRY = 55, TOK_CATCH = 56, TOK_FINALLY = 57, TOK_THROW = 58,
  TOK_INSTANCEOF = 59, TOK_DEBUGGER = 60, TOK_XMLSTAGO = 61, TOK_XMLETAGO = 62,
  TOK_XMLPTAGC = 63, TOK_XMLTAGC = 64, TOK_XMLNAME = 65, TOK_XMLATTR = 66,
  TOK_XMLSPACE = 67, TOK_XMLTEXT = 68, TOK_XMLCOMMENT = 69, TOK_XMLCDATA = 70,
  TOK_XMLPI = 71, TOK_AT = 72, TOK_DBLCOLON = 73, TOK_ANYNAME = 74,
  TOK_DBLDOT = 75, TOK_FILTER = 76, TOK_XMLELEM = 77, TOK_XMLLIST = 78,
  TOK_YIELD = 79, TOK_ARRAYCOMP = 80, TOK_ARRAYPUSH = 81, TOK_LEXICALSCOPE = 82,
  TOK_LET = 83, TOK_BODY = 84, TOK_RESERVED, TOK_LIMIT
}

Functions

void js_InitStringBuffer (JSStringBuffer *sb)
void js_FinishStringBuffer (JSStringBuffer *sb)
void js_AppendChar (JSStringBuffer *sb, jschar c)
void js_RepeatChar (JSStringBuffer *sb, jschar c, uintN count)
void js_AppendCString (JSStringBuffer *sb, const char *asciiz)
void js_AppendJSString (JSStringBuffer *sb, JSString *str)
JSTokenStreamjs_NewTokenStream (JSContext *cx, const jschar *base, size_t length, const char *filename, uintN lineno, JSPrincipals *principals)
 JS_FRIEND_API (JSTokenStream *) js_NewBufferTokenStream(JSContext *cx
 JS_FRIEND_API (JSBool) js_CloseTokenStream(JSContext *cx
 JS_FRIEND_API (int) js_fgets(char *buf
JSTokenType js_CheckKeyword (const jschar *chars, size_t length)
 JS_FRIEND_API (void) js_MapKeywords(void(*mapfun)(const char *))
JSBool js_ReportCompileErrorNumber (JSContext *cx, void *handle, uintN flags, uintN errorNumber,...)
JSBool js_ReportCompileErrorNumberUC (JSContext *cx, void *handle, uintN flags, uintN errorNumber,...)
JSTokenType js_PeekToken (JSContext *cx, JSTokenStream *ts)
JSTokenType js_PeekTokenSameLine (JSContext *cx, JSTokenStream *ts)
JSTokenType js_GetToken (JSContext *cx, JSTokenStream *ts)
void js_UngetToken (JSTokenStream *ts)
JSBool js_MatchToken (JSContext *cx, JSTokenStream *ts, JSTokenType tt)

Variables

const jscharbase
const jschar size_t length
const char * filename
const char FILE * defaultfp
JSTokenStreamts
int size
int FILE * file

Define Documentation

#define CURRENT_TOKEN ts   )     ((ts)->tokens[(ts)->cursor])
 

#define IS_PRIMARY_TOKEN tt   )     ((uintN)((tt) - TOK_NAME) <= (uintN)(TOK_PRIMARY - TOK_NAME))
 

#define js_IsKeyword chars,
length   )     (js_CheckKeyword(chars, length) != TOK_EOF)
 

#define JS_KEYWORD keyword,
type,
op,
version   )     extern const char js_##keyword##_str[];
 

#define JS_LINE_LIMIT   256
 

#define JSREPORT_CG   0x100
 

#define JSREPORT_HANDLE   0x300
 

#define JSREPORT_PN   0x200
 

#define JSREPORT_TS   0x000
 

#define LINE_SEPARATOR   0x2028
 

#define NTOKENS   4
 

#define NTOKENS_MASK   (NTOKENS-1)
 

#define ON_CURRENT_LINE ts,
pos   )     ((uint16)(ts)->lineno == (pos).end.lineno)
 

#define PARA_SEPARATOR   0x2029
 

#define STRING_BUFFER_ERROR_BASE   ((jschar *) 1)
 

#define STRING_BUFFER_OFFSET sb   )     ((sb)->ptr -(sb)->base)
 

#define STRING_BUFFER_OK sb   )     ((sb)->base != STRING_BUFFER_ERROR_BASE)
 

#define t_atom   u.s.atom
 

#define t_atom2   u.p.atom2
 

#define t_dval   u.dval
 

#define t_op   u.s.op
 

#define TOKEN_TYPE_IS_DECL tt   )     ((tt) == TOK_VAR)
 

#define TOKEN_TYPE_IS_XML tt   )     (tt == TOK_AT || tt == TOK_DBLCOLON || tt == TOK_ANYNAME)
 

#define TSF_CRFLAG   0x40
 

#define TSF_DIRTYLINE   0x80
 

#define TSF_EOF   0x02
 

#define TSF_ERROR   0x01
 

#define TSF_IN_HTML_COMMENT   0x2000
 

#define TSF_KEYWORD_IS_NAME   0x4000
 

#define TSF_NEWLINES   0x04
 

#define TSF_NLFLAG   0x20
 

#define TSF_OPERAND   0x08
 

#define TSF_OWNFILENAME   0x100
 

#define TSF_UNEXPECTED_EOF   0x1000
 

#define TSF_XMLONLYMODE   0x800
 

#define TSF_XMLTAGMODE   0x200
 

#define TSF_XMLTEXTMODE   0x400
 


Enumeration Type Documentation

enum JSTokenType
 

Enumerator:
TOK_ERROR 
TOK_EOF 
TOK_EOL 
TOK_SEMI 
TOK_COMMA 
TOK_ASSIGN 
TOK_HOOK 
TOK_COLON 
TOK_OR 
TOK_AND 
TOK_BITOR 
TOK_BITXOR 
TOK_BITAND 
TOK_EQOP 
TOK_RELOP 
TOK_SHOP 
TOK_PLUS 
TOK_MINUS 
TOK_STAR 
TOK_DIVOP 
TOK_UNARYOP 
TOK_INC 
TOK_DEC 
TOK_DOT 
TOK_LB 
TOK_RB 
TOK_LC 
TOK_RC 
TOK_LP 
TOK_RP 
TOK_NAME 
TOK_NUMBER 
TOK_STRING 
TOK_OBJECT 
TOK_PRIMARY 
TOK_FUNCTION 
TOK_EXPORT 
TOK_IMPORT 
TOK_IF 
TOK_ELSE 
TOK_SWITCH 
TOK_CASE 
TOK_DEFAULT 
TOK_WHILE 
TOK_DO 
TOK_FOR 
TOK_BREAK 
TOK_CONTINUE 
TOK_IN 
TOK_VAR 
TOK_WITH 
TOK_RETURN 
TOK_NEW 
TOK_DELETE 
TOK_DEFSHARP 
TOK_USESHARP 
TOK_TRY 
TOK_CATCH 
TOK_FINALLY 
TOK_THROW 
TOK_INSTANCEOF 
TOK_DEBUGGER 
TOK_XMLSTAGO 
TOK_XMLETAGO 
TOK_XMLPTAGC 
TOK_XMLTAGC 
TOK_XMLNAME 
TOK_XMLATTR 
TOK_XMLSPACE 
TOK_XMLTEXT 
TOK_XMLCOMMENT 
TOK_XMLCDATA 
TOK_XMLPI 
TOK_AT 
TOK_DBLCOLON 
TOK_ANYNAME 
TOK_DBLDOT 
TOK_FILTER 
TOK_XMLELEM 
TOK_XMLLIST 
TOK_YIELD 
TOK_ARRAYCOMP 
TOK_ARRAYPUSH 
TOK_LEXICALSCOPE 
TOK_LET 
TOK_BODY 
TOK_RESERVED 
TOK_LIMIT 


Function Documentation

void js_AppendChar JSStringBuffer sb,
jschar  c
 

void js_AppendCString JSStringBuffer sb,
const char *  asciiz
 

void js_AppendJSString JSStringBuffer sb,
JSString str
 

JSTokenType js_CheckKeyword const jschar chars,
size_t  length
 

void js_FinishStringBuffer JSStringBuffer sb  ) 
 

JS_FRIEND_API void   )  const
 

JS_FRIEND_API int   ) 
 

JS_FRIEND_API JSBool   ) 
 

JS_FRIEND_API JSTokenStream  ) 
 

JSTokenType js_GetToken JSContext cx,
JSTokenStream ts
 

void js_InitStringBuffer JSStringBuffer sb  ) 
 

JSBool js_MatchToken JSContext cx,
JSTokenStream ts,
JSTokenType  tt
 

JSTokenStream* js_NewTokenStream JSContext cx,
const jschar base,
size_t  length,
const char *  filename,
uintN  lineno,
JSPrincipals principals
 

JSTokenType js_PeekToken JSContext cx,
JSTokenStream ts
 

JSTokenType js_PeekTokenSameLine JSContext cx,
JSTokenStream ts
 

void js_RepeatChar JSStringBuffer sb,
jschar  c,
uintN  count
 

JSBool js_ReportCompileErrorNumber JSContext cx,
void *  handle,
uintN  flags,
uintN  errorNumber,
  ...
 

JSBool js_ReportCompileErrorNumberUC JSContext cx,
void *  handle,
uintN  flags,
uintN  errorNumber,
  ...
 

void js_UngetToken JSTokenStream ts  ) 
 


Variable Documentation

const jschar* base
 

const char FILE* defaultfp
 

int FILE* file
 

const char* filename
 

const jschar size_t length
 

int size
 

JSTokenStream* ts
 

   Comments or Suggestions?    License Information