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
Enabled:


INTERFACE

public static final short INTERFACE
Enabled:


MATCH

public static final short MATCH
Enabled:


META

public static final short META
Enabled:


METHOD

public static final short METHOD
Enabled:


PRAGMA

public static final short PRAGMA
Enabled:


RETURN

public static final short RETURN
Enabled:


SWITCH

public static final short SWITCH
Enabled:


THUNK

public static final short THUNK
Enabled:


TO

public static final short TO
Enabled:


TRY

public static final short TRY
Enabled:


VAR

public static final short VAR
Enabled:


WHEN

public static final short WHEN
Enabled:


WHILE

public static final short WHILE
Enabled:


_

public static final short _
Enabled:


CLASS

public static final short CLASS
Enabled:


DELEGATE

public static final short DELEGATE
Enabled:


MODULE

public static final short MODULE
Enabled:


ON

public static final short ON
Enabled:


SELECT

public static final short SELECT
Enabled:


ABSTRACT

public static final short ABSTRACT
Enabled:


AN

public static final short AN
Enabled:


AS

public static final short AS
Enabled:


ASSERT

public static final short ASSERT
Enabled:


ATTRIBUTE

public static final short ATTRIBUTE
Enabled:


BE

public static final short BE
Enabled:


BEGIN

public static final short BEGIN
Enabled:


BEHALF

public static final short BEHALF
Enabled:


BELIEF

public static final short BELIEF
Enabled:


BELIEVE

public static final short BELIEVE
Enabled:


BELIEVES

public static final short BELIEVES
Enabled:


CASE

public static final short CASE
Enabled:


CONST

public static final short CONST
Enabled:


CONSTRUCTOR

public static final short CONSTRUCTOR
Enabled:


CONTEXT

public static final short CONTEXT
Enabled:


DECLARE

public static final short DECLARE
Enabled:


DEFAULT

public static final short DEFAULT
Enabled:


DEFINE

public static final short DEFINE
Enabled:


DEFMACRO

public static final short DEFMACRO
Enabled:


DEPRECATED

public static final short DEPRECATED
Enabled:


DISPATCH

public static final short DISPATCH
Enabled:


DO

public static final short DO
Enabled:


ENCAPSULATE

public static final short ENCAPSULATE
Enabled:


ENCAPSULATED

public static final short ENCAPSULATED
Enabled:


ENCAPSULATES

public static final short ENCAPSULATES
Enabled:


END

public static final short END
Enabled:


ENSURE

public static final short ENSURE
Enabled:


ENUM

public static final short ENUM
Enabled:


EVENTUAL

public static final short EVENTUAL
Enabled:


EVENTUALLY

public static final short EVENTUALLY
Enabled:


EXPORT

public static final short EXPORT
Enabled:


FACET

public static final short FACET
Enabled:


FORALL

public static final short FORALL
Enabled:


FUNCTION

public static final short FUNCTION
Enabled:


GIVEN

public static final short GIVEN
Enabled:


HIDDEN

public static final short HIDDEN
Enabled:


HIDES

public static final short HIDES
Enabled:


INLINE

public static final short INLINE
Enabled:


IS

public static final short IS
Enabled:


KNOW

public static final short KNOW
Enabled:


KNOWS

public static final short KNOWS
Enabled:


LAMBDA

public static final short LAMBDA
Enabled:


LET

public static final short LET
Enabled:


METHODS

public static final short METHODS
Enabled:


NAMESPACE

public static final short NAMESPACE
Enabled:


NATIVE

public static final short NATIVE
Enabled:


OBEYS

public static final short OBEYS
Enabled:


OCTET

public static final short OCTET
Enabled:


ONEWAY

public static final short ONEWAY
Enabled:


PACKAGE

public static final short PACKAGE
Enabled:


PRIVATE

public static final short PRIVATE
Enabled:


PROTECTED

public static final short PROTECTED
Enabled:


PUBLIC

public static final short PUBLIC
Enabled:


RAISES

public static final short RAISES
Enabled:


RELIANCE

public static final short RELIANCE
Enabled:


RELIANT

public static final short RELIANT
Enabled:


RELIES

public static final short RELIES
Enabled:


RELY

public static final short RELY
Enabled:


REVEAL

public static final short REVEAL
Enabled:


SAKE

public static final short SAKE
Enabled:


SIGNED

public static final short SIGNED
Enabled:


STATIC

public static final short STATIC
Enabled:


STRUCT

public static final short STRUCT
Enabled:


SUCHTHAT

public static final short SUCHTHAT
Enabled:


SUPPORTS

public static final short SUPPORTS
Enabled:


SUSPECT

public static final short SUSPECT
Enabled:


SUSPECTS

public static final short SUSPECTS
Enabled:


SYNCHRONIZED

