org.erights.e.elang.syntax
Class EParser

java.lang.Object
  |
  +--org.erights.e.elang.syntax.EParser

public class EParser
extends Object

Safe:


Field Summary
static short _
          Enabled:
static short ABSTRACT
          Enabled:
static short AN
          Enabled:
static short AS
          Enabled:
static short ASSERT
          Enabled:
static short AssignExpr
          Enabled:
static short AtIdent
          Enabled:
static short AtOpen
          Enabled:
static short ATTRIBUTE
          Enabled:
private  EBuilder b
          receives parsing events
static short BE
          Enabled:
static short BEGIN
          Enabled:
static short BEHALF
          Enabled:
static short BELIEF
          Enabled:
static short BELIEVE
          Enabled:
static short BELIEVES
          Enabled:
static short BIND
          Enabled:
static short BodyNextWord
          Enabled:
static short BodyStartWord
          Enabled:
static short BREAK
          Enabled:
static short CallExpr
          Enabled:
static short CASE
          Enabled:
static short CATCH
          Enabled:
static short CatchExpr
          Enabled:
static short CdrPattern
          Enabled:
static short CLASS
          Enabled:
static short CONST
          Enabled:
static short CONSTRUCTOR
          Enabled:
static short CONTEXT
          Enabled:
static short CONTINUE
          Enabled:
static short DECLARE
          Enabled:
static short DEF
          Enabled:
static short DEFAULT
          Enabled:
private static int DEFAULT_CONTINUE_INDENT
           
static AstroSchema DEFAULT_SCHEMA
          Enabled:
private static ConstMap DefaultProps
           
static short DEFINE
          Enabled:
static short DefineExpr
          Enabled:
static short DEFMACRO
          Enabled:
static short DELEGATE
          Enabled:
static short DEPRECATED
          Enabled:
static short DISPATCH
          Enabled:
static short DO
          Enabled:
static short DocComment
          Enabled:
static short DollarIdent
          Enabled:
static short DollarOpen
          Enabled:
static short ELSE
          Enabled:
static short EMethod
          Enabled:
static short ENCAPSULATE
          Enabled:
static short ENCAPSULATED
          Enabled:
static short ENCAPSULATES
          Enabled:
static short END
          Enabled:
static short ENSURE
          Enabled:
static short ENUM
          Enabled:
static short EOL
          Enabled:
static short EOTLU
          Enabled:
static StaticMaker EParserMaker
          Enabled:
static short ESCAPE
          Enabled:
static short EscapeExpr
          Enabled:
static short EScript
          Enabled:
static short EVENTUAL
          Enabled:
static short EVENTUALLY
          Enabled:
static short EXPORT
          Enabled:
static short EXTENDS
          Enabled:
static short FACET
          Enabled:
static short FINALLY
          Enabled:
static short FinallyExpr
          Enabled:
static short FinalPattern
          Enabled:
static short FOR
          Enabled:
static short FORALL
          Enabled:
static short FUNCTION
          Enabled:
static short GIVEN
          Enabled:
static short GUARDS
          Enabled:
static short HIDDEN
          Enabled:
static short HideExpr
          Enabled:
static short HIDES
          Enabled:
static short ID
          Enabled:
static short IF
          Enabled:
static short IfExpr
          Enabled:
static short IgnorePattern
          Enabled:
static short IMPLEMENTS
          Enabled:
static short IN
          Enabled:
static short INLINE
          Enabled:
static short INTERFACE
          Enabled:
static short IS
          Enabled:
static short KNOW
          Enabled:
static short KNOWS
          Enabled:
static short LAMBDA
          Enabled:
static short LET
          Enabled:
static short ListPattern
          Enabled:
static short LiteralChar
          Enabled:
static short LiteralExpr
          Enabled:
static short LiteralFloat64
          Enabled:
static short LiteralInteger
          Enabled:
static short LiteralString
          Enabled:
static short LiteralTwine
          Enabled:
private static int[] LiteralTypes
           
static short MapsTo
          Enabled:
static short MATCH
          Enabled:
static short MatchBind
          Enabled:
static short MatchBindExpr
          Enabled:
static short Matcher
          Enabled:
static short META
          Enabled:
static short MetaExpr
          Enabled:
static short METHOD
          Enabled:
static short METHODS
          Enabled:
static short MisMatch
          Enabled:
static short MODULE
          Enabled:
private  LexerFace myLexer
          contains all the tokens after yylval
private  boolean myOnlyOneExprFlag
          Do we escape after parsing only one expression, or do we parse the entire input?
private  ENode myOptResult
          Where the result is stored by the top-level productions
static short NAMESPACE
          Enabled:
static short NATIVE
          Enabled:
static short NounExpr
          Enabled:
static short OBEYS
          Enabled:
static short ObjectExpr
          Enabled:
static short OCTET
          Enabled:
static short ON
          Enabled:
