class CompileAst

Defined in:

pocketlib/compile/compileast.cr

Constructors

Instance Method Summary

Constructor Detail

def self.new(db : DBSchema) #

[View source]

Instance Method Detail

def convert_r_nypscalarexp_2_QRScalarItem(div_scalar) #

[View source]
def db : DBSchema #

[View source]
def db=(db : DBSchema) #

[View source]
def ensure_resword(the_resword : String, a_res_word_rule : AbsSyntTree) #

=============================


[View source]
def get_r_DQString_Lx_value(rules : AbsSyntTree) #

[View source]
def get_r_Number_Lx_value(rules : AbsSyntTree) #

=============================


[View source]
def get_r_Param_Lx_value(rules : AbsSyntTree) #

[View source]
def get_r_scalaroper_Lx_value(rules : AbsSyntTree) #

[View source]
def get_r_SQString_Lx_value(rules : AbsSyntTree) #

[View source]
def get_r_TID_value(rules : AbsSyntTree) : QR::QRLoadColnameValueOntoStack #

[View source]
def get_resword_value(rules : AbsSyntTree, rule_name : String) : String #

=============================


[View source]
def go(rules : AbsSyntTree) : QR::TopInQr #

[View source]
def is_rulename(rules : AbsSyntTree, rule_name : String) #

=============================


[View source]
def is_type_AS_CID(rules : AbsSyntTree) #

=============================


[View source]
def is_type_AS_TID(rules : AbsSyntTree) #

=============================


[View source]
def is_type_comment(rules : AbsSyntTree) #

=============================


[View source]
def is_type_deletebody(rules : AbsSyntTree) #

=============================


[View source]
def is_type_from(rules : AbsSyntTree) #

=============================


[View source]
def is_type_fullcondexpr(rules : AbsSyntTree) #

=============================


[View source]
def is_type_groupby(rules : AbsSyntTree) #

=============================


[View source]
def is_type_having(rules : AbsSyntTree) #

=============================


[View source]
def is_type_Identifier_Lx(rules : AbsSyntTree) #

=============================


[View source]
def is_type_insertbody(rules : AbsSyntTree) #

=============================


[View source]
def is_type_joiner_or_setoper(rules : AbsSyntTree) #

=============================


[View source]
def is_type_limit(rules : AbsSyntTree) #

=============================


[View source]
def is_type_Number_Lx(rules : AbsSyntTree) #

=============================


[View source]
def is_type_nyprojectitem(rules : AbsSyntTree) #

[View source]
def is_type_nypscalarexp(rules : AbsSyntTree) #

=============================


[View source]
def is_type_onrule(rules : AbsSyntTree) #

=============================


[View source]
def is_type_orderby(rules : AbsSyntTree) #

=============================


[View source]
def is_type_over(rules : AbsSyntTree) #

=============================


[View source]
def is_type_partby(rules : AbsSyntTree) #

=============================


[View source]
def is_type_project(rules : AbsSyntTree) #

=============================


[View source]
def is_type_projectbody(rules : AbsSyntTree) #

=============================


[View source]
def is_type_projselectbodyorscalarexp(rules : AbsSyntTree) #

=============================


[View source]
def is_type_scalarexp(rules : AbsSyntTree) #

=============================


[View source]
def is_type_scalarexpselectbodyorscalarexp(rules : AbsSyntTree) #

=============================


[View source]
def is_type_show(rules : AbsSyntTree) #

=============================


[View source]
def is_type_StandardFunctionEnum(rules : AbsSyntTree) #

=============================


[View source]
def is_type_tablename(rules : AbsSyntTree) #

=============================


[View source]
def is_type_tbl_alias(rules : AbsSyntTree) #

=============================


[View source]
def is_type_tbl_col_alias(rules : AbsSyntTree) #

=============================


[View source]
def is_type_TID(rules : AbsSyntTree) #

=============================


[View source]
def is_type_updatebody(rules : AbsSyntTree) #

=============================


[View source]
def is_type_value_or_select(rules : AbsSyntTree) #

=============================


[View source]
def is_type_where(rules : AbsSyntTree) #

def r_where(rules : AbsSyntTree) : Nil | QR::QrLoadFileFile | QR::QRLoadFileValues | QR::NotYet


