diff options
| author | Michael Holman <michael.holman@microsoft.com> | 2015-06-10 11:09:02 -0700 |
|---|---|---|
| committer | Michael Holman <michael.holman@microsoft.com> | 2015-06-10 11:09:02 -0700 |
| commit | 33991c2b678f17ee31b7d960ae12287fc61c2192 (patch) | |
| tree | e1f050644d28a250c5d70f54a53323e4140452c0 /TextFormat.md | |
| parent | 02392279b0c5d5f37bea0c9989ddda1c88080205 (diff) | |
| parent | 28ff0b98a0dbeae639c07e52d4750c575368e1e1 (diff) | |
| download | nanowasm-design-33991c2b678f17ee31b7d960ae12287fc61c2192.tar.gz | |
Merge branch 'master' into abi
Conflicts:
FutureFeatures.md
MVP.md
Diffstat (limited to 'TextFormat.md')
| -rw-r--r-- | TextFormat.md | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/TextFormat.md b/TextFormat.md new file mode 100644 index 0000000..0a64157 --- /dev/null +++ b/TextFormat.md @@ -0,0 +1,25 @@ +# Text Format + +The purpose of this text format is to support: +* View Source on a WebAssembly module, thus fitting into the Web (where every + source can be viewed) in a natural way. +* Presentation in browser development tools when source maps aren't present + (which is necessarily the case with the MVP). +* Writing WebAssembly code directly for reasons including pedagogical, + experimental, debugging, optimization, and testing of the spec itself. + +The text format is equivalent and isomorphic to the [binary format](BinaryEncoding.md). + +The text format will be standardized, but only for tooling purposes: +* Compilers will support this format for `.S` and inline assembly. +* Debuggers and profilers will present binary code using this textual format. +* Browsers will not parse the textual format on regular web content in order to + implement WebAssembly semantics. + +Given that the code representation is actually an +[Abstract Syntax Tree](ASTSemantics.md), the syntax would contain nested +statements and expressions (instead of the linear list of instructions most +assembly languages have). + +There is no requirement to use JavaScript syntax; this format is not intended to +be evaluated or translated directly into JavaScript. |
