TCC
Jump to navigation
Jump to search
"TCC" stands for "Table Changing Code". It was inspired by SQL and was invented by User:A.
Syntax
It has a simple syntax. All of its commands are not case-sensitive.
CREATE
This command is used for creating a table.
Syntax:
CREATE table_name
IN
This command is used for choosing columns of a table and print it.
Syntax:
IN table_name CHOOSE column_number
TCC will print the column.
INSERT
This command is used for inserting data into a table.
Syntax:
INSERT table_name VALUES (value1, value2, value3, ...)
DELETE
Delete a row.
Syntax:
DELETE table_name WHERE row_number
Grammar
An Extended Backus-Naur Form (ENBF) description shall elucidate the program structure:
program := optSpaces , [ command , { spaces , command } ] , optSpaces ; command := create | in | insert | delete ; create := "CREATE" , spaces , tableName ; in := "IN" , spaces , tableName , spaces , "CHOOSE" , spaces , index ; insert := "INSERT" , spaces , tableName , spaces , "VALUES" , spaces , cellValueList ; delete := "DELETE" , spaces , tableName , spaces , "WHERE" , spaces , index ; tableName := letter , { letter | digit | "_" } ; index := digit , { digit } ; cellValueList := "(" , optSpaces , [ cellValue , cellValueRest ] , optSpaces , ")" ; cellValueRest := { optSpaces , "," , optSpaces , cellValue } ; cellValue := integer | string ; string := quote , { character - quote } , quote ; quote := '"' ; integer := [ "+" | "-" ] , digit , { digit } ; digit := "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" ; optSpaces := { space } ; spaces := space , { space } ; space := " " | "\t " ;
Examples
Hello, World!
This program prints the message “Hello, World!” employing a single column:
CREATE hello_world INSERT hello_world VALUES ("H") INSERT hello_world VALUES ("e") INSERT hello_world VALUES ("l") INSERT hello_world VALUES ("l") INSERT hello_world VALUES ("o") INSERT hello_world VALUES (",") INSERT hello_world VALUES (" ") INSERT hello_world VALUES ("W") INSERT hello_world VALUES ("o") INSERT hello_world VALUES ("r") INSERT hello_world VALUES ("l") INSERT hello_world VALUES ("d") INSERT hello_world VALUES ("!") IN hello_world CHOOSE 1
This second variant utilizes two columns — one embracing the moeity “Hello, ”, the other the part “World!” — in its pursuit to display “Hello, World!”:
CREATE hello_world INSERT hello_world VALUES ("H", "W") INSERT hello_world VALUES ("e", "o") INSERT hello_world VALUES ("l", "r") INSERT hello_world VALUES ("l", "l") INSERT hello_world VALUES ("o", "d") INSERT hello_world VALUES (",", "!") INSERT hello_world VALUES (" ") IN hello_world CHOOSE 1 IN hello_world CHOOSE 2
Interpreter
- Common Lisp implementation of the TCC programming language.