[FREE] Mini programmeer taaltje

Gestart doorJenner13 reacties106 weergaven

14 berichten · pagina 1 van 1

Jenner

Lid · Topicstarter

Berichten
1.544
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Hallo,

Ik had gister nacht niks te doen en daarom heb ik een nutteloos taaltje in elkaar geflanst. Ik hoop dat jullie het leuk vinden en misschien inspiratie geeft om een zelf nog nuttelozer taaltje te maken en missschien nog tips om dit taaltje iets functioneler te maken?

De taal is hoofdletter ongevoelig, maar persoonlijk vind ik het hier mooier om met hoofdletters te werken.

Het bevat de volgende functies:

82->A //Definieer een variabele
A+2 23++ //Tel wat bij een getal op.
A-3 32-- //Haal van van een getal af.
|tele //Definieer een label
!A !94 //Print het getal
!!A !!34 //Print een karakter uit de ASCII tabel.
>B,84 !!84 //Is groter dan (Als hij fout is slaat hij de rest van de regel over)
=B,94 !!23 //Gelijk aan (Als hij fout is slaat hij de rest van de regel over)
:tele //Ga terug naar een label (of verder)


Voorbeelden:

For:

10->A
|forbegin
!A
!!10
A--
>A,0 :forbegin


De class:
Spoiler tonen
[COLOR= #0000BB]<?php[/COLOR]
[URL="http://www.php.net/class"]class[/URL] MyLanguage [COLOR= #007700]{[/COLOR]

    [COLOR= #FF8000]/**
     * The current line from execution
     * @var integer
     */[/COLOR]
    [URL="http://www.php.net/private"]private[/URL] [COLOR= #0000BB]$line[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]0[/COLOR][COLOR= #007700];[/COLOR]

    [COLOR= #FF8000]/**
     * The current char of the execute line
     * @var integer
     */[/COLOR]
    [URL="http://www.php.net/private"]private[/URL] [COLOR= #0000BB]$lineChar[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]0[/COLOR][COLOR= #007700];[/COLOR]

    [COLOR= #FF8000]/**
     * The splitted lines
     * @var array
     */[/COLOR]
    [URL="http://www.php.net/private"]private[/URL] [COLOR= #0000BB]$lines[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/array"]array[/URL][COLOR= #007700]();[/COLOR]

    [COLOR= #FF8000]/**
     * All the setted labels
     * @var array
     */[/COLOR]
    [URL="http://www.php.net/private"]private[/URL] [COLOR= #0000BB]$labels[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/array"]array[/URL][COLOR= #007700]();[/COLOR]

    [COLOR= #FF8000]/**
     * All the saved variables
     * @var array
     */[/COLOR]
    [URL="http://www.php.net/private"]private[/URL] [COLOR= #0000BB]$variables[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/array"]array[/URL][COLOR= #007700]();[/COLOR]

    [COLOR= #FF8000]/**
     * The wait variable
     * @var number|string
     */[/COLOR]
    [URL="http://www.php.net/private"]private[/URL] [COLOR= #0000BB]$wait[/COLOR] [COLOR= #007700]=[/COLOR] null[COLOR= #007700];[/COLOR]

    [URL="http://www.php.net/public"]public[/URL] [COLOR= #007700]function[/COLOR] __construct[COLOR= #007700]([/COLOR][COLOR= #0000BB]$content[/COLOR][COLOR= #007700])
    {[/COLOR]
        [URL="http://www.php.net/if"]if[/URL][COLOR= #007700]( ![/COLOR] [URL="http://www.php.net/is_string"]is_string[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$content[/COLOR][COLOR= #007700]))[/COLOR]
            throw [COLOR= #007700]new[/COLOR] Exception[COLOR= #007700]([/COLOR][COLOR= #DD0000]Content is not a string.[/COLOR][COLOR= #007700]);[/COLOR]

        [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]lines [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/explode"]explode[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]"
"[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$content[/COLOR][COLOR= #007700]);
    }[/COLOR]

    [COLOR= #FF8000]/**
     * Compile the language
     * @return void
     */[/COLOR]
    [URL="http://www.php.net/public"]public[/URL] [COLOR= #007700]function[/COLOR] compile[COLOR= #007700]()
    {[/COLOR]
        [URL="http://www.php.net/foreach"]foreach[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]lines [COLOR= #007700]as[/COLOR] [COLOR= #0000BB]$i[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #0000BB]$line[/COLOR][COLOR= #007700])
        {[/COLOR]
            [URL="http://www.php.net/if"]if[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/preg_match"]preg_match[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]/A|([A-Za-z]+)/[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$line[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$return[/COLOR][COLOR= #007700]))
            {[/COLOR]
                [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]labels[COLOR= #007700][[/COLOR][URL="http://www.php.net/strtoupper"]strtoupper[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$return[/COLOR][COLOR= #007700][[/COLOR][COLOR= #0000BB]1[/COLOR][COLOR= #007700]])] =[/COLOR] [COLOR= #0000BB]$i[/COLOR][COLOR= #007700];
            }
        }[/COLOR]

        [URL="http://www.php.net/while"]while[/URL][COLOR= #007700]([/COLOR]true[COLOR= #007700])
        {[/COLOR]
            [COLOR= #FF8000]//The while for finding a new line. (If not he quits both whiles)[/COLOR]
            [URL="http://www.php.net/while"]while[/URL][COLOR= #007700]([/COLOR]true[COLOR= #007700])
            {[/COLOR]
                [URL="http://www.php.net/if"]if[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/isset"]isset[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]lines[COLOR= #007700][[/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]line[COLOR= #007700]]))
                {[/COLOR]
                    [COLOR= #0000BB]$line[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/substr"]substr[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]lines[COLOR= #007700][[/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]line[COLOR= #007700]],[/COLOR] [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]lineChar[COLOR= #007700]);[/COLOR]
                    [URL="http://www.php.net/if"]if[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/strlen"]strlen[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$line[/COLOR][COLOR= #007700]) ==[/COLOR] [COLOR= #0000BB]0[/COLOR][COLOR= #007700])
                    {[/COLOR]
                        [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]line[COLOR= #007700]++;[/COLOR]
                        [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]lineChar [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]0[/COLOR][COLOR= #007700];
                    }[/COLOR]
                    [URL="http://www.php.net/else"]else[/URL]
                    [COLOR= #007700]{[/COLOR]
                        [URL="http://www.php.net/break"]break[/URL][COLOR= #007700];
                    }
                }[/COLOR]
                [URL="http://www.php.net/else"]else[/URL]
                [COLOR= #007700]{[/COLOR]
                    [URL="http://www.php.net/break"]break[/URL] [COLOR= #0000BB]2[/COLOR][COLOR= #007700];
                }
            }[/COLOR]

            [COLOR= #0000BB]$update_char[/COLOR] [COLOR= #007700]=[/COLOR] true[COLOR= #007700];[/COLOR]

            [COLOR= #FF8000]//Whitespace (Does nothing)[/COLOR]
            [URL="http://www.php.net/if"]if[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/preg_match"]preg_match[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]/A[s]+/[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$line[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$return[/COLOR][COLOR= #007700])) {[/COLOR]
                [COLOR= #FF8000]//Nothing[/COLOR]
            [COLOR= #007700]}[/COLOR]

            [COLOR= #FF8000]//Set variable from WAIT[/COLOR]
            [URL="http://www.php.net/elseif"]elseif[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/preg_match"]preg_match[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]/A->([A-Za-z]+)/[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$line[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$return[/COLOR][COLOR= #007700]))
            {[/COLOR]
                [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]put[COLOR= #007700]([/COLOR][COLOR= #0000BB]$return[/COLOR][COLOR= #007700][[/COLOR][COLOR= #0000BB]1[/COLOR][COLOR= #007700]],[/COLOR] [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]get_wait[COLOR= #007700]());
            }[/COLOR]

            [COLOR= #FF8000]//Add to WAIT[/COLOR]
            [URL="http://www.php.net/elseif"]elseif[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/preg_match"]preg_match[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]/A+([+]+|[0-9]+)/[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$line[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$return[/COLOR][COLOR= #007700]))
            {[/COLOR]
                [URL="http://www.php.net/if"]if[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$return[/COLOR][COLOR= #007700][[/COLOR][COLOR= #0000BB]1[/COLOR][COLOR= #007700]][[/COLOR][COLOR= #0000BB]0[/COLOR][COLOR= #007700]] ==[/COLOR] [COLOR= #DD0000]+[/COLOR][COLOR= #007700])[/COLOR]
                    [COLOR= #0000BB]$return[/COLOR][COLOR= #007700][[/COLOR][COLOR= #0000BB]1[/COLOR][COLOR= #007700]] =[/COLOR] [URL="http://www.php.net/strlen"]strlen[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$return[/COLOR][COLOR= #007700][[/COLOR][COLOR= #0000BB]1[/COLOR][COLOR= #007700]]);[/COLOR]

                [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]update_wait[COLOR= #007700]([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]get_wait[COLOR= #007700]([/COLOR]true[COLOR= #007700]) +[/COLOR] [COLOR= #0000BB]$return[/COLOR][COLOR= #007700][[/COLOR][COLOR= #0000BB]1[/COLOR][COLOR= #007700]]);
            }[/COLOR]

            [COLOR= #FF8000]//Substract to WAIT[/COLOR]
            [URL="http://www.php.net/elseif"]elseif[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/preg_match"]preg_match[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]/A-([-]+|[0-9]+)/[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$line[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$return[/COLOR][COLOR= #007700]))
            {[/COLOR]
                [URL="http://www.php.net/if"]if[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$return[/COLOR][COLOR= #007700][[/COLOR][COLOR= #0000BB]1[/COLOR][COLOR= #007700]][[/COLOR][COLOR= #0000BB]0[/COLOR][COLOR= #007700]] ==[/COLOR] [COLOR= #DD0000]-[/COLOR][COLOR= #007700])[/COLOR]
                    [COLOR= #0000BB]$return[/COLOR][COLOR= #007700][[/COLOR][COLOR= #0000BB]1[/COLOR][COLOR= #007700]] =[/COLOR] [URL="http://www.php.net/strlen"]strlen[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$return[/COLOR][COLOR= #007700][[/COLOR][COLOR= #0000BB]1[/COLOR][COLOR= #007700]]);[/COLOR]

                [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]update_wait[COLOR= #007700]([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]get_wait[COLOR= #007700]([/COLOR]true[COLOR= #007700]) -[/COLOR] [COLOR= #0000BB]$return[/COLOR][COLOR= #007700][[/COLOR][COLOR= #0000BB]1[/COLOR][COLOR= #007700]]);
            }[/COLOR]

            [COLOR= #FF8000]//Bigger than (If not correct, direct next line)[/COLOR]
            [URL="http://www.php.net/elseif"]elseif[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/preg_match"]preg_match[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]/A>([0-9A-Za-z]+),([0-9A-Za-z]+)/[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$line[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$return[/COLOR][COLOR= #007700]))
            {[/COLOR]
                [URL="http://www.php.net/if"]if[/URL][COLOR= #007700]( ! ([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]get[COLOR= #007700]([/COLOR][COLOR= #0000BB]$return[/COLOR][COLOR= #007700][[/COLOR][COLOR= #0000BB]1[/COLOR][COLOR= #007700]]) >[/COLOR] [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]get[COLOR= #007700]([/COLOR][COLOR= #0000BB]$return[/COLOR][COLOR= #007700][[/COLOR][COLOR= #0000BB]2[/COLOR][COLOR= #007700]])))
                {[/COLOR]
                    [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]line[COLOR= #007700]++;[/COLOR]
                    [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]lineChar [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]0[/COLOR][COLOR= #007700];[/COLOR]
                    [COLOR= #0000BB]$update_char[/COLOR] [COLOR= #007700]=[/COLOR] false[COLOR= #007700];
                }
            }[/COLOR]

            [COLOR= #FF8000]//Equal (If not correct, direct next line)[/COLOR]
            [URL="http://www.php.net/elseif"]elseif[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/preg_match"]preg_match[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]/A=([0-9A-Za-z]+),([0-9A-Za-z]+)/[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$line[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$return[/COLOR][COLOR= #007700]))
            {[/COLOR]
                [URL="http://www.php.net/if"]if[/URL][COLOR= #007700]( ! ([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]get[COLOR= #007700]([/COLOR][COLOR= #0000BB]$return[/COLOR][COLOR= #007700][[/COLOR][COLOR= #0000BB]1[/COLOR][COLOR= #007700]]) ==[/COLOR] [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]get[COLOR= #007700]([/COLOR][COLOR= #0000BB]$return[/COLOR][COLOR= #007700][[/COLOR][COLOR= #0000BB]2[/COLOR][COLOR= #007700]])))
                {[/COLOR]
                    [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]line[COLOR= #007700]++;[/COLOR]
                    [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]lineChar [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]0[/COLOR][COLOR= #007700];[/COLOR]
                    [COLOR= #0000BB]$update_char[/COLOR] [COLOR= #007700]=[/COLOR] false[COLOR= #007700];
                }
            }[/COLOR]

            [COLOR= #FF8000]//Display number of char from ASCII[/COLOR]
            [URL="http://www.php.net/elseif"]elseif[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/preg_match"]preg_match[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]/A([!]{1,2})([0-9A-Za-z]+)/[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$line[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$return[/COLOR][COLOR= #007700]))
            {[/COLOR]
                [COLOR= #0000BB]$value[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]get[COLOR= #007700]([/COLOR][COLOR= #0000BB]$return[/COLOR][COLOR= #007700][[/COLOR][COLOR= #0000BB]2[/COLOR][COLOR= #007700]]);[/COLOR]
                [URL="http://www.php.net/if"]if[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$return[/COLOR][COLOR= #007700][[/COLOR][COLOR= #0000BB]1[/COLOR][COLOR= #007700]] ==[/COLOR] [COLOR= #DD0000]!![/COLOR][COLOR= #007700])[/COLOR]
                    [COLOR= #0000BB]$value[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/chr"]chr[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$value[/COLOR][COLOR= #007700]);[/COLOR]

                [URL="http://www.php.net/echo"]echo[/URL] [COLOR= #0000BB]$value[/COLOR][COLOR= #007700];
            }[/COLOR]

            [COLOR= #FF8000]//Set label[/COLOR]
            [URL="http://www.php.net/elseif"]elseif[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/preg_match"]preg_match[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]/A|([A-Za-z]+)/[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$line[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$return[/COLOR][COLOR= #007700]))
            {[/COLOR]
                [COLOR= #FF8000]//Nothing[/COLOR]
            [COLOR= #007700]}[/COLOR]

            [COLOR= #FF8000]//Go to label line[/COLOR]
            [URL="http://www.php.net/elseif"]elseif[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/preg_match"]preg_match[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]/A:([A-Za-z]+)/[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$line[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$return[/COLOR][COLOR= #007700]))
            {[/COLOR]
                [URL="http://www.php.net/if"]if[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/isset"]isset[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]labels[COLOR= #007700][[/COLOR][URL="http://www.php.net/strtoupper"]strtoupper[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$return[/COLOR][COLOR= #007700][[/COLOR][COLOR= #0000BB]1[/COLOR][COLOR= #007700]])]))
                {[/COLOR]
                    [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]line [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]labels[COLOR= #007700][[/COLOR][URL="http://www.php.net/strtoupper"]strtoupper[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$return[/COLOR][COLOR= #007700][[/COLOR][COLOR= #0000BB]1[/COLOR][COLOR= #007700]])];[/COLOR]
                    [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]lineChar [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]0[/COLOR][COLOR= #007700];[/COLOR]
                    [COLOR= #0000BB]$update_char[/COLOR] [COLOR= #007700]=[/COLOR] false[COLOR= #007700];
                }
            }[/COLOR]

            [COLOR= #FF8000]//Put number in WAIT[/COLOR]
            [URL="http://www.php.net/elseif"]elseif[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/preg_match"]preg_match[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]/A([0-9]+|[A-Za-z]+)/[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$line[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$return[/COLOR][COLOR= #007700]))
            {[/COLOR]
                [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]put_wait[COLOR= #007700]([/COLOR][COLOR= #0000BB]$return[/COLOR][COLOR= #007700][[/COLOR][COLOR= #0000BB]0[/COLOR][COLOR= #007700]]);
            }[/COLOR]

            [COLOR= #FF8000]//Skip the comments[/COLOR]
            [URL="http://www.php.net/elseif"]elseif[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/preg_match"]preg_match[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]/A///[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$line[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$return[/COLOR][COLOR= #007700]))
            {[/COLOR]
                [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]line[COLOR= #007700]++;[/COLOR]
                [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]lineChar [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]0[/COLOR][COLOR= #007700];[/COLOR]
                [COLOR= #0000BB]$update_char[/COLOR] [COLOR= #007700]=[/COLOR] false[COLOR= #007700];
            }[/COLOR]

            [COLOR= #FF8000]//No correct function found[/COLOR]
            [URL="http://www.php.net/else"]else[/URL]
            [COLOR= #007700]{[/COLOR]
                throw [COLOR= #007700]new[/COLOR] Exception[COLOR= #007700]([/COLOR][COLOR= #DD0000]No correct option on line: [/COLOR][COLOR= #007700].([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]line [COLOR= #007700]+[/COLOR] [COLOR= #0000BB]1[/COLOR][COLOR= #007700]).[/COLOR][COLOR= #DD0000], "[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$line[/COLOR][COLOR= #007700].[/COLOR][COLOR= #DD0000]"[/COLOR][COLOR= #007700]);
            }[/COLOR]

            [URL="http://www.php.net/if"]if[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$update_char[/COLOR] [COLOR= #007700]==[/COLOR] true[COLOR= #007700])[/COLOR]
                [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]lineChar [COLOR= #007700]+=[/COLOR] [URL="http://www.php.net/strlen"]strlen[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$return[/COLOR][COLOR= #007700][[/COLOR][COLOR= #0000BB]0[/COLOR][COLOR= #007700]]);
        }
    }[/COLOR]
    
    [COLOR= #FF8000]/**
     * Get a variable and if the input is a number, he returns the number.
     * @param  number|string $input
     * @return number
     */[/COLOR]
    [URL="http://www.php.net/public"]public[/URL] [COLOR= #007700]function[/COLOR] get[COLOR= #007700]([/COLOR][COLOR= #0000BB]$input[/COLOR][COLOR= #007700])
    {[/COLOR]
        [URL="http://www.php.net/if"]if[/URL][COLOR= #007700]( ![/COLOR] [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]is_var[COLOR= #007700]([/COLOR][COLOR= #0000BB]$input[/COLOR][COLOR= #007700]))
        {[/COLOR]
            [URL="http://www.php.net/return"]return[/URL] [COLOR= #0000BB]$input[/COLOR][COLOR= #007700];
        }[/COLOR]
        [URL="http://www.php.net/else"]else[/URL]
        [COLOR= #007700]{[/COLOR]
            [URL="http://www.php.net/if"]if[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/isset"]isset[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]variables[COLOR= #007700][[/COLOR][URL="http://www.php.net/strtoupper"]strtoupper[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$input[/COLOR][COLOR= #007700])]))
            {[/COLOR]
                [URL="http://www.php.net/return"]return[/URL] [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]variables[COLOR= #007700][[/COLOR][URL="http://www.php.net/strtoupper"]strtoupper[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$input[/COLOR][COLOR= #007700])];
            }[/COLOR]
            [URL="http://www.php.net/else"]else[/URL]
            [COLOR= #007700]{[/COLOR]
                [URL="http://www.php.net/return"]return[/URL] [COLOR= #0000BB]0[/COLOR][COLOR= #007700];
            }
        }
    }[/COLOR]

    [COLOR= #FF8000]/**
     * Put a value in the variables variable
     * @param  string $name
     * @param  value $value
     * @return void
     */[/COLOR]
    [URL="http://www.php.net/public"]public[/URL] [COLOR= #007700]function[/COLOR] put[COLOR= #007700]([/COLOR][COLOR= #0000BB]$name[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$value[/COLOR][COLOR= #007700])
    {[/COLOR]
        [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]variables[COLOR= #007700][[/COLOR][URL="http://www.php.net/strtoupper"]strtoupper[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$name[/COLOR][COLOR= #007700])] =[/COLOR] [COLOR= #0000BB]$value[/COLOR][COLOR= #007700];
    }[/COLOR]


    [COLOR= #FF8000]/**
     * Get the wait value
     *
     * If param true and the wait is a variable.
     * He return the value of the variable.
     * 
     * @param  boolean $numeric
     * @return [type]           [description]
     */[/COLOR]
    [URL="http://www.php.net/public"]public[/URL] [COLOR= #007700]function[/COLOR] get_wait[COLOR= #007700]([/COLOR][COLOR= #0000BB]$numeric[/COLOR] [COLOR= #007700]=[/COLOR] false[COLOR= #007700])
    {[/COLOR]
        [URL="http://www.php.net/if"]if[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$numeric[/COLOR] [COLOR= #007700]==[/COLOR] true[COLOR= #007700])
        {[/COLOR]
            [URL="http://www.php.net/return"]return[/URL] [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]get[COLOR= #007700]([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]wait[COLOR= #007700]);
        }[/COLOR]
        [URL="http://www.php.net/else"]else[/URL]
        [COLOR= #007700]{[/COLOR]
            [URL="http://www.php.net/return"]return[/URL] [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]wait[COLOR= #007700];
        }
    }[/COLOR]

    [COLOR= #FF8000]/**
     * Put a value in wait.
     * @param  number|string $value
     * @return void
     */[/COLOR]
    [URL="http://www.php.net/public"]public[/URL] [COLOR= #007700]function[/COLOR] put_wait[COLOR= #007700]([/COLOR][COLOR= #0000BB]$value[/COLOR][COLOR= #007700])
    {[/COLOR]
        [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]wait [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$value[/COLOR][COLOR= #007700];
    }[/COLOR]

    [COLOR= #FF8000]/**
     * Update the wait
     * 
     * @param  number $value If wait is variable he updates the variable
     * @return void
     */[/COLOR]
    [URL="http://www.php.net/public"]public[/URL] [COLOR= #007700]function[/COLOR] update_wait[COLOR= #007700]([/COLOR][COLOR= #0000BB]$value[/COLOR][COLOR= #007700])
    {[/COLOR]
        [URL="http://www.php.net/if"]if[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]is_var[COLOR= #007700]([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]get_wait[COLOR= #007700]()))
        {[/COLOR]
            [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]put[COLOR= #007700]([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]get_wait[COLOR= #007700](),[/COLOR] [COLOR= #0000BB]$value[/COLOR][COLOR= #007700]);
        }[/COLOR]
        [URL="http://www.php.net/else"]else[/URL]
        [COLOR= #007700]{[/COLOR]
            [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]put_wait[COLOR= #007700]([/COLOR][COLOR= #0000BB]$value[/COLOR][COLOR= #007700]);
        }
    }[/COLOR]


    [COLOR= #FF8000]/**
     * Check for input, if variable returns true
     * @param  number|string  $input
     * @return boolean
     */[/COLOR]
    [URL="http://www.php.net/public"]public[/URL] [COLOR= #007700]function[/COLOR] is_var[COLOR= #007700]([/COLOR][COLOR= #0000BB]$input[/COLOR][COLOR= #007700])
    {[/COLOR]
        [URL="http://www.php.net/if"]if[/URL][COLOR= #007700]( ![/COLOR] [URL="http://www.php.net/is_numeric"]is_numeric[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$input[/COLOR][COLOR= #007700]))
        {[/COLOR]
            [URL="http://www.php.net/return"]return[/URL] true[COLOR= #007700];
        }[/COLOR]
        [URL="http://www.php.net/else"]else[/URL]
        [COLOR= #007700]{[/COLOR]
            [URL="http://www.php.net/return"]return[/URL] false[COLOR= #007700];
        }
    }[/COLOR]

    [URL="http://www.php.net/public"]public[/URL] [COLOR= #007700]function[/COLOR] get_actions[COLOR= #007700]()
    {[/COLOR]
        [URL="http://www.php.net/return"]return[/URL] [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]actions[COLOR= #007700];
    }
}[/COLOR]

try
[COLOR= #007700]{[/COLOR]
    [COLOR= #0000BB]$file[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/file_get_contents"]file_get_contents[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]"file.php"[/COLOR][COLOR= #007700]);[/COLOR]
    [COLOR= #0000BB]$language[/COLOR] [COLOR= #007700]= new[/COLOR] MyLanguage[COLOR= #007700]([/COLOR][COLOR= #0000BB]$file[/COLOR][COLOR= #007700]);[/COLOR]
    [COLOR= #0000BB]$language[/COLOR][COLOR= #007700]->[/COLOR]compile[COLOR= #007700]();
}[/COLOR]
catch[COLOR= #007700]([/COLOR]Exception [COLOR= #0000BB]$e[/COLOR][COLOR= #007700])
{[/COLOR]
    [URL="http://www.php.net/echo"]echo[/URL] [COLOR= #0000BB]$e[/COLOR][COLOR= #007700]->[/COLOR]getMessage[COLOR= #007700]();
}[/COLOR]
?>
0
Thom

Lid

Berichten
10.654
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Snap er niks van emo
0
Berichten
93.699
Reputatie
0
Punten
1,27
Lid sinds
Laatst gezien
Ehm. Wat doet het?
0
Berichten
3.037
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Wel lollig.
0
Berichten
11.263
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Thommity schreef:
Snap er niks van emo
0
Berichten
1.289
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Sanderc schreef:
Eerdere citaten tonen
Thommity schreef:
Snap er niks van emo
0
Berichten
5.274
Reputatie
1
Punten
0,01
Lid sinds
Laatst gezien

Eindhoven, Nederland

Sfpmarc schreef:
Eerdere citaten tonen
Sanderc schreef:
Eerdere citaten tonen
Thommity schreef:
Snap er niks van emo
Wtf? Zie de source.. Dan snap je het wel. Eigenlijk is het zoals normaal van Jenner een coole PHP class emo
0
Berichten
9.953
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Haha, nice. emoNiet dat ik het ga gebruiken ofzo want vind het zelf nergens op slaan eigenlijk, maar vind het wel grappig. Haha. yummie
0
Berichten
93.699
Reputatie
0
Punten
1,27
Lid sinds
Laatst gezien
Wel cool eigenlijk! Wel zou ik je verantwoordelijkheden opsplitsen, want iedere class mag immers maar 1 verantwoordelijkheid dragen.
0
Jenner

Lid · Topicstarter

Berichten
1.544
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Raaoul schreef:
Wel cool eigenlijk! Wel zou ik je verantwoordelijkheden opsplitsen, want iedere class mag immers maar 1 verantwoordelijkheid dragen.
Klopt, ik ben V2 aan het maken die die dingen opsplitst, (library (houdt de variabele bij en welke functies er zijn), compiler, functies) maar dit was een 2 uurs class en het ging meer om het idee.
Thommity schreef:
Snap er niks van emo
Het is meer voor de grap. Je moet niet verwachten dat je dit gaat gebruiken voor grote projecten of iets. Het was ook vooral voor mezelf om principe van compiling door te krijgen en gaf me weer nieuwe ideeën voor de toekomst smile
0
Berichten
93.699
Reputatie
0
Punten
1,27
Lid sinds
Laatst gezien
Even kleine correctie: je compiled het niet, maar je interpret het (hoe je het ook schrijft). Je hebt eigenlijk nu een interpreter geschreven (zoals PHP of Python gerunt wordt)

toevoeging op 21 januari 2013, 22:36:43:
Maar dit is eigenlijk best wel vet. Beetje zoals Brainfuck, de taal is ook complete onzin maar wel grappig yummie.
Zou je je V2 op Github willen zetten eenmaal klaar?
0
Jenner

Lid · Topicstarter

Berichten
1.544
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Raaoul schreef:
Even kleine correctie: je compiled het niet, maar je interpret het (hoe je het ook schrijft). Je hebt eigenlijk nu een interpreter geschreven (zoals PHP of Python gerunt wordt)
toevoeging op 21 januari 2013, 22:36:43:
Maar dit is eigenlijk best wel vet. Beetje zoals Brainfuck, de taal is ook complete onzin maar wel grappig yummie.
Zou je je V2 op Github willen zetten eenmaal klaar?

True, dat eerste. Nu ik het me herinner. Zal ik even aanpassen in V2

Inspiratie kreeg ik idd van Brainfuck, maar dat is een nog eenvoudigere interpreter.
Ik zal V2 op Github plaatsen wink Zal ergens morgen klaar zijn. Ik heb namelijk toch toetsweek en voer niet echt veel uit in zon toetsweek.
0
Rik

Lid

Berichten
18.393
Reputatie
0
Punten
0,04
Lid sinds
Laatst gezien
Ik dacht ook meteen aan Brainfuck. Herinner me nog dat ik daar ooit ook iets voor had geschreven.
0
Berichten
93.699
Reputatie
0
Punten
1,27
Lid sinds
Laatst gezien
Sanderc schreef:
Eerdere citaten tonen
Thommity schreef:
Snap er niks van emo
0

Jouw reactie

Deel je idee, stel een vraag of help een ander verder.

Editor laden…

Praat mee met de One2xs-community.

Inloggen om te reageren