(Cat? OR feline) AND NOT dog?
Cat? W/5 behavior
(Cat? OR feline) AND traits
Cat AND charact*

This guide provides a more detailed description of the syntax that is supported along with examples.

This search box also supports the look-up of an IP.com Digital Signature (also referred to as Fingerprint); enter the 72-, 48-, or 32-character code to retrieve details of the associated file or submission.

Concept Search - What can I type?

For a concept search, you can enter phrases, sentences, or full paragraphs in English. For example, copy and paste the abstract of a patent application or paragraphs from an article.

Concept search eliminates the need for complex Boolean syntax to inform retrieval. Our Semantic Gist engine uses advanced cognitive semantic analysis to extract the meaning of data. This reduces the chances of missing valuable information, that may result from traditional keyword searching.

Publishing Venue

Related People

Abstract

Programming most interesting applications requires that arrays must be used to store information to be manipulated later. For example, we have written a C program to handle menu processing. It needs arrays to hold various header lines, trailer lines and items among which the user can choose. Traditional methods require us to choose some arbitrary limit to the size of these arrays, if we want to use the efficient array operations built into most procedural languages. The problem is that a situation almost always comes up where the limit is too small. If the limit we choose is too large, the run time size of the module becomes proportionately larger. This can make undue demands on memory resources for other purposes (such as "heap" space).

Country

United States

Language

English (United States)

This text was extracted from an ASCII text file.

This is the abbreviated version, containing approximately
48% of the total text.

Programming
most interesting applications requires that arrays
must be used to store information to be manipulated later. For
example, we have written a C program to handle menu processing. It
needs arrays to hold various header lines, trailer lines and items
among which the user can choose.
Traditional methods require us to
choose some arbitrary limit to the size of these arrays, if we want
to use the efficient array operations built into most procedural
languages. The problem is that a
situation almost always comes up
where the limit is too small. If the
limit we choose is too large,
the run time size of the module becomes proportionately larger. This
can make undue demands on memory resources for other purposes (such
as "heap" space).

If the
programming language we use supports pointers to
arbitrary blocks of memory, we can use linked lists. However, using
linked lists adds an unnecessary level of complexity to the
programming itself as the programmer must maintain the pointers, etc.
This can be partially overcome by the use of encapsulation, i.e., by
writing functions that hide the linked-list implementation from the
programmer. However, hiding the
complexity from the programmer does
not hide it from the system.
Implementing variable-length arrays
using linked lists is relatively expensive in terms of both extending
the list and manipulating information stored in the list. Linked
lists also require additional memory for each element in the array to
store the pointer(s) along with the data.
Allocating memory at run
time imposes additional processing overhead, especially if "garbage
collection" could occur.

The invention
disclosed here first involves the use of virtual
memory segments to provide virtually unlimited length arrays in
programs. The method involves using a
segment for each unlimited
length array that is simultaneously needed.

This segment
can be dynamically extended when necessary when
the array itself is extended. Since the
memory behaves just like any
other memory in the system, subsequent manipulations do not suffer
any perfor mance penalty. Also, memory
usage over and above that for
the elements themselves is kept low.
Only a single block of memory
need be allocated to store information about the array (detailed
below), regardless of the size of the array.

Like the
linked-list method, there is some additional
programming complexity imposed on the programmer. We have

"encapsulated" (i.e., hidden) most of this
complexity through a set
of abstract functions:

1. CreateArray -
This function is used to allocate
a memory segment and
associate it
with a variable length array. It returns
array information
that
includes the associated memory
segment identifier and the
curr...