static short ONEWAY
          Enabled:
static short OpABA
          Enabled:
static short OpAsl
          Enabled:
static short OpAsr
          Enabled:
static short OpAss
          Enabled:
static short OpAssAdd
          Enabled:
static short OpAssAnd
          Enabled:
static short OpAssAprxDiv
          Enabled:
static short OpAssAsl
          Enabled:
static short OpAssAsr
          Enabled:
static short OpAssFlrDiv
          Enabled:
static short OpAssMod
          Enabled:
static short OpAssMul
          Enabled:
static short OpAssOr
          Enabled:
static short OpAssPow
          Enabled:
static short OpAssRemdr
          Enabled:
static short OpAssSub
          Enabled:
static short OpAssXor
          Enabled:
static short OpButNot
          Enabled:
static short OpFlrDiv
          Enabled:
static short OpGeq
          Enabled:
static short OpLAnd
          Enabled:
static short OpLeq
          Enabled:
static short OpLOr
          Enabled:
static short OpMod
          Enabled:
static short OpNSame
          Enabled:
static short OpPow
          Enabled:
static short OpSame
          Enabled:
static short OpThru
          Enabled:
static short OpTill
          Enabled:
static short OpWhen
          Enabled:
private static IdentityCacheTable OurCache
          caches previous simple parses (as is used for quasi-parsing)
static short PACKAGE
          Enabled:
static short PRAGMA
          Enabled:
static short PRIVATE
          Enabled:
static short PROTECTED
          Enabled:
static short PUBLIC
          Enabled:
static short QuasiClose
          Enabled:
static short QuasiLiteralExpr
          Enabled:
static short QuasiLiteralPatt
          Enabled:
static short QuasiOpen
          Enabled:
static short QuasiPatternExpr
          Enabled:
static short QuasiPatternPatt
          Enabled:
private static int[] QuasiTypes
           
static short RAISES
          Enabled:
static short RELIANCE
          Enabled:
static short RELIANT
          Enabled:
static short RELIES
          Enabled:
static short RELY
          Enabled:
static short RETURN
          Enabled:
static short REVEAL
          Enabled:
static short SAKE
          Enabled:
static short ScopeExpr
          Enabled:
static short SELECT
          Enabled:
static short Send
          Enabled:
static short SendExpr
          Enabled:
static short SeqExpr
          Enabled:
static short SIGNED
          Enabled:
static short SlotExpr
          Enabled:
(package private)  int stateptr
           
(package private)  int[] statestk
           
static short STATIC
          Enabled:
static short STRUCT
          Enabled:
static short SUCHTHAT
          Enabled:
static short SuchThatPattern
          Enabled:
static short SUPPORTS
          Enabled:
static short SUSPECT
          Enabled:
static short SUSPECTS
          Enabled:
static short SWITCH
          Enabled:
static short SYNCHRONIZED
          Enabled:
private static int[][] TheContinuerOps
          These are the tokens that may appear at the end of a line, in which case the next line is a (to be indented) continuation of the expression.
private static int[] TheContinuers
          TheContinuers[tagCode] says whether this is a continuation operator, and if so, how much to indent by.
private static String[] TheTokens
           
static short THIS
          Enabled:
static short THROWS
          Enabled:
static short THUNK
          Enabled:
static short TO
          Enabled:
static short TRANSIENT
          Enabled:
static short TRUNCATABLE
          Enabled:
static short TRY
          Enabled:
static short TYPEDEF
          Enabled:
static short UNSIGNED
          Enabled:
static short UNUM
          Enabled:
static short URI
          Enabled:
static short URIStart
          Enabled:
static short USES
          Enabled:
static short USING
          Enabled:
static short UTF16
          Enabled:
static short UTF8
          Enabled:
(package private)  int valptr
           
(package private)  Object[] valstk
           
static short VAR
          Enabled:
static short VarPattern
          Enabled:
static short VerbAssign
          Enabled:
static short VIRTUAL
          Enabled:
static short VOLATILE
          Enabled:
static short VTableNextWord
          Enabled:
static short VTableStartWord
          Enabled:
static short WHEN
          Enabled:
static short WHILE
          Enabled:
static short WSTRING
          Enabled:
(package private)  int yychar
           
private static short[] yycheck
           
(package private)  boolean yydebug
           
(package private) static short[] yydefred
           
(package private) static short[] yydgoto
           
static short YYERRCODE
          Enabled:
(package private)  int yyerrflag
           
(package private) static short YYFINAL
           
(package private) static short[] yygindex
           
(package private) static short[] yylen
           
(package private) static short[] yylhs
           
(package private)  Object yylval
           
(package private) static short YYMAXTOKEN
           
(package private) static String[] yyname
           
(package private)  int yynerrs
           
(package private) static short[] yyrindex
           
(package private) static String[] yyrule
           
(package private) static short[] yysindex
           
