Results 1 to 2 of 2

Thread: What are these symbols?

  1. #1
    thinBasic MVPs
    Join Date
    Oct 2012
    Location
    Germany
    Age
    55
    Posts
    1,554
    Rep Power
    174

    What are these symbols?

    Hello, it's me again.
    I am currently configuring a lexer for oxygenbasic and i wnt to have it complte and correct, so before i provide a wrong description i will ask to make sure and excuse if i don't sacrifice the time to find the meanings through experimenta testing until i think it's correct. I prefer to make sure .
    I write it as a table what i think or suspect it could be. Would be very kind to correct when i hit into the wrong target.
    Wrapped in question-marks is where i am in doubt

    i started from oxyKeywords.txt. file in the \Info-subdir in the mainfolder of zipped oxygen-package that is the most complete i could find

    in the beginning here few lines showing what is to enter for each line,
    first parameter is a group for the keyword,
    second is the keyword,
    optional are syntax-exmple
    optional parameters
    final after a pipe-symbol some descriptive text
    any "u+" & 4 to 6 hexadecimal digits, e.g. u+0041 means the unicode codepoint equal to "a", here mostly block u+2200 ff. "math symbols & operators"
    operator: and |bitwise logic conjuration operator, equal with '&'  (ampersand)   
    operator: or |bitwise logic alternation operator, equal to | (pipe-symbol)  |8 or 7 = ((8 or 4) or (8 or 2) or (8 or 1)) =  8 or 4 or 2 or 1 (=15)
    operator: xor |bitwise logic exclusion operator. True Xor Any = NOT Any but what was NOT TRUE before the operation.
    operator: not |bitwise logic negation operator. one parameter only its value gets negated from participation in the result. Combine with AND to explicit supress unwanted bits, e.g. both=2 and (Not 13). It will supress 1 & 4 & 8 from the result (=2).
    ?
    operator_compound: %26= |bitwise logic conjuration operator, equal with AND=   |e.g. 8 | 7 = ((8 | 4) or (8 | 2) or (8 | 1)) =  8 | 4 | 2 | 1  (=15)                (%26 = chr 26= '&' ampersand.)
    
    Q: is '&' in o2basic also the "explicit" concatenate strings-operator to avoid strA + strB is evaluated as Val(strA)+Val(strB) when both are containing some numeric appearance but its expected to join the strings is to use like "a" & "b" ? from is getting added arithmetically when both strings display numeric content

    String A= "123"
    String B ="321"

    A+B="444"
    A & B = "123321"


    A&B^^
    .
    ? ...is that a substitute for " ∧ " u+2227 (logical and) ?
    " ∨ " u+2228 (logical or)
     
    operator_compound or=  
    same:     |=
    remarks:  bitwise assign operator
    
    operator_compound xor= 
    
    ? Is there a symbol notation to substitute XOR | XOR= ? 
    
    u+22BB " ⊻ " : unicode symbol meaning xor
    
    xor=
    remarks:  bitwise assign operator
    
    operator %26%26 
    
    &&
    remarks:  logical operator
    operator
    ? kind of AND ?
    ? cats && dogs ... = pets?  
    
    
    ?: ||  : or and/or or ?
    
    ||
    remarks:  logical operator
    
    ?: symbol a flying bird ?
    ^^
    remarks:  logical operator
    
    ?: && a  special kind of AND ?
    &&=
    remarks:  logical assign operator
    
    ? : see 3 paragraphes above ...?
    ||=
    remarks:  logical assign operator
    
    ?: as 3 paragraphes above ?
    ^^=
    remarks:  logical assign operator
    ? guesses: exponent-exponentiation? 
    ? substitute of logic AND-sIgn ? (u+2227)
    
    -out of question-[ 
    operator %2B |Addition      
    operator %2D |Subtraction
    operator %2A |Multiplication
    operator %2F |Division 
    ]-out of question -
    
    ?: operator %5C |Integer-division. Removes the fractional part of divident and divisor before the operation. Removes also fractional part of the quotient. :?  
    operator %5E <_exp_> |Exponential, left of the operator is the numeric base, right of the operator is the exponent to find. 10^2 equals 10*10 = 100
    is that correct \ and \= symbol Integer-division ?
    
    -out of question -[
    operator_compound %26= |Add and return sum into the first summand.
    operator_compound %2D= |Subtract difference and return the result into the first parameter
    operator_compound %2A= |Multiply and return the product into the first factor 
    operator_compound %2F= |Divide and return quotient into the divident
    operator_relational == |Explicit comparison , not an assignment 
    ]-out of question -
    
    
    ?: operator %21= |!= 'itr check :
    "itr" was there in the file already - what does it stand for ? intrisinic? integer? 
    ...
    -out of question -[
    operator_relational <>
    operator_relational < |
    operator_relational <> |
    operator_relational <= |                
    operator_relational > |
    operator_relational >= |
    operator_relational <= |
    operator_compound and= |
    operator_compound or= |
    operator_compound xor=
    ]-out of question -
    
    ' still wip here - i need to sort them backwards for the ones that are to prioritize over a shorter content-..
    
     operator_compound %26%26= |&&=   
    ? : && any specialty of AND ?
     
    operator %26%26 |&&
    operator_compound %26=
    operator %26
    
    ? same to make sure ^^  or ^^= or ^= or ^
    i thought of ^ used as exponent but ^^ ?
    
    operator_compound %5E%5E= |^^=
    operator %5E%5E |^^
    
    operator_compound %7C%7C= |
    operator %7C%7C |
    operator_compound %7C= |
    operator %7C |
    operator_bitwise << |Bitsshift left
    operator_bitwise >> |Bitshift right
    
    ?: operator <<< doing it |leftward ?
    ?: operator >>> doing it|rightward ? 
    
    But What is ward?
    
    Left$/Right$/Instr i did not discover any trace abiut negative parameter values on strings as in powerbasic where a logic counter-approach provides extra-functionality

    e.g. Left( somes, 5) (5 leftmmost chars) is turned to: get all chars exceptchars = the 5 leftmost
    Instr with a negative starting value in powerbasic provides within the same function to find the last occurence prior to startvalue thinbasic even added here a seond numeric parameter to determine an index for the occurence of stringToSearch within mainstring.
    Does oxygenbasic have any of these extended standard-functions? Or is something as this planned in near future?

    And since oxygenbasic is able to overload until matching the passed function-parameters - Is it possible to detect the passed value for a parameter ddi not come byval from some expressions that but is present in a variable?
    Can oxygenbasic then "autoboost" it's performance when for example the Len-function discovers the string-parameter for the call on LEN() is present as String-variable:
    = no need to count but just copy the resulting value from the dword before StrPtr
    = no need for the function of local variable allocation since a variable meeting the requirements is provided by the user
    ergo
    2 optimizations possible here...

    In most cases when a String is passed in a variable byref thinbasic knows a FAST version of the called function. Len(byval s) + LenF(byref s), Grab(byval s,...) + GrabF(byref s,...) where i also think:

    "couldn't it discover itself there is the pointer of a valid string at position of the incoming value so it must be a byref passed variable ?" and however i called the built-in function - (the major parameter byval or byref) programmatically select the fastest available way to solve it via directing by overloading - instead of providing an additional keyword for each and every statement with an uppercase F
    appended...?

    In any case that would avoid an error when the F-ending procedure had to complain the passed parmeter was not as expected passed byref or vice versa and programmers had no more chance to "forget" using the performance-optimized version.

    However, please have a look at operator symbols above while thinking about new ideas

    René
    Last edited by ReneMiner; 04-12-2024 at 04:23.
    I think there are missing some Forum-sections as beta-testing and support

  2. #2
    thinBasic MVPs
    Join Date
    Oct 2012
    Location
    Germany
    Age
    55
    Posts
    1,554
    Rep Power
    174
    found - means of almost every symbol except "!=" -exclamation mark usually replaces declare.
    In combination with an assignment is it what?

    The comment
    'itr check :
    
    doesn't help to get an idea. Some language has "=!" as is "NOT EQUAL" but as assignement?
    Would it be equal To "and not=" ?
    A=3
    A != 2   'wild guess:  A = ( A and not 2)
    Print A
    1 
    >_
    
    I think there are missing some Forum-sections as beta-testing and support

Similar Threads

  1. Symbols of an Alien Sky
    By Charles Pegge in forum Shout Box Area
    Replies: 0
    Last Post: 11-12-2014, 13:49

Members who have read this thread: 3

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •