# US 2008/0189683 A1 · Direct Access of Language Metadata

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2008/0189683 A1
- Document ID: US20080189683A1
- Status: Published application
- Kind: A1
- Application number: 11/670,916
- Filed: 2007-02-02
- Published: 2008-08-07
- Earliest claimed: 2007-02-02
- Assignees: Microsoft Corporation
- Inventors: Bruce Payette; George Xie; Jonathan M. Rowlett; Lee Holmes; Jeffrey P. Snover; Jim Truher
- Web page: https://patentgrep.com/patent/US20080189683A1

## CPC

- G06F 8/41: Compilation
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Method and system for direct access of language metadata are disclosed. In an implementation, the method includes receiving commands from a user to modify language metadata of a programming language. The metadata is modified based on the command and the modified metadata is utilized as a feature in the programming language at runtime.

## Claims

### Claim 1

A computing device comprising:
a memory;
one or more processors operatively coupled to the memory;
a compiler coupled to the one or more processors and memory generates an output program;
an interpreter that executes the output program; and
a language metadata provider that provides metadata requirements for the compiler and interpreter.

### Claim 2 (depends on 1)

The computing device of claim 1, wherein the language metadata provider is included in one of the compiler and the interpreter.

### Claim 3 (depends on 1)

The computing device of claim 1, wherein the compiler includes one or more of the following: a parse engine and a code generator.

### Claim 4 (depends on 1)

The computing device of claim 1, wherein the compiler includes a parse engine that transforms input script into a data structure that captures implied hierarchy of the input script.

### Claim 5 (depends on 1)

The computing device of claim 1, wherein the compiler includes a code generator that receives a parse tree and generates the output program.

### Claim 6 (depends on 1)

The computing device of claim 1, wherein the language metadata provider is included in one of the following: the compiler or the interpreter.

### Claim 7 (depends on 1)

The computing device of claim 1, wherein the language metadata provider is configured to receive commands from a user.

### Claim 8 (depends on 1)

The computing device of claim 1, wherein the language metadata provider further modifies language metadata of a programming language based on language metadata commands.

### Claim 9 (depends on 1)

The computing device of claim 1, wherein the language metadata provider is configured to manipulate language metadata at runtime and change language behavior.

### Claim 10

A compiler comprising:
a parse engine configured to receive input script;
a standard language grammar module that defines features of a programming language of the input script;
an active profile module that defines a sequence of namespaces; and
a language metadata provider that provides metadata requirements for the compiler.

### Claim 11 (depends on 10)

The compiler of claim 10, wherein standard language grammar module defines the features of the programming language in a standard language grammar to extract syntax information of the programming language.

### Claim 12 (depends on 10)

The compiler of claim 10, wherein the active profile module defines the sequence of namespaces, wherein the namespaces are implemented in an array, and each of the namespaces define particular elements.

### Claim 13 (depends on 10)

The compiler of claim 10, wherein the active profile module includes a dynamic collection of metadata used by the parse engine for parsing functions.

### Claim 14 (depends on 10)

The compiler of claim 10, wherein the language metadata provider includes namespace data utilized by the active profile module to provide nodes in a parse tree.

### Claim 15 (depends on 10)

The compiler of claim 10, wherein the language metadata provider includes provides logic for navigating and manipulating language metadata.

### Claim 16

A method comprising:
receiving commands to modify language metadata of a programming language;
modifying the language metadata at runtime based on the commands; and
utilizing the language metadata as a feature at runtime.

### Claim 17 (depends on 16)

The method of claim 16, wherein the receiving commands includes intercepting the commands, and generating and maintaining modifiable language metadata.

### Claim 18 (depends on 16)

The method of claim 16, wherein the modifying includes modifying namespace elements.

### Claim 19 (depends on 16)

The method of claim 16, wherein the utilizing includes utilizing the language metadata for inputs scripts and output programs.

### Claim 20 (depends on 16)

The method of claim 16, wherein the utilizing includes executing and parsing functions of the programming language.