(package private) static int YYSTACKSIZE
           
private static short[] yytable
           
(package private) static int YYTABLESIZE
           
(package private)  String yytext
           
(package private)  Object yyval
           
 
Constructor Summary
EParser(ENodeBuilder builder, LexerFace lexer, boolean debugFlag, boolean onlyOneExprFlag)
          Enabled:
 
Method Summary
static int continueCount(int tagCode)
          Enabled: If this token appears at the end of a line, does that make the next line a (to be indented) continuation line?
(package private)  void debug(String msg)
           
(package private)  void dump_stacks(int count)
           
(package private)  boolean init_stacks()
           
private static void initTables()
          Ensures that yytable and yycheck are initialized.
 boolean isEndOfFile()
          Enabled:
(package private) static boolean isLiteralToken(Object tok)
           
(package private) static boolean isQuasiPart(Object tok)
           
private static boolean isTokenKind(Object tok, int[] members)
           
static EParser make(ConstMap props, LexerFace lexer)
          Enabled:
static EParser make(ConstMap optProps, LexerFace lexer, boolean debugFlag, boolean onlyOneExprFlag)
          Enabled:
static EParser make(LexerFace lexer)
          Enabled:
static ENode matchMaker(Twine sourceCode)
          Enabled: For use from E as a quasi-pattern parser.
(package private) static NounExpr noun(Object name)
           
 ENode optParse()
          Enabled:
 ENode parse()
          Enabled: If the input is empty, returns the null expression e`null`, rather than null.
static ENode run(Twine sourceCode)
          Enabled: For simple string -> expression parsing, especially for use from E
static ENode run(Twine sourceCode, boolean quasiFlag)
          Enabled:
static ENode run(Twine sourceCode, boolean quasiFlag, ConstMap optProps)
          Enabled: No longer does the caching.
 void setSource(Twine newSource)
          Enabled:
(package private)  void state_drop(int cnt)
           
(package private)  int state_peek(int relative)
           
(package private)  int state_pop()
           
(package private)  void state_push(int state)
           
(package private)  void val_drop(int cnt)
           
(package private)  void val_init()
           
(package private)  Object val_peek(int relative)
           
(package private)  Object val_pop()
           
(package private)  void val_push(Object val)
           
static ENode valueMaker(Twine sourceCode)
          Enabled: For use as from E as a quasi-literal parser.
private  void yyerror(String s)
           
private  short yylex()
          Converts EOTLUs to either EOLs or EOFTOKs according to myOnlyOneExprFlag
(package private)  void yylexdebug(int state, int ch)
           
(package private)  int yyparse()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

yydebug

boolean yydebug

yynerrs

int yynerrs

yyerrflag

int yyerrflag

yychar

int yychar

YYSTACKSIZE

static final int YYSTACKSIZE

statestk

int[] statestk

stateptr

int stateptr

yytext

String yytext

yyval

Object yyval

yylval

Object yylval

valstk

Object[] valstk

valptr

int valptr

LiteralInteger

public static final short LiteralInteger
Enabled:


LiteralFloat64

public static final short LiteralFloat64
Enabled:


LiteralChar

public static final short LiteralChar
Enabled:


LiteralString

public static final short LiteralString
Enabled:


LiteralTwine

public static final short LiteralTwine
Enabled:


ID

public static final short ID
Enabled:


VerbAssign

public static final short VerbAssign
Enabled:


QuasiOpen

public static final short QuasiOpen
Enabled:


QuasiClose

public static final short QuasiClose
Enabled:


DollarIdent

public static final short DollarIdent
Enabled:


AtIdent

public static final short AtIdent
Enabled:


DollarOpen

public static final short DollarOpen
Enabled:


AtOpen

public static final short AtOpen
Enabled:


URI

public static final short URI
Enabled:


URIStart

public static final short URIStart
Enabled:


DocComment

public static final short DocComment
Enabled:


BodyStartWord

public static final short BodyStartWord
Enabled:


BodyNextWord

public static final short BodyNextWord
Enabled:


VTableStartWord

public static final short VTableStartWord
Enabled:


VTableNextWord

public static final short VTableNextWord
Enabled:


BIND

public static final short BIND
Enabled:


BREAK

public static final short BREAK
Enabled:


CATCH

public static final short CATCH
Enabled:


CONTINUE

public static final short CONTINUE
Enabled:


DEF

public static final short DEF
Enabled:


ELSE

public static final short ELSE
Enabled:


ESCAPE

public static final short ESCAPE
Enabled:


EXTENDS

public static final short EXTENDS
Enabled:


FINALLY

public static final short FINALLY
Enabled:


FOR

public static final short FOR
Enabled:


GUARDS

public static final short GUARDS
Enabled:


IF

public static final short IF
Enabled:


IMPLEMENTS

public static final short IMPLEMENTS
Enabled:


IN

public static final short IN