public static final short SYNCHRONIZED
Enabled:


THIS

public static final short THIS
Enabled:


THROWS

public static final short THROWS
Enabled:


TRANSIENT

public static final short TRANSIENT
Enabled:


TRUNCATABLE

public static final short TRUNCATABLE
Enabled:


TYPEDEF

public static final short TYPEDEF
Enabled:


UNSIGNED

public static final short UNSIGNED
Enabled:


UNUM

public static final short UNUM
Enabled:


USES

public static final short USES
Enabled:


USING

public static final short USING
Enabled:


UTF8

public static final short UTF8
Enabled:


UTF16

public static final short UTF16
Enabled:


VIRTUAL

public static final short VIRTUAL
Enabled:


VOLATILE

public static final short VOLATILE
Enabled:


WSTRING

public static final short WSTRING
Enabled:


EOL

public static final short EOL
Enabled:


EOTLU

public static final short EOTLU
Enabled:


OpLAnd

public static final short OpLAnd
Enabled:


OpLOr

public static final short OpLOr
Enabled:


OpSame

public static final short OpSame
Enabled:


OpNSame

public static final short OpNSame
Enabled:


OpButNot

public static final short OpButNot
Enabled:


OpLeq

public static final short OpLeq
Enabled:


OpABA

public static final short OpABA
Enabled:


OpGeq

public static final short OpGeq
Enabled:


OpThru

public static final short OpThru
Enabled:


OpTill

public static final short OpTill
Enabled:


OpAsl

public static final short OpAsl
Enabled:


OpAsr

public static final short OpAsr
Enabled:


OpFlrDiv

public static final short OpFlrDiv
Enabled:


OpMod

public static final short OpMod
Enabled:


OpPow

public static final short OpPow
Enabled:


OpAss

public static final short OpAss
Enabled:


OpAssAdd

public static final short OpAssAdd
Enabled:


OpAssAnd

public static final short OpAssAnd
Enabled:


OpAssAprxDiv

public static final short OpAssAprxDiv
Enabled:


OpAssFlrDiv

public static final short OpAssFlrDiv
Enabled:


OpAssAsl

public static final short OpAssAsl
Enabled:


OpAssAsr

public static final short OpAssAsr
Enabled:


OpAssRemdr

public static final short OpAssRemdr
Enabled:


OpAssMod

public static final short OpAssMod
Enabled:


OpAssMul

public static final short OpAssMul
Enabled:


OpAssOr

public static final short OpAssOr
Enabled:


OpAssPow

public static final short OpAssPow
Enabled:


OpAssSub

public static final short OpAssSub
Enabled:


OpAssXor

public static final short OpAssXor
Enabled:


Send

public static final short Send
Enabled:


OpWhen

public static final short OpWhen
Enabled:


MapsTo

public static final short MapsTo
Enabled:


MatchBind

public static final short MatchBind
Enabled:


MisMatch

public static final short MisMatch
Enabled:


AssignExpr

public static final short AssignExpr
Enabled:


CallExpr

public static final short CallExpr
Enabled:


DefineExpr

public static final short DefineExpr
Enabled:


EscapeExpr

public static final short EscapeExpr
Enabled:


HideExpr

public static final short HideExpr
Enabled:


IfExpr

public static final short IfExpr
Enabled:


LiteralExpr

public static final short LiteralExpr
Enabled:


MatchBindExpr

public static final short MatchBindExpr
Enabled:


NounExpr

public static final short NounExpr
Enabled:


ObjectExpr

public static final short ObjectExpr
Enabled:


QuasiLiteralExpr

public static final short QuasiLiteralExpr
Enabled:


QuasiPatternExpr

public static final short QuasiPatternExpr
Enabled:


ScopeExpr

public static final short ScopeExpr
Enabled:


SendExpr

public static final short SendExpr
Enabled:


SeqExpr

public static final short SeqExpr
Enabled:


SlotExpr

public static final short SlotExpr
Enabled:


MetaExpr

public static final short MetaExpr
Enabled:


CatchExpr

public static final short CatchExpr
Enabled:


FinallyExpr

public static final short FinallyExpr
Enabled:


FinalPattern

public static final short FinalPattern
Enabled:


VarPattern

public static final short VarPattern
Enabled:


ListPattern

public static final short ListPattern
Enabled:


CdrPattern

public static final short CdrPattern
Enabled:


IgnorePattern

public static final short IgnorePattern
Enabled:


SuchThatPattern

public static final short SuchThatPattern
Enabled:


QuasiLiteralPatt

public static final short QuasiLiteralPatt
Enabled:


QuasiPatternPatt

public static final short QuasiPatternPatt
Enabled:


EScript

public static final short EScript
Enabled:


EMethod

public static final short EMethod
Enabled:


Matcher

