Tables

From Esolang
Jump to: navigation, search
0 Line Number/Global Table Index Instruction/Value 0 Instruction Name Parameters Set Parameter Name Parameter Value Index Output
  • Value
Name of Instruction Table of Parameters Get Name of Parameter Value Table Global Index Input Instruction Name Parameters Set Parameter Name Parameter Value Index Output
  • Value
Name of Instruction Table of Parameters Get Name of Parameter Value Table Global Index Input
Number That Means Nothing Description
00 Tables is an esoteric programming language by User:HereToAnnoy where all instructions, programs, and specifications are made of tables. Programming in Tables will be a nightmare due to the overwhelming amount of tables that must be looked through.
01 Tables in whole is less of a single programming language, and more of a table-filled table of programming languages.
02 The specification used in a Tables program will change depending on the current specification
03 Programs in tables will be made of many tables
04
Some Tables May Even Have More Tables Inside Of Them
05
Specification Number Specification
0000
Name of Property of Specification Property of Specification
Description
  • The specification first used in every program
  • A simple language that uses a global table to store data.
  • The global table contains the program, data, input, and output.
  • All table indices are strings and all values at those indexes are also strings.
  • Program code is executed from index 0, then after every line the program will execute from the same index, but the number at the end of the index will be incremented (0 goes to 1, 1 goes to 2, MyFunc123 goes to MyFunc124)
Syntax for Instructions
Line Number Table of Instruction Name Containing Table of Instruction Arguments
<LINE NUMBER>
Instruction Name Instruction Arguments
<NAME>
Argument Value
Arg1 <ARG1>
Arg2 <ARG2>
etc... <ETC...>
List of Instructions
Instruction Name Table of Parameters (bold = required) Description
Set
Table Index Value
Sets index Index of table Table to Value. Table defaults to the global table if not specified.
Get
Table Index
Returns Table of index Index if Table is a table, if Table is a string returns Global of Table of index Index
Jump
Line Number
The next instruction will be read from index Line Number. (Note: If a line that does not end with a number or digit is jumped too, the code on the line will execute fine, but Tables will terminate afterwards if it hasn't jumped somewhere else.)
Use
Specification Number
The rest of the code will be executed using the specification with number Specification Number. Note: This command can only access specifications with a leading zero. If one attempts to access a specification without a leading zero, the program will terminate.
Other notes
Useless Numerical Value Note
0 Index "Global" of the global table references the global table.
1 Index "Input" of the global table is a table filled with inputs (any indices)
2 Index "Output" of the global table is a table used as output of the program (any indices)
3 Accessing a table at an index that has no defined value returns the string "NULL"
4 The global table is predefined with the program and any data included in the source code.
5 In most cases, the label of a column in a table does not matter, but for readable code they should be named appropriately (in fact, the label is not required)
6 A index beginning with a * is to be interpreted as a command when accessed, no matter the table it is in. When reading from the index, the * is ommited.
7 Attempting to execute a "NULL" (or any other invalid command) will terminate the program.
Examples
Example Name Source Code
Cat program
Line Number/Global Table Index Instruction/Value
0
Instruction Name Parameters
Set
Parameter Name Parameter Value
Index Output
*Value
Name of Instruction Table of Parameters
Get
Name of Parameter Value
Table Global
Index Input
Cheating Quine Program
Line number/Index Instruction/Value
0
Instruction Name Parameter Table
Set
Parameter Name Value
Table Global
Index Output
*Value
Instruction Name Parameter Table
Get
Parameter Name Value
Table Global
Index Global
0001
Property of Specification Value of Property of Specification
Description
  • Specification 0001 has only one instruction.
  • That instruction will append the contents of a file to the Global table.
Syntax for Instructions
Line Number File to read
0 filename.extension
Other Notes
Number that means nothing Note
0 If an invalid file or path is given, the program returns to Specification 0000 on the next instruction.
1 Files can be read that are in a sub directory (dir/file.extension)
2 Files can append new commands to the program to be executed. 3 Inside a file, tables are made with {}, indexes and values are in JSON format