DSRG.VKB.E_SQL
Class E_SQL

java.lang.Object
  |
  +--DSRG.VKB.E_SQL.E_SQL

public class E_SQL
extends java.lang.Object
implements E_SQLTreeConstants, E_SQLConstants

It will be generated by JavaCC There is a little change of production which is different from original grammar of E-SQL defined in paper TR-97-4


Field Summary
private  java.util.Vector jj_expentries
           
private  int[] jj_expentry
           
private  int jj_gen
           
(package private)  ASCII_CharStream jj_input_stream
           
private  int jj_kind
           
private  int[] jj_la1
           
private  int[] jj_la1_0
           
private  int[] jj_la1_1
           
 Token jj_nt
           
private  int jj_ntk
           
protected  JJTE_SQLState jjtree
           
 Token token
           
 E_SQLTokenManager token_source
           
 
Constructor Summary
E_SQL(E_SQLTokenManager tm)
           
E_SQL(java.io.InputStream stream)
           
 
Method Summary
 void Attr_name()
          Attr_name --> name "." name "." name
 void Attribute_component()
          Attribute_component --> Attr_name ["(" ( Dispensable ["," Replaceable] | Replaceable ) ")"] Though I can merge the second part to Evolvable_parameter.
 void Boolean()
          Boolean --> "TRUE" | "FALSE"
 void Condition_component()
          Condition_component --> Primitive_clause ["(" ( Dispensable ["," Replaceable] | Replaceable ) ")"] Though I can merge the second part to Evolvable_parameter.
 void disable_tracing()
           
 void Dispensable()
          Dispensable --> ("AD"|"RD"|"CD") "=" Boolean It should be three productions instead of this one.
 void enable_tracing()
           
 void From_clause()
          From_clause --> (Relation_component ("," Relation_component)*)
 ParseException generateParseException()
           
 Token getNextToken()
           
 Token getToken(int index)
           
private  Token jj_consume_token(int kind)
           
private  int jj_ntk()
           
 void Literal()
          Literal --> String_literal | Float_literal | Int_literal | Boolean
 void Operand()
          Operand --> Attr_name | Literal
 void Operator()
          Operator --> "<" | "<=" | "=" | ">=" | ">" | "!="
 void Primitive_clause()
          Primitive_clause --> Attr_name Operator Operand
 void ReInit(E_SQLTokenManager tm)
           
 void ReInit(java.io.InputStream stream)
           
 void Rel_name()
          Rel_name --> name "." name
 void Relation_component()
          Relation_component --> Rel_name ["(" ( Dispensable ["," Replaceable] | Replaceable ) ")"] Though I can merge the second part to Evolvable_parameter.
 void Replaceable()
          Replaceable --> ("AR"|"RR"|"CR") "=" Boolean It should be three productions instead of this one.
 void Select_clause()
          Select_clause --> ((Attribute_component ("," Attribute_component)*) | "*" )
 SimpleNode VD_sequence()
          VD_sequence --> (View_definition)*
 SimpleNode View_definition()
          View_definition --> "CREATE" "VIEW" View_name [View_extent] "AS" "SELECT" Select_clause "FROM" From_clause ["WHERE" Where_clause]
 void View_extent()
          View_extent = "(" "VE" "=" ("SUBSET"|"SUPERSET"|"EQUIVALENT"|"DONTCARE") ")"
 void View_name()
          View_name --> name
 void Where_clause()
          Where_clause --> (Condition_component ("AND" Condition_component)*)
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

jjtree

protected JJTE_SQLState jjtree

token_source

public E_SQLTokenManager token_source

jj_input_stream

ASCII_CharStream jj_input_stream

token

public Token token

jj_nt

public Token jj_nt

jj_ntk

private int jj_ntk

jj_gen

private int jj_gen

jj_la1

private final int[] jj_la1

jj_la1_0

private final int[] jj_la1_0

jj_la1_1

private final int[] jj_la1_1

jj_expentries

private java.util.Vector jj_expentries

jj_expentry

private int[] jj_expentry

jj_kind

private int jj_kind
Constructor Detail

E_SQL

public E_SQL(java.io.InputStream stream)

E_SQL

