aboutsummaryrefslogtreecommitdiff
path: root/TextFormat.md
diff options
context:
space:
mode:
authorMichael Holman <michael.holman@microsoft.com>2015-06-10 11:09:02 -0700
committerMichael Holman <michael.holman@microsoft.com>2015-06-10 11:09:02 -0700
commit33991c2b678f17ee31b7d960ae12287fc61c2192 (patch)
treee1f050644d28a250c5d70f54a53323e4140452c0 /TextFormat.md
parent02392279b0c5d5f37bea0c9989ddda1c88080205 (diff)
parent28ff0b98a0dbeae639c07e52d4750c575368e1e1 (diff)
downloadnanowasm-design-33991c2b678f17ee31b7d960ae12287fc61c2192.tar.gz
Merge branch 'master' into abi
Conflicts: FutureFeatures.md MVP.md
Diffstat (limited to 'TextFormat.md')
-rw-r--r--TextFormat.md25
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.