Annotation of parser3/lang.txt, revision 1.1

1.1     ! paf         1: 
        !             2: 
        !             3:         GET name's value
        !             4:             
        !             5:                $name followed by whitespace
        !             6:                ${name}followed by anything
        !             7: 
        !             8:                name: name OR namepath
        !             9:                namepath: namepart.namepart....namepart
        !            10:                namepart: string OR $name OR string$name
        !            11: 
        !            12:                        samples:
        !            13:                                $name
        !            14:                        $name.sub
        !            15:                                        $name.sub1.sub2
        !            16:                                        $name.sub$subvar
        !            17:                                        $$subvar
        !            18: 
        !            19:         PUT a value into variable OR it's part
        !            20: 
        !            21:                $name(value) < value into $name
        !            22:                $namepath.namepart(value) < value into namepart's part of $namepath
        !            23: 
        !            24: 
        !            25:                $name(
        !            26:                        constructor: variable write context switched into $name
        !            27:                )
        !            28:                constructor: string OR complex object's constructor
        !            29:             complex object's constructor: hash field assignment & Co
        !            30: 
        !            31:                samples:
        !            32:                        $var(value)
        !            33:                        $hash_name($key(value))
        !            34: 
        !            35:         WITH assignes current read/write context
        !            36: 
        !            37:                $namepath{
        !            38:                        here read/write context switched into namepath
        !            39:                }
        !            40: 
        !            41:                        samples:
        !            42:                                $organization.departments.fire_department{
        !            43:                                                $some_machine1
        !            44:                                                $some_machine2
        !            45:                                }
        !            46:                     is equial to:
        !            47:                        $organization.departments.fire_department.some_machine1
        !            48:                        $organization.departments.fire_department.some_machine2
        !            49: 
        !            50:         CALL block with parameters
        !            51: 
        !            52:                ^namepath parameters locals
        !            53:             parameters: parameter OR parameter ... parameter
        !            54:             parameter: (parameter_value_in_round) OR {parameter_value}
        !            55:             parameter_value_in_round: parameter_value OR parameter_value;...;parameter_value
        !            56: 
        !            57:             () parameter value to name associated like constructor body to variable
        !            58:             {} parameter value is a code, which would be executed at GET time, in stored-call-context
        !            59: 
        !            60:             locals: [local;local;...] local variables
        !            61:             plus there's one predefined local var, named 'result'
        !            62:             if someone assigns it, it would be the result of method
        !            63: 
        !            64:                        samples:
        !            65:                                
        !            66:                                ^func(parameter1;parameter2){parameter3}{parameter4}(parameter5;parameter6)
        !            67: 
        !            68:                                @print[man] prints some man' params
        !            69:                                $man.name
        !            70:                                $man.age
        !            71: 
        !            72:                 1: 
        !            73:                                $alex(
        !            74:                                        $name(alex)
        !            75:                                        $age(234)
        !            76:                                )
        !            77:                                ^print($alex)
        !            78: 
        !            79:                 2: 
        !            80:                                ^print(
        !            81:                                        $name(alex)
        !            82:                                        $age(234)
        !            83:                                )
        !            84: 
        !            85:                                @test[][i]
        !            86:                                $i(123) ^rem[this is local $i]
        !            87:                                $result[this would be the result]
        !            88:                                these chars ignored
        !            89: 
        !            90:                MODULES:
        !            91: 
        !            92:                        a module is a file with some method-definitions and special-definitions
        !            93: 
        !            94:                        method-definition:
        !            95: 
        !            96:                                sign @ must be in column 1.
        !            97: 
        !            98:                                @name[param1;param2;...][local1;local2;...] comment
        !            99:                                body
        !           100: 
        !           101:             special-definitions:
        !           102: 
        !           103:                                @CLASS
        !           104:                                class_name
        !           105: 
        !           106:                                @USES
        !           107:                                modules
        !           108:                                needed
        !           109:                                in
        !           110:                                this
        !           111:                                module
        !           112: 
        !           113:                                @BASE
        !           114:                                base_class_name
        !           115: 
        !           116:                        all files are modules.
        !           117:                        first module to load is file that user have requested,
        !           118:                        execution begins in last @main.

E-mail: