Skip to content

Language Definition

Maurice HT Ling edited this page Dec 13, 2015 · 25 revisions

The list of statements (root):

statement : cast_statement
          | delete_statement
          | describe_statement
          | load_statement
          | merge_statement
          | new_statement
          | rename_statement
          | runplugin_statement
          | save_statement
          | select_statement
          | set_statement
          | shell_statement
          | show_statement 

Individual statement definitions:

cast_statement : CAST id_list IN ID AS datatype

delete_statement : DELETE DATAFRAME ID
                 | DELETE PARAMETER ID

describe_statement : DESCRIBE ID

load_statement : LOAD CSV FILENAME AS ID
               | LOAD NOHEADER CSV FILENAME AS ID
               | LOAD SESSION FROM FILENAME

merge_statement : MERGE SERIES id_list FROM ID TO ID
                | MERGE LABELS FROM ID TO ID
                | MERGE REPLACE LABELS FROM ID TO ID

new_statement : NEW ID PARAMETER AS ID
              | NEW ID DATAFRAME FROM ID plocation

rename_statement : RENAME SERIES IN ID FROM id_value TO id_value
                 | RENAME LABELS IN ID FROM id_value TO id_value

runplugin_statement : RUNPLUGIN ID 

save_statement : SAVE SESSION AS FILENAME
               | SAVE DATAFRAME ID AS CSV FILENAME

select_statement : SELECT FROM ID AS ID
                 | SELECT FROM ID AS ID WHERE binop value
                 | SELECT FROM ID AS ID WHERE ID binop value

set_statement : SET DISPLAYAST ID
              | SET CWD FOLDER
              | SET SEPARATOR separators
              | SET FILLIN fillin_options
              | SET PARAMETER ID IN ID AS ID
              | SET PARAMETER DATAFRAME IN ID AS ID
              | SET RCWD ID
              | SET OCWD

shell_statement : PYTHONSHELL

show_statement : SHOW ASTHISTORY
               | SHOW ENVIRONMENT
               | SHOW HISTORY
               | SHOW PLUGIN LIST 
               | SHOW PLUGIN ID 
               | SHOW SESSION
               | SHOW DATAFRAME
               | SHOW PARAMETER

The expansions / recursives:

id_list : ALL
        | ID
        | id_list DELIMITER ID

value : number_value | id_value

Finally, the terminals:

binop : DELIMITER | GE | LE | EQ | NE

datatype : ALPHA | NONALPHA | FLOAT | REAL | INTEGER

fillin_options : NUMBER | ID

id_value : ID | STRING

number_value : NUMBER

plocation : RESULTS | DATAFRAME

separators : DELIMITER | COMMA | COLON | SEMICOLON | RIGHTSLASH
           | BAR | DOT | PLUS | MINUS | TIMES
           | DIVIDE | GT | LT