New page wikitext, after the edit (new_wikitext) | '=='''Introduction''' ==
Boxly is a language that is based on boxes and macs (Macrooperators)
=='''Elements'''==
'''Boxes'''
Boxes contain 3 values:
Box name:type, values
Types:
* Numbers (number): a number of 2 signs (17,92,91)
* Characters (aschar): a character (a, f, t)
* Floats (floatn): a number of 2 signs before and 1 number after the point (10.7, 09.7, 34.0)
A name can consist only 1 letter
Values are separated with a whitespace:
Box a:aschar, h a l
Box b:number, 81 00 09
Box c:floatn, 61.1, 00.9, 01.0
'''Declarations'''
Declarations consist 1 combination of box elements:
Dec name, operator(source)
Example:
Dec a,?(@)
This example requires a user to input a value, and then puts it into a declaration A
'''Operators and sources'''
List of operators with sources:
* ?(!) — last output line
* ?(@) — user input
* ?($) — last calculation
* #(!) — number of last input line
* #(@) — number of last user input
* =($) — previous calculation
* =( ) — newline
* %(count) text — repeat ''text count'' times: ''%(3) Hi'' = HiHiHi
=='''Commands'''==
'''Elements'''
Elements can be used as operators:
* ge box — unite each in box: ''ge e'' if ''e=a v g'' = ''avg''
* gElement box — get element in box: ''g1 b'' if ''b=19 18 27'' = 19
* st1+st2 — unite elements: ''g1 b+g3 b'' if ''b=a g d'' = ad
'''Macs'''
Macs (macrooperators) do definite things. Syntax:
Mac:mac arguments
Examle:
Mac:! Hello World
'''Console display'''
A mac ''!'' displays a text in console, puts the text into ?(!) operator and increases #(!) value. Examples:
Mac:! Hello World
Mac:! g3 f
Mac:! ge r
Mac:! ge j + =( )
'''Calculating'''
A $ mac is used to calculate things. The ?($) operator returns the last calculation, and =($) returns the previous calculation. Elements in calculations: + (add), - (subtract), and / (divide). Multiplication and modulus operators aren't defined. Examples:
Mac:$ 10+29
Returns 39
Mac:$ a/g1 e
Return value of a and the first value of e
Mac:$ 1/8
Mac:$ 6/=($)
Returns 48 (6*8)
=='''Rules'''==
1. Element names cannot be in russian
2. You can't use operators (+, ge or g) and declarations in box definition
3. Operators can only be displayed in box values
=='''Examples'''==
'''Hello World'''
Mac:! Hello World
'''Hello World 3 times'''
Mac:! %(3) HelloWorld + "10
'''Numbers from 1 to 9'''
Box:number a, 01 02 03
Box:number b, 04 05 06
Box:number c, 07 08 09
Mac:! g1 a+=( ) + g2 a+=( ) + g3 a+=( ) + g1 b+=( ) + g2 b+=( ) + g3 b+=( ) + g1 c+=( ) + g2 c+=( ) + g3 c+=( )
[[Category:Languages]]
[[Category:Unimplemented]]' |
Unified diff of changes made by edit (edit_diff) | '@@ -1,0 +1,74 @@
+=='''Introduction''' ==
+Boxly is a language that is based on boxes and macs (Macrooperators)
+=='''Elements'''==
+'''Boxes'''
+Boxes contain 3 values:
+Box name:type, values
+Types:
+* Numbers (number): a number of 2 signs (17,92,91)
+* Characters (aschar): a character (a, f, t)
+* Floats (floatn): a number of 2 signs before and 1 number after the point (10.7, 09.7, 34.0)
+A name can consist only 1 letter
+Values are separated with a whitespace:
+Box a:aschar, h a l
+Box b:number, 81 00 09
+Box c:floatn, 61.1, 00.9, 01.0
+'''Declarations'''
+Declarations consist 1 combination of box elements:
+Dec name, operator(source)
+Example:
+Dec a,?(@)
+This example requires a user to input a value, and then puts it into a declaration A
+'''Operators and sources'''
+List of operators with sources:
+* ?(!) — last output line
+* ?(@) — user input
+* ?($) — last calculation
+* #(!) — number of last input line
+* #(@) — number of last user input
+* =($) — previous calculation
+* =( ) — newline
+* %(count) text — repeat ''text count'' times: ''%(3) Hi'' = HiHiHi
+=='''Commands'''==
+'''Elements'''
+Elements can be used as operators:
+* ge box — unite each in box: ''ge e'' if ''e=a v g'' = ''avg''
+* gElement box — get element in box: ''g1 b'' if ''b=19 18 27'' = 19
+* st1+st2 — unite elements: ''g1 b+g3 b'' if ''b=a g d'' = ad
+'''Macs'''
+Macs (macrooperators) do definite things. Syntax:
+Mac:mac arguments
+Examle:
+Mac:! Hello World
+'''Console display'''
+A mac ''!'' displays a text in console, puts the text into ?(!) operator and increases #(!) value. Examples:
+Mac:! Hello World
+Mac:! g3 f
+Mac:! ge r
+Mac:! ge j + =( )
+'''Calculating'''
+A $ mac is used to calculate things. The ?($) operator returns the last calculation, and =($) returns the previous calculation. Elements in calculations: + (add), - (subtract), and / (divide). Multiplication and modulus operators aren't defined. Examples:
+Mac:$ 10+29
+Returns 39
+Mac:$ a/g1 e
+Return value of a and the first value of e
+
+Mac:$ 1/8
+Mac:$ 6/=($)
+Returns 48 (6*8)
+=='''Rules'''==
+1. Element names cannot be in russian
+2. You can't use operators (+, ge or g) and declarations in box definition
+3. Operators can only be displayed in box values
+=='''Examples'''==
+'''Hello World'''
+Mac:! Hello World
+'''Hello World 3 times'''
+Mac:! %(3) HelloWorld + "10
+'''Numbers from 1 to 9'''
+Box:number a, 01 02 03
+Box:number b, 04 05 06
+Box:number c, 07 08 09
+Mac:! g1 a+=( ) + g2 a+=( ) + g3 a+=( ) + g1 b+=( ) + g2 b+=( ) + g3 b+=( ) + g1 c+=( ) + g2 c+=( ) + g3 c+=( )
+[[Category:Languages]]
+[[Category:Unimplemented]]
' |
Lines added in edit (added_lines) | [
0 => '=='''Introduction''' ==',
1 => 'Boxly is a language that is based on boxes and macs (Macrooperators)',
2 => '=='''Elements'''==',
3 => ''''Boxes'''',
4 => 'Boxes contain 3 values:',
5 => 'Box name:type, values',
6 => 'Types: ',
7 => '* Numbers (number): a number of 2 signs (17,92,91)',
8 => '* Characters (aschar): a character (a, f, t)',
9 => '* Floats (floatn): a number of 2 signs before and 1 number after the point (10.7, 09.7, 34.0)',
10 => 'A name can consist only 1 letter',
11 => 'Values are separated with a whitespace:',
12 => 'Box a:aschar, h a l',
13 => 'Box b:number, 81 00 09',
14 => 'Box c:floatn, 61.1, 00.9, 01.0',
15 => ''''Declarations'''',
16 => 'Declarations consist 1 combination of box elements:',
17 => 'Dec name, operator(source)',
18 => 'Example: ',
19 => 'Dec a,?(@)',
20 => 'This example requires a user to input a value, and then puts it into a declaration A',
21 => ''''Operators and sources'''',
22 => 'List of operators with sources:',
23 => '* ?(!) — last output line',
24 => '* ?(@) — user input',
25 => '* ?($) — last calculation',
26 => '* #(!) — number of last input line',
27 => '* #(@) — number of last user input',
28 => '* =($) — previous calculation',
29 => '* =( ) — newline ',
30 => '* %(count) text — repeat ''text count'' times: ''%(3) Hi'' = HiHiHi',
31 => '=='''Commands'''==',
32 => ''''Elements'''',
33 => 'Elements can be used as operators:',
34 => '* ge box — unite each in box: ''ge e'' if ''e=a v g'' = ''avg''',
35 => '* gElement box — get element in box: ''g1 b'' if ''b=19 18 27'' = 19',
36 => '* st1+st2 — unite elements: ''g1 b+g3 b'' if ''b=a g d'' = ad',
37 => ''''Macs'''',
38 => 'Macs (macrooperators) do definite things. Syntax:',
39 => 'Mac:mac arguments',
40 => 'Examle:',
41 => 'Mac:! Hello World',
42 => ''''Console display'''',
43 => 'A mac ''!'' displays a text in console, puts the text into ?(!) operator and increases #(!) value. Examples:',
44 => 'Mac:! Hello World',
45 => 'Mac:! g3 f',
46 => 'Mac:! ge r',
47 => 'Mac:! ge j + =( )',
48 => ''''Calculating'''',
49 => 'A $ mac is used to calculate things. The ?($) operator returns the last calculation, and =($) returns the previous calculation. Elements in calculations: + (add), - (subtract), and / (divide). Multiplication and modulus operators aren't defined. Examples:',
50 => 'Mac:$ 10+29',
51 => 'Returns 39',
52 => 'Mac:$ a/g1 e',
53 => 'Return value of a and the first value of e',
54 => '',
55 => 'Mac:$ 1/8',
56 => 'Mac:$ 6/=($)',
57 => 'Returns 48 (6*8)',
58 => '=='''Rules'''==',
59 => '1. Element names cannot be in russian',
60 => '2. You can't use operators (+, ge or g) and declarations in box definition',
61 => '3. Operators can only be displayed in box values ',
62 => '=='''Examples'''==',
63 => ''''Hello World'''',
64 => 'Mac:! Hello World',
65 => ''''Hello World 3 times''' ',
66 => 'Mac:! %(3) HelloWorld + "10',
67 => ''''Numbers from 1 to 9'''',
68 => 'Box:number a, 01 02 03',
69 => 'Box:number b, 04 05 06',
70 => 'Box:number c, 07 08 09',
71 => 'Mac:! g1 a+=( ) + g2 a+=( ) + g3 a+=( ) + g1 b+=( ) + g2 b+=( ) + g3 b+=( ) + g1 c+=( ) + g2 c+=( ) + g3 c+=( )',
72 => '[[Category:Languages]]',
73 => '[[Category:Unimplemented]]'
] |