[View source]
def is_type_whererule(rules : AbsSyntTree) #

=============================


[View source]
def is_type_window(rules : AbsSyntTree) #

=============================


[View source]
def is_type_with(rules : AbsSyntTree) #

=============================


[View source]
def is_type_withplain(rules : AbsSyntTree) #

=============================


[View source]
def is_type_withrecur(rules : AbsSyntTree) #

=============================


[View source]
def must_kind_value(stpr, kind, value, msg) #

=============================


[View source]
def r_AS_CID(rules : AbsSyntTree) : String #

[View source]
def r_AS_TID(rules : AbsSyntTree) #

[View source]
def r_column_comma_list(rules : AbsSyntTree) #

[View source]
def r_compoper_Lx(rules : AbsSyntTree) #

[View source]
def r_condexpr(rules : AbsSyntTree) #

[View source]
def r_deletebody(rules : AbsSyntTree) #

[View source]
def r_from(rules : AbsSyntTree) : QR::QFrom #

[View source]
def r_fullcondexpr(rules : AbsSyntTree) #

[View source]
def r_groupby(rules : AbsSyntTree) #

[View source]
def r_having(rules : AbsSyntTree) #

[View source]
def r_Identifier_Lx(rules : AbsSyntTree) : String #

[View source]
def r_insertbody(rules : AbsSyntTree) #

[View source]
def r_joiner_or_setoper(rules : AbsSyntTree) #

[View source]
def r_limit(rules : AbsSyntTree) #

"LIMIT" ( Number_Lx ("OFFSET" Number_Lx) | ("," Number_Lx )? ); LIMIT {[offset,] row_count | row_count OFFSET offset}


[View source]
def r_nyprojectitem(rules : AbsSyntTree) : QR::QRProjectItem #

nyQRProjectItem : ( "(" projselectbodyorscalarexp ")" ) | simpleQRProjectItem


[View source]
def r_nypscalarexp(rules : AbsSyntTree) #

[View source]
def r_onrule(rules : AbsSyntTree) #

[View source]
def r_orderby(rules : AbsSyntTree) #

[View source]
def r_over(rules : AbsSyntTree) #

[View source]
def r_partby(rules : AbsSyntTree) #

"PARTITION" "BY" ( TID ),','


[View source]
def r_pcondexpr(rules : AbsSyntTree) #

[View source]
def r_project(rules : AbsSyntTree) #

[View source]
def r_projectbody(rules : AbsSyntTree) : QR::SubQuery #

[View source]
def r_projselectbodyorscalarexp(rules : AbsSyntTree) #

projselectbodyorscalarexp: ( "SELECT" projectbody ) | scalarexp


[View source]
def r_pscalarexp(rules : AbsSyntTree) #

[View source]
def r_psimplecond(rules : AbsSyntTree) #

[View source]

[View source]
def r_scalarexp(rules : AbsSyntTree) : QR::QRScalarExpr #

[View source]
def r_scalarexpselectbodyorscalarexp(rules : AbsSyntTree) #

[View source]

[View source]
def r_show(rules : AbsSyntTree) #

[View source]
def r_simplecond(rules : AbsSyntTree) #

[View source]
def r_simpleprojectitem(rules : AbsSyntTree) : QR::QRProjectItem #

[View source]
def r_standardfunction(rules : AbsSyntTree) : QR::QRProjectItem #

[View source]

[View source]
def r_tablename(rules : AbsSyntTree) : NamedTuple(table_name: String, rule_name: String) #

[View source]
def r_tbl_col_alias(rules : AbsSyntTree) : NamedTuple(table_name: String, col_names: Array(String)) #

[View source]
def r_updatebody(rules : AbsSyntTree) #

[View source]
def r_value_list(rules : AbsSyntTree) : QR::QRLoadFileValues #

[View source]
def r_value_or_select(rules : AbsSyntTree) : QR::SubQuery | QR::QRLoadFileValues #

[View source]
def r_where(rules : AbsSyntTree) #

[View source]
def r_whererule(rules : AbsSyntTree) #

[View source]
def r_window(rules : AbsSyntTree) #

[View source]
def r_with(rules : AbsSyntTree) #

[View source]
def r_withplain(rules : AbsSyntTree) #

[View source]
def r_withrecur(rules : AbsSyntTree) #

[View source]