- From: Richard M. Smith <rms@computerbytesman.com>
- Date: Fri, 19 Nov 2004 13:53:45 -0500
- To: "W3C Public Web Plugins List" <public-web-plugins@w3.org>
- Message-ID: <E1CVDtk-00024Q-UF@frink.w3.org>
<http://images.slashdot.org/slc.gif> <http://yro.slashdot.org/> Your Rights Online: Microsoft Patents 'IsNot', Enlists WTO <http://slashdot.org/search.pl?topic=155> Patents Posted by michael <http://slashdot.org/> on Friday November 19, @09:43AM from the sigh dept. Milhouse102 <mailto:me@milhouse.co.uk> writes "I was just reading an article on The Register about Microsoft's <http://www.theregister.co.uk/2004/11/19/microsoft_wto_winning_without_firin g/> offshore patent war following Ballmer's recent outburst in Asia. I came across this little nugget, it seems MS <http://appft1.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&Sect2=HITOFF&d=PG01&p =1&u=%2Fnetahtml%2FPTO%2Fsrchnum.html&r=1&f=G&l=50&s1=%2220040230959%22.PGNR .&OS=DN/20040230959&RS=DN/20040230959> has patented BASIC's IsNot operator." ( <http://yro.slashdot.org/yro/04/11/19/1426256.shtml?tid=155&tid=109> Read More... | 400 <http://yro.slashdot.org/yro/04/11/19/1426256.shtml?tid=155&tid=109> of 524 <http://yro.slashdot.org/article.pl?sid=04/11/19/1426256&threshold=-1&tid=15 5&tid=109> comments | yro.slashdot.org <http://yro.slashdot.org/> ) http://appft1.uspto.gov/netacgi/nph-Parser?Sect1=PTO1 <http://appft1.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&Sect2=HITOFF&d=PG01&p =1&u=%2Fnetahtml%2FPTO%2Fsrchnum.html&r=1&f=G&l=50&s1=%2220040230959%22.PGNR .&OS=DN/20040230959&RS=DN/20040230959> &Sect2=HITOFF&d=PG01&p=1&u=%2Fnetahtml%2FPTO%2Fsrchnum.html&r=1&f=G&l=50&s1= %2220040230959%22.PGNR.&OS=DN/20040230959&RS=DN/20040230959 United States Patent Application 20040230959 Kind Code A1 Vick, Paul A. JR. ; et al. November 18, 2004 _____ IS NOT OPERATOR Abstract A system, method and computer-readable medium support the use of a single operator that allows a comparison of two variables to determine if the two variables point to the same location in memory. What is claimed: 1. A system for determining if two operands point to different locations in memory, the system comprising: a compiler for receiving source code and generating executable code from the source code, the source code comprising an expression comprising an operator associated with a first operand and a second operand, the expression evaluating to true when the first operand and the second operand point to different memory locations. 2. The system of claim 1, wherein the compiler is a BASIC-derived programming language compiler. 3. The system of claim 1, wherein the operator is IsNot. 4. The system of claim 1, wherein the compiler comprises a scanner, a parser, an analyzer and an executable-generator. 5. The system of claim 4, wherein the source code comprises at least one statement, and the statement comprises a keyword representing the operator, the keyword recognized by the scanner. 6. The system of claim 5, wherein the parser receives the scanned source code from the scanner and determines if the operator is preceded by and followed by an operand. 7. The system of claim 6, wherein in response to determining that the operator is not preceded by and followed by an operand, an error message is generated. 8. The system of claim 6, wherein the parsed source code is received by the analyzer, the analyzer evaluating the parsed code to determine if the preceding operand evaluates to a pointer. 9. The system of claim 8, wherein an error message is generated in response to the parser determining that the preceding operand is not a pointer. 10. The system of claim 8, wherein the parsed source code is received by the analyzer, the analyzer evaluating the parsed code to determine if the following operand evaluates to a pointer. 11. The system of claim 10, wherein an error message is generated in response to the parser determining that the following operand is not a pointer. 12. The system of claim 10, wherein the generator receives the analyzed source code from the analyzer and generates executable code from the analyzed code for determining if the first operand and the second operand point to different memory locations. 13. The system of claim 12, wherein the executable code is executed and returns a value of true if the first operand and the second operand point to different memory locations and returns a value of false if the first operand and the second operand point to the same memory location. 14. The system of claim 12, wherein the generated executable code is a non-device-specific intermediate code, capable of being executed by the execution environment. 15. A method for producing executable code for performing an object non-equivalence comparison comprising: receiving source code comprising at least one statement comprising a keyword representing a logical operator, a first operand preceding the keyword and a second operand following the keyword; and generating from the source code, executable code for evaluating the statement to true if the first operand and the second operand point to different locations in memory and to false if the first operand and the second operand point to the same locations in memory. 16. The method of claim 15, further comprising: scanning the source code to recognize the keyword. 17. The method of claim 16, further comprising: parsing the scanned source code to determine that the keyword is preceded by a first operand that represents a class and followed by a second operand that represents a class. 18. The method of claim 17, further comprising: evaluating the parsed source code to determine that the first operand and second operand are pointers. 19. The method of claim 18, wherein executable code for performing an object non-equivalence comparison is generated from the evaluated code. 20. The method of claim 15 wherein the source code is BASIC code. 21. A computer-readable medium comprising computer-executable instructions for: receiving source code comprising at least one statement comprising a keyword representing a logical operator, and a first operand and a second operand; and generating from the source code, executable code for the at least one statement, the executable code evaluating to true when the first operand points to a first location in memory and the second operand points to a second location in memory that is different from the first location in memory, the at least one statement evaluating to false when the first operand and the second operand point to the same location in memory. 22. The computer-readable medium of claim 21, comprising further instructions for: scanning the source code to recognize the keyword. 23. The computer-readable medium of claim 22, comprising further instructions for: parsing the scanned source code to determine that the keyword is preceded by a first operand that represents a class and followed by a second operand that represents a class. 24. The computer-readable medium of claim 23, comprising further instructions for: evaluating the parsed source code to determine that the first operand and second operand are pointers.
Attachments
- image/gif attachment: slc.gif
- image/gif attachment: topicpatents.gif
Received on Friday, 19 November 2004 18:54:21 UTC