about summary refs log tree commit diff stats
path: root/subx/011parse.cc
diff options
context:
space:
mode:
authorKartik Agaram <vc@akkartik.com>2018-07-25 16:40:00 -0700
committerKartik Agaram <vc@akkartik.com>2018-07-25 16:40:00 -0700
commit3d3cb2a166b54e0ce990e420c64f9c37a88f0d7e (patch)
treebb5dd17dbd79602a322f668222f1aea0e1b5f364 /subx/011parse.cc
parentb22e5e144787370ea5d0a715e6979d2b987d4295 (diff)
downloadmu-3d3cb2a166b54e0ce990e420c64f9c37a88f0d7e.tar.gz
4409
Word-wrap online help.

Fixes #8.
Diffstat (limited to 'subx/011parse.cc')
-rw-r--r--subx/011parse.cc34
1 files changed, 25 insertions, 9 deletions
diff --git a/subx/011parse.cc b/subx/011parse.cc
index 3874e72f..639299df 100644
--- a/subx/011parse.cc
+++ b/subx/011parse.cc
@@ -3,18 +3,34 @@
 :(before "End Help Texts")
 put(Help, "syntax",
   "SubX programs consist of segments, each segment in turn consisting of lines.\n"
-  "Line-endings are significant; each line should contain a single instruction, macro or directive.\n"
-  "Comments start with the '#' character. It should be at the start of a word (start of line, or following a space).\n"
-  "Each segment starts with a header line: a '==' delimiter followed by the starting address for the segment.\n"
-  "The starting address for a segment has some finicky requirements. But just start with a round number, and `subx` will try to guide you to a valid configuration.\n"
-  "A good rule of thumb is to try to start the first segment at the default address of 0x08048000, and to start each subsequent segment at least 0x1000 (most common page size) bytes after the last.\n"
-  "If a segment occupies than 0x1000 bytes you'll need to push subsequent segments further down.\n"
-  "Currently only the first segment contains executable code (because it gets annoying to have to change addresses in later segments every time an earlier one changes length; one of those finicky requirements).\n"
+  "Line-endings are significant; each line should contain a single\n"
+  "instruction, macro or directive.\n"
   "\n"
-  "Lines consist of a series of words. Words can contain arbitrary metadata after a '/', but they can never contain whitespace. Metadata has no effect at runtime, but can be handy when rewriting macros.\n"
+  "Comments start with the '#' character. It should be at the start of a word\n"
+  "(start of line, or following a space).\n"
+  "\n"
+  "Each segment starts with a header line: a '==' delimiter followed by the\n"
+  "starting address for the segment.\n"
+  "\n"
+  "The starting address for a segment has some finicky requirements. But just\n"
+  "start with a round number, and `subx` will try to guide you to a valid\n"
+  "configuration.\n"
+  "A good rule of thumb is to try to start the first segment at the default\n"
+  "address of 0x08048000, and to start each subsequent segment at least 0x1000\n"
+  "(most common page size) bytes after the last.\n"
+  "If a segment occupies than 0x1000 bytes you'll need to push subsequent\n"
+  "segments further down.\n"
+  "Currently only the first segment contains executable code (because it gets\n"
+  "annoying to have to change addresses in later segments every time an earlier\n"
+  "one changes length; one of those finicky requirements).\n"
+  "\n"
+  "Lines consist of a series of words. Words can contain arbitrary metadata\n"
+  "after a '/', but they can never contain whitespace. Metadata has no effect\n"
+  "at runtime, but can be handy when rewriting macros.\n"
   "\n"
   "Check out some examples in this directory (ex*.subx)\n"
-  "Programming in machine code can be annoying, but let's see if we can make it nice enough to be able to write a compiler in it.\n"
+  "Programming in machine code can be annoying, but let's see if we can make\n"
+  "it nice enough to be able to write a compiler in it.\n"
 );
 :(before "End Help Contents")
 cerr << "  syntax\n";