public E_SQL(E_SQLTokenManager tm)
Method Detail

VD_sequence

public final SimpleNode VD_sequence()
                             throws ParseException
VD_sequence --> (View_definition)*

View_definition

public final SimpleNode View_definition()
                                 throws ParseException
View_definition --> "CREATE" "VIEW" View_name [View_extent] "AS" "SELECT" Select_clause "FROM" From_clause ["WHERE" Where_clause]

View_extent

public final void View_extent()
                       throws ParseException
View_extent = "(" "VE" "=" ("SUBSET"|"SUPERSET"|"EQUIVALENT"|"DONTCARE") ")"

Select_clause

public final void Select_clause()
                         throws ParseException
Select_clause --> ((Attribute_component ("," Attribute_component)*) | "*" )

From_clause

public final void From_clause()
                       throws ParseException
From_clause --> (Relation_component ("," Relation_component)*)

Where_clause

public final void Where_clause()
                        throws ParseException
Where_clause --> (Condition_component ("AND" Condition_component)*)

View_name

public final void View_name()
                     throws ParseException
View_name --> name

Attribute_component

public final void Attribute_component()
                               throws ParseException
Attribute_component --> Attr_name ["(" ( Dispensable ["," Replaceable] | Replaceable ) ")"]

Though I can merge the second part to Evolvable_parameter. But, I think maybe in the future the Evolvable_parameter will be different from Attribute, Relation and Condition component, So, I just use three duplicate thing for the three kinds of component.


Dispensable

public final void Dispensable()
                       throws ParseException
Dispensable --> ("AD"|"RD"|"CD") "=" Boolean

It should be three productions instead of this one. But, I make the change to make it more clear and easy to implements.

This is not the final goal of this production. The final goal is replace all "AD", "RD", "CD" to "CD" which means Component Dispensable.


Replaceable

public final void Replaceable()
                       throws ParseException
Replaceable --> ("AR"|"RR"|"CR") "=" Boolean

It should be three productions instead of this one. But, I make the change to make it more clear and easy to implements.

This is not the final goal of this production. The final goal is replace all "AR", "RR", "CR" to "CR" which means Component Dispensable.


Rel_name

public final void Rel_name()
                    throws ParseException
Rel_name --> name "." name

Attr_name

public final void Attr_name()
                     throws ParseException
Attr_name --> name "." name "." name

Boolean

public final void Boolean()
                   throws ParseException
Boolean --> "TRUE" | "FALSE"

Relation_component

public final void Relation_component()
                              throws ParseException
Relation_component --> Rel_name ["(" ( Dispensable ["," Replaceable] | Replaceable ) ")"]

Though I can merge the second part to Evolvable_parameter. But, I think maybe in the future the Evolvable_parameter will be different from Attribute, Relation and Condition component, So, I just use three duplicate thing for the three kinds of component.


Condition_component

public final void Condition_component()
                               throws ParseException
Condition_component --> Primitive_clause ["(" ( Dispensable ["," Replaceable] | Replaceable ) ")"]

Though I can merge the second part to Evolvable_parameter. But, I think maybe in the future the Evolvable_parameter will be different from Attribute, Relation and Condition component, So, I just use three duplicate thing for the three kinds of component.


Primitive_clause

public final void Primitive_clause()
                            throws ParseException
Primitive_clause --> Attr_name Operator Operand

Operator

public final void Operator()
                    throws ParseException
Operator --> "<" | "<=" | "=" | ">=" | ">" | "!="

Operand

public final void Operand()
                   throws ParseException
Operand --> Attr_name | Literal

Literal

public final void Literal()
                   throws ParseException
Literal --> String_literal | Float_literal | Int_literal | Boolean

ReInit

public void ReInit(java.io.InputStream stream)

ReInit

public void ReInit(E_SQLTokenManager tm)

jj_consume_token

private final Token jj_consume_token(int kind)
                              throws ParseException

getNextToken

public final Token getNextToken()

getToken

public final Token getToken(int index)

jj_ntk

private final int jj_ntk()

generateParseException

public final ParseException generateParseException()

enable_tracing

public final void enable_tracing()

disable_tracing

public final void disable_tracing()