public static final short Matcher
Enabled:


YYERRCODE

public static final short YYERRCODE
Enabled:


yylhs

static final short[] yylhs

yylen

static final short[] yylen

yydefred

static final short[] yydefred

yydgoto

static final short[] yydgoto

yysindex

static final short[] yysindex

yyrindex

static final short[] yyrindex

yygindex

static final short[] yygindex

YYTABLESIZE

static final int YYTABLESIZE

yytable

private static short[] yytable

yycheck

private static short[] yycheck

YYFINAL

static final short YYFINAL

YYMAXTOKEN

static final short YYMAXTOKEN

yyname

static final String[] yyname

yyrule

static final String[] yyrule

EParserMaker

public static final StaticMaker EParserMaker
Enabled:


OurCache

private static final IdentityCacheTable OurCache
caches previous simple parses (as is used for quasi-parsing)


DefaultProps

private static final ConstMap DefaultProps

myLexer

private final LexerFace myLexer
contains all the tokens after yylval


myOnlyOneExprFlag

private final boolean myOnlyOneExprFlag
Do we escape after parsing only one expression, or do we parse the entire input?


myOptResult

private ENode myOptResult
Where the result is stored by the top-level productions


b

private final EBuilder b
receives parsing events


LiteralTypes

private static final int[] LiteralTypes

QuasiTypes

private static final int[] QuasiTypes

TheTokens

private static final String[] TheTokens

DEFAULT_SCHEMA

public static final AstroSchema DEFAULT_SCHEMA
Enabled:


DEFAULT_CONTINUE_INDENT

private static final int DEFAULT_CONTINUE_INDENT

TheContinuerOps

private static final 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.

Note that > isn't on the list because of its role in closing a calculated URI expression.


TheContinuers

private static final int[] TheContinuers
TheContinuers[tagCode] says whether this is a continuation operator, and if so, how much to indent by.

If this isn't a continuation operator, then -1.

Constructor Detail

EParser

public EParser(ENodeBuilder builder,
               LexerFace lexer,
               boolean debugFlag,
               boolean onlyOneExprFlag)
Enabled:

Method Detail

debug

void debug(String msg)

state_push

void state_push(int state)

state_pop

int state_pop()

state_drop

void state_drop(int cnt)

state_peek

int state_peek(int relative)

init_stacks

boolean init_stacks()

dump_stacks

void dump_stacks(int count)

val_init

void val_init()

val_push

void val_push(Object val)

val_pop

Object val_pop()

val_drop

void val_drop(int cnt)

val_peek

Object val_peek(int relative)

initTables

private static void initTables()
Ensures that yytable and yycheck are initialized.


make

public static EParser make(LexerFace lexer)
Enabled:


make

public static EParser make(ConstMap props,
                           LexerFace lexer)
Enabled:


make

public static EParser make(ConstMap optProps,
                           LexerFace lexer,
                           boolean debugFlag,
                           boolean onlyOneExprFlag)
Enabled:


valueMaker

public static ENode valueMaker(Twine sourceCode)
Enabled: For use as from E as a quasi-literal parser.

Transparently caches the result

Parameters:
sourceCode - The source code itself, not the location of the source code

matchMaker

public static ENode matchMaker(Twine sourceCode)
Enabled: For use from E as a quasi-pattern parser.

Just delegates to valueMaker/1.

Parameters:
sourceCode - The source code itself, not the location of the source code

run

public static ENode run(Twine sourceCode)
Enabled: For simple string -> expression parsing, especially for use from E

Parameters:
sourceCode - The source code itself, not the location of the source code

run

public static ENode run(Twine sourceCode,
                        boolean quasiFlag)
Enabled:


run

public static ENode run(Twine sourceCode,
                        boolean quasiFlag,
                        ConstMap optProps)
Enabled: No longer does the caching.


optParse

public ENode optParse()
Enabled:


parse

public ENode parse()
Enabled: If the input is empty, returns the null expression e`null`, rather than null.


yylex

private short yylex()
Converts EOTLUs to either EOLs or EOFTOKs according to myOnlyOneExprFlag

Note that yacc uses tag-codes, while Antlr uses type-codes.


yyerror

private void yyerror(String s)
              throws SyntaxException
SyntaxException

setSource

public void setSource(Twine newSource)
Enabled:


isEndOfFile

public boolean isEndOfFile()
Enabled:


noun

static NounExpr noun(Object name)

isTokenKind

private static boolean isTokenKind(Object tok,
                                   int[] members)

isLiteralToken

static boolean isLiteralToken(Object tok)

isQuasiPart

static boolean isQuasiPart(Object tok)

continueCount

public 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?

-1 if not. The number of spaces to indent if so.


yylexdebug

void yylexdebug(int state,
                int ch)

yyparse

int yyparse()


comments?