Patents by Inventor Cyrus Najmabadi
Cyrus Najmabadi has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 10403239Abstract: Systems, methods, and media for presenting panel-based electronic documents are provided. In accordance with some embodiments, systems for presenting panel-based electronic documents are provided, the system comprising: at least one processor programmed to: receive an electronic document, a definition of a first panel on a page in the electronic document, and a definition of a second panel on the page in the electronic document; control a display of the first panel based on the definition of the first panel; and transition from the display of the first panel to a display of the second panel by re-scaling the display and panning from the first panel to the second panel.Type: GrantFiled: December 19, 2017Date of Patent: September 3, 2019Assignee: Amazon Technologies, Inc.Inventors: David Timothy Steinberger, Cyrus Najmabadi
-
Patent number: 9886936Abstract: Systems, methods, and media for presenting panel-based electronic documents are provided. In accordance with some embodiments, systems for presenting panel-based electronic documents are provided, the systems comprising: at least one processor programmed to: receive an electronic document, a definition of a first panel on a page in the electronic document, and a definition of a second panel on the page in the electronic document; control a display of the first panel based on the definition of the first panel; and transition from the display of the first panel to a display of the second panel by re-scaling the display and panning from the first panel to the second panel.Type: GrantFiled: May 14, 2010Date of Patent: February 6, 2018Assignee: Amazon Technologies, Inc.Inventors: David Timothy Steinberger, Cyrus Najmabadi
-
Patent number: 9672585Abstract: Systems, methods, and media for presenting panel-based electronic documents are provided. In accordance with some embodiments, systems for presenting panel-based electronic documents are provided, the systems comprising: at least one processor programmed to: receive an electronic document, a definition of a first panel on a page in the electronic document, and a definition of a second panel on the page in the electronic document; control a display of the first panel based on the definition of the first panel; and transition from the display of the first panel to a display of the second panel by re-scaling the display and panning from the first panel to the second panel.Type: GrantFiled: December 4, 2015Date of Patent: June 6, 2017Assignee: Amazon Technologies, Inc.Inventors: David Timothy Steinberger, Cyrus Najmabadi
-
Patent number: 9182980Abstract: An automated programming tool can receive program source code and can expand portions of the program source code to make to make identifiers explicit, insert sets of parenthesis and so on. Expansions can be kept track of so that reductions after refactoring can be confined to altered portions of the program source code.Type: GrantFiled: December 11, 2012Date of Patent: November 10, 2015Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC.Inventors: Dustin R. Campbell, Kevin Pilch-Bisson, Cyrus Najmabadi, David J. Poeschl, Vladimir Reshetnikov
-
Patent number: 8875089Abstract: A workspace model generates a component of a solution from an immutable object representing the solution at a given point in time. A component may be requested by an extension to an integrated development environment for the extension's use. The workspace model determines a sequence of operations needed to construct the requested component at the time the component is requested using the state of the solution represented through the immutable object. The immutable object allows the extension to access the requested component while the integrated development environment is used to alter the solution.Type: GrantFiled: December 5, 2011Date of Patent: October 28, 2014Assignee: Microsoft CorporationInventors: Matt Warren, Cyrus Najmabadi, Heejae Chang, Jason Malinowski, Kevin Pilch-Bisson, Dustin Campbell
-
Publication number: 20140289715Abstract: Immutable structures are employed to effect immutable parsing. In particular, a parsing configuration, comprising a stack and lookahead buffer, is utilized by a parser to perform lexical and syntactical analysis of an input stream and optionally output an immutable parse tree or the like, wherein at least one of the stack and buffer is immutable. Performance with respect to the immutable structures can be optimized utilizing sharing and lazy computation. In turn, immutability benefits are afforded with respect to parsing including safe sharing amongst services and/or across multiple threads as well as history preservation, among other things.Type: ApplicationFiled: June 2, 2014Publication date: September 25, 2014Inventors: Henricus Johannes Maria Meijer, John Wesley Dyer, Thomas Meschter, Cyrus Najmabadi
-
Patent number: 8762969Abstract: Immutable structures are employed to effect immutable parsing. In particular, an immutable parsing configuration, comprising a stack and lookahead buffer, is utilized by a parser to perform lexical and syntactical analysis of an input stream and optionally output an immutable parse tree or the like. Performance with respect to the immutable structures can be optimized utilizing sharing and lazy computation. In turn, immutability benefits are afforded with respect to parsing including safe sharing amongst services and/or across multiple threads as well as history preservation, among other things.Type: GrantFiled: August 7, 2008Date of Patent: June 24, 2014Assignee: Microsoft CorporationInventors: Henricus Johannes Maria Meijer, John Wesley Dyer, Thomas Meschter, Cyrus Najmabadi
-
Publication number: 20140165035Abstract: An automated programming tool can receive program source code and can expand portions of the program source code to make to make identifiers explicit, insert sets of parenthesis and so on. Expansions can be kept track of so that reductions after refactoring can be confined to altered portions of the program source code.Type: ApplicationFiled: December 11, 2012Publication date: June 12, 2014Applicant: Microsoft CorporationInventors: Dustin R. Campbell, Kevin Pilch-Bisson, Cyrus Najmabadi, David J. Poeschl, Vladimir Reshetnikov
-
Publication number: 20130145343Abstract: A workspace model generates a component of a solution from an immutable object representing the solution at a given point in time. A component may be requested by an extension to an integrated development environment for the extension's use. The workspace model determines a sequence of operations needed to construct the requested component at the time the component is requested using the state of the solution represented through the immutable object. The immutable object allows the extension to access the requested component while the integrated development environment is used to alter the solution.Type: ApplicationFiled: December 5, 2011Publication date: June 6, 2013Applicant: Microsoft CorporationInventors: MATT WARREN, Cyrus Najmabadi, Heejae Chang, Jason Malinowski, Kevin Pilch-Bisson, Dustin Campbell
-
Publication number: 20100318895Abstract: Systems, methods, and media for presenting panel-based electronic documents are provided. In accordance with some embodiments, systems for presenting panel-based electronic documents are provided, the systems comprising: at least one processor programmed to: receive an electronic document, a definition of a first panel on a page in the electronic document, and a definition of a second panel on the page in the electronic document; control a display of the first panel based on the definition of the first panel; and transition from the display of the first panel to a display of the second panel by re-scaling the display and panning from the first panel to the second panel.Type: ApplicationFiled: May 14, 2010Publication date: December 16, 2010Inventors: David Timothy Steinberger, Cyrus Najmabadi
-
Publication number: 20100037212Abstract: Immutable structures are employed to effect immutable parsing. In particular, an immutable parsing configuration, comprising a stack and lookahead buffer, is utilized by a parser to perform lexical and syntactical analysis of an input stream and optionally output an immutable parse tree or the like. Performance with respect to the immutable structures can be optimized utilizing sharing and lazy computation. In turn, immutability benefits are afforded with respect to parsing including safe sharing amongst services and/or across multiple threads as well as history preservation, among other things.Type: ApplicationFiled: August 7, 2008Publication date: February 11, 2010Applicant: MICROSOFT CORPORATIONInventors: Henricus Johannes Maria Meijer, John Wesley Dyer, Thomas Meschter, Cyrus Najmabadi
-
Publication number: 20100037213Abstract: Parsing functionality is automatically generated. In particular, abstract syntax tree types and/or other programmatic constructs are created automatically from a grammar specification in a manner that resembles hand-written code. An abstract syntax tree can subsequently be constructed as a function of the generated types. Further, a plurality of supporting functionality can be generated to consume or produce abstract syntax tree types, among other things.Type: ApplicationFiled: August 7, 2008Publication date: February 11, 2010Applicant: MICROSOFT CORPORATIONInventors: Henricus Johannes Maria Meijer, John Wesley Dyer, Thomas Meschter, Cyrus Najmabadi
-
Publication number: 20100023798Abstract: Error recovery and diagnosis is afforded for pushdown automata. Upon detection of an error, a recovery strategy is selected and dispatched to recover from the error to place an automaton in an error free state to enable continued processing. In one instance, recovery strategies can be specified and matched with respect to automaton configuration. Errors can be diagnosed as a function of the difference between a first error configuration and a second recovered configuration.Type: ApplicationFiled: July 25, 2008Publication date: January 28, 2010Applicant: MICROSOFT CORPORATIONInventors: Henricus Johannes Maria Meijer, John Wesley Dyer, Thomas Meschter, Cyrus Najmabadi
-
Publication number: 20100024030Abstract: Data transformation is lazily performed to facilitate reduced memory footprint, among other things. Rather than constituting an entire data structure, information is saved to enable iterative construction the structure. Moreover, an interface is afforded that appears to operate over a fully resolved structure but which is implemented on top of a restartable transformation mechanism that computes values in response to requests. These computed values could also be released based on one or more configurable policies.Type: ApplicationFiled: July 23, 2008Publication date: January 28, 2010Applicant: MICROSOFT CORPORATIONInventors: Henricus Johannes Maria Meijer, John Wesley Dyer, Thomas Meschter, Cyrus Najmabadi
-
Publication number: 20100023924Abstract: Parse tables or like representations are augmented with extension points to enable call out to arbitrary code. Such parse tables can be automatically generated from a specification including fixed information along with information about extensibility points provided. The extensibility points enable incorporation of dynamic data into a fixed parse table. In one instance, this allows a parser to determine if a character is acceptable at the time of execution rather than when the parse table was defined.Type: ApplicationFiled: July 23, 2008Publication date: January 28, 2010Applicant: MICROSOFT CORPORATIONInventors: Henricus Johannes Maria Meijer, John Wesley Dyer, Thomas Meschter, Cyrus Najmabadi
-
Publication number: 20100010801Abstract: A plethora of strategies is afforded to facilitate conflict resolution and error recovery with respect to parsing, among other things. Grammar authors can select amongst a range of strategies or options on a case-by-case basis to address conflicts, ambiguities, errors, and the like. The strategies can be either static or dynamic. In one instance, code external to a parsing system can be invoked to resolve conflicts or recover from errors, and further enable change of strategy without requiring modification of the parser. Interaction between the parsing system and the external code can also be formalized to ensure general type safety of the system.Type: ApplicationFiled: July 11, 2008Publication date: January 14, 2010Applicant: MICROSOFT CORPORATIONInventors: Henricus Johannes Maria Meijer, John Wesley Dyer, Thomas Meschter, Cyrus Najmabadi
-
Publication number: 20070044066Abstract: Multiple programming languages can be embedded and supported within a single source. Programs nested with syntax from a plurality of languages (e.g., C#, SQL, XML . . . ), among other things, enable users to avail themselves of advantageous aspects of different languages for particular tasks. Language services that provide language specific functionality including but not limited to formatting, intelligent assist, auto completion, and coloring, can be employed and switched between to afford support for their respective languages in a mixed language source program. Similarly, mixed language programs can be compiled with language specific services or systems such as parsers, scanners and the like to process corresponding code portions.Type: ApplicationFiled: August 19, 2005Publication date: February 22, 2007Applicant: Microsoft CorporationInventors: Henricus Meijer, Brian Beckman, Avner Aharoni, David Schach, Peter Drayton, Ralf Lammel, Jose Blakeley, Cyrus Najmabadi
-
Publication number: 20060277525Abstract: A mechanism is provided for inferring a computer user's intent in developing computer system code. Specifically, an inference mechanism is provided that can infer a user's intent at least on three levels: a lexical level, a syntactic level, and a semantic level. The inference mechanism employs various rule-based and heuristic-based techniques including type coercion, scope proximity, parameter count and arguments, and so on. Various inference mechanism controls are also employed to increase inference robustness, including timing of making suggestions, the number of suggestions, and the extensibility of suggestions.Type: ApplicationFiled: June 6, 2005Publication date: December 7, 2006Applicant: Microsoft CorporationInventors: Cyrus Najmabadi, Anson Horton