发明名称 |
Programming Language with Extensions using a Strict Meta-Model |
摘要 |
Systems and methods for extending a programming language with a set of extensions using a strict meta-model are disclosed. Embodiments provide a set of interfaces that allow a schema to be synthesized. Syntax is introduced into an existing programming language to allow the construction of schematized data objects. A schema processor module translates a schema representation into new keywords. A document generator module receives the set of keywords and produces output in a selected form. When code comprising the keyword extensions is parsed, AST nodes represent keyword actions as a set of functions and implements those function calls with the original meta-data. A keyword definition comprises a name and an action to be taken at parse time and an action to be taken at runtime. The default action at parse time is to inject a function call into the code. The default action at runtime is to call the function. |
申请公布号 |
US2014359586(A1) |
申请公布日期 |
2014.12.04 |
申请号 |
US201313921144 |
申请日期 |
2013.06.18 |
申请人 |
Microsoft Corporation |
发明人 |
Payette Bruce G.;Shirk Jason;Zhou Xiaoyong |
分类号 |
G06F9/45 |
主分类号 |
G06F9/45 |
代理机构 |
|
代理人 |
|
主权项 |
1. A computer-implemented method, comprising:
receiving source code for a programming language at a parser, the source code comprising a set of extensions to the programming language, the extensions defined by a user according to a keyword meta-model; translating the user-defined extensions using a schema processor that provides keyword definitions to the parser; and generating output code using a document generator that receives the keyword definitions from the parser. |
地址 |
Redmond WA US |