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: