Old page wikitext, before the edit (old_wikitext) | '' |
New page wikitext, after the edit (new_wikitext) | '{{esolang
|name=CAME
|author=Carlos
|year=2025
|type=esoteric
|influenced={{w|Brainfuck}}, FSM design
|examples=Hello World
}}
'''CAME''' es un lenguaje esotérico diseñado por Carlos en 2025.
Su nombre proviene de la idea de un lenguaje modular con estados explícitos.
El objetivo de CAME es obligar al programador a trabajar con un ciclo de estados finitos (FSM), donde cada comando cambia de significado según el estado actual.
== Estados ==
El intérprete de CAME avanza en ciclos de cuatro estados:
{| class="wikitable"
! Estado !! Descripción !! Comandos principales
|-
| MAT || Operaciones matemáticas básicas || <code>xx</code> (+1), <code>yy</code> (-1)
|-
| PUN || Manipulación del puntero || <code>xx</code> (izquierda), <code>yy</code> (derecha), <code>zz</code> (define número), <code>??</code> (define string)
|-
| ES || Entrada/Salida || <code>zz</code> (habilita interior)
|-
| LOG || Lógica y control || <code>xx</code> (loop start), <code>yy</code> (imprime puntero), <code>zz</code> (loop end), <code>cc</code> (importa librería), <code>??</code> (avanza estado)
|}
El ciclo es siempre:
<code>MAT → PUN → ES → LOG → MAT → …</code>
== Comandos ==
* <code>xx</code> → suma, mueve o abre bucle según estado.
* <code>yy</code> → resta, mueve o imprime según estado.
* <code>zz</code> → define número, habilita interior o cierra bucle.
* <code>??</code> → define string, avanza estado.
* <code>cc</code> → importa librería (solo en LOG).
== Ejemplos ==
=== Imprimir el puntero actual ===
<pre>
xx ?? zz ?? yy
</pre>
Salida: <code>1</code>
=== Imprimir la letra A (ASCII 65) ===
<pre>
(xx ?? zz ??) x 65
yy
</pre>
Salida: <code>A</code>
=== Imprimir HI ===
<pre>
(xx ?? zz ??) x 72
yy
(xx ?? zz ??) x 73
yy
</pre>
Salida: <code>HI</code>
== Implementación ==
Existe un intérprete en Python + CustomTkinter que permite:
* Escribir código CAME directamente en un editor integrado.
* Ejecutar programas y ver la salida, el puntero final y las librerías importadas.
== Filosofía ==
* Sin comentarios: todo el código son tokens ejecutables.
* FSM explícito: cada comando depende del estado actual.
* Lenguaje troll: escribir cadenas largas requiere cientos de repeticiones.
* Documentación clara: aunque el código sea ilegible, la especificación es transparente.' |
Unified diff of changes made by edit (edit_diff) | '@@ -1,0 +1,72 @@
+{{esolang
+|name=CAME
+|author=Carlos
+|year=2025
+|type=esoteric
+|influenced={{w|Brainfuck}}, FSM design
+|examples=Hello World
+}}
+
+'''CAME''' es un lenguaje esotérico diseñado por Carlos en 2025.
+Su nombre proviene de la idea de un lenguaje modular con estados explícitos.
+El objetivo de CAME es obligar al programador a trabajar con un ciclo de estados finitos (FSM), donde cada comando cambia de significado según el estado actual.
+
+== Estados ==
+El intérprete de CAME avanza en ciclos de cuatro estados:
+
+{| class="wikitable"
+! Estado !! Descripción !! Comandos principales
+|-
+| MAT || Operaciones matemáticas básicas || <code>xx</code> (+1), <code>yy</code> (-1)
+|-
+| PUN || Manipulación del puntero || <code>xx</code> (izquierda), <code>yy</code> (derecha), <code>zz</code> (define número), <code>??</code> (define string)
+|-
+| ES || Entrada/Salida || <code>zz</code> (habilita interior)
+|-
+| LOG || Lógica y control || <code>xx</code> (loop start), <code>yy</code> (imprime puntero), <code>zz</code> (loop end), <code>cc</code> (importa librería), <code>??</code> (avanza estado)
+|}
+
+El ciclo es siempre:
+<code>MAT → PUN → ES → LOG → MAT → …</code>
+
+== Comandos ==
+* <code>xx</code> → suma, mueve o abre bucle según estado.
+* <code>yy</code> → resta, mueve o imprime según estado.
+* <code>zz</code> → define número, habilita interior o cierra bucle.
+* <code>??</code> → define string, avanza estado.
+* <code>cc</code> → importa librería (solo en LOG).
+
+== Ejemplos ==
+
+=== Imprimir el puntero actual ===
+<pre>
+xx ?? zz ?? yy
+</pre>
+Salida: <code>1</code>
+
+=== Imprimir la letra A (ASCII 65) ===
+<pre>
+(xx ?? zz ??) x 65
+yy
+</pre>
+Salida: <code>A</code>
+
+=== Imprimir HI ===
+<pre>
+(xx ?? zz ??) x 72
+yy
+(xx ?? zz ??) x 73
+yy
+</pre>
+Salida: <code>HI</code>
+
+== Implementación ==
+Existe un intérprete en Python + CustomTkinter que permite:
+* Escribir código CAME directamente en un editor integrado.
+* Ejecutar programas y ver la salida, el puntero final y las librerías importadas.
+
+== Filosofía ==
+* Sin comentarios: todo el código son tokens ejecutables.
+* FSM explícito: cada comando depende del estado actual.
+* Lenguaje troll: escribir cadenas largas requiere cientos de repeticiones.
+* Documentación clara: aunque el código sea ilegible, la especificación es transparente.
' |
Lines added in edit (added_lines) | [
0 => '{{esolang',
1 => '|name=CAME',
2 => '|author=Carlos',
3 => '|year=2025',
4 => '|type=esoteric',
5 => '|influenced={{w|Brainfuck}}, FSM design',
6 => '|examples=Hello World',
7 => '}}',
8 => '',
9 => ''''CAME''' es un lenguaje esotérico diseñado por Carlos en 2025. ',
10 => 'Su nombre proviene de la idea de un lenguaje modular con estados explícitos. ',
11 => 'El objetivo de CAME es obligar al programador a trabajar con un ciclo de estados finitos (FSM), donde cada comando cambia de significado según el estado actual.',
12 => '',
13 => '== Estados ==',
14 => 'El intérprete de CAME avanza en ciclos de cuatro estados:',
15 => '',
16 => '{| class="wikitable"',
17 => '! Estado !! Descripción !! Comandos principales',
18 => '|-',
19 => '| MAT || Operaciones matemáticas básicas || <code>xx</code> (+1), <code>yy</code> (-1)',
20 => '|-',
21 => '| PUN || Manipulación del puntero || <code>xx</code> (izquierda), <code>yy</code> (derecha), <code>zz</code> (define número), <code>??</code> (define string)',
22 => '|-',
23 => '| ES || Entrada/Salida || <code>zz</code> (habilita interior)',
24 => '|-',
25 => '| LOG || Lógica y control || <code>xx</code> (loop start), <code>yy</code> (imprime puntero), <code>zz</code> (loop end), <code>cc</code> (importa librería), <code>??</code> (avanza estado)',
26 => '|}',
27 => '',
28 => 'El ciclo es siempre: ',
29 => '<code>MAT → PUN → ES → LOG → MAT → …</code>',
30 => '',
31 => '== Comandos ==',
32 => '* <code>xx</code> → suma, mueve o abre bucle según estado. ',
33 => '* <code>yy</code> → resta, mueve o imprime según estado. ',
34 => '* <code>zz</code> → define número, habilita interior o cierra bucle. ',
35 => '* <code>??</code> → define string, avanza estado. ',
36 => '* <code>cc</code> → importa librería (solo en LOG). ',
37 => '',
38 => '== Ejemplos ==',
39 => '',
40 => '=== Imprimir el puntero actual ===',
41 => '<pre>',
42 => 'xx ?? zz ?? yy',
43 => '</pre>',
44 => 'Salida: <code>1</code>',
45 => '',
46 => '=== Imprimir la letra A (ASCII 65) ===',
47 => '<pre>',
48 => '(xx ?? zz ??) x 65',
49 => 'yy',
50 => '</pre>',
51 => 'Salida: <code>A</code>',
52 => '',
53 => '=== Imprimir HI ===',
54 => '<pre>',
55 => '(xx ?? zz ??) x 72',
56 => 'yy',
57 => '(xx ?? zz ??) x 73',
58 => 'yy',
59 => '</pre>',
60 => 'Salida: <code>HI</code>',
61 => '',
62 => '== Implementación ==',
63 => 'Existe un intérprete en Python + CustomTkinter que permite:',
64 => '* Escribir código CAME directamente en un editor integrado. ',
65 => '* Ejecutar programas y ver la salida, el puntero final y las librerías importadas. ',
66 => '',
67 => '== Filosofía ==',
68 => '* Sin comentarios: todo el código son tokens ejecutables. ',
69 => '* FSM explícito: cada comando depende del estado actual. ',
70 => '* Lenguaje troll: escribir cadenas largas requiere cientos de repeticiones. ',
71 => '* Documentación clara: aunque el código sea ilegible, la especificación es transparente.'
] |