home *** CD-ROM | disk | FTP | other *** search
/ ProfitPress Mega CDROM2 …eeware (MSDOS)(1992)(Eng) / ProfitPress-MegaCDROM2.B6I / TEXT / INFO / FONOL400.ZIP / README < prev    next >
Encoding:
Text File  |  1991-04-17  |  13.7 KB  |  322 lines

  1.  
  2.                #########
  3.                #         #####    ##    #    #####    #
  4.                ######   #     #   # #   #   #     #   #
  5.                #        #     #   #  #  #   #     #   #
  6.                #        #     #   #   # #   #     #   #
  7.                #         #####    #    ##    #####    ######
  8.  
  9.  
  10.                ....  Phonological Programming Language  ....
  11.  
  12.                          Dr. Frank Roberts Brandon
  13.  
  14.                                Version 4.0.0
  15.                                15 April 1991
  16.  
  17.                           Copyright (c) 1983,1991
  18.  
  19.  
  20. General Introduction
  21.  
  22.      This section describes the conditions on distribution,
  23. support of the language, history, objectives and implementation,
  24. and gives a script for a quick start in using Fonol. Online, you
  25. can look in the table of contents (TOC) by typing ?/toc.
  26.  
  27.  
  28. Fonol Distribution
  29.  
  30.      Fonol is distributed with my blessings. You may give away
  31. copies to your heart's content so long as you do not charge for
  32. the copies and so long as you give all the distribution files in
  33. unmodified form.
  34.  
  35.  
  36. Fonol Support
  37.  
  38.      I intend to support Fonol as much as is possible with a
  39. spare time project and I welcome your bug reports and suggestions
  40. for improvements. When sending in bug reports, please give all
  41. the details of what happened including the matrix and rules you
  42. were trying to run. The transcription and batch file features
  43. will help in this (i.e. send a diskette with a batch file to set
  44. up the problem if it is at all complex). If you have the source
  45. code, please don't fix things yourself -- let me centralize the
  46. versions, OK? I also welcome any help on the documentation so as
  47. to make sure that it is clear.
  48.  
  49.      Positive reinforcement is naturally also welcome!
  50.  
  51.      My current address is:
  52.  
  53.      Frank R. Brandon 
  54.      3937 Anewby Way 
  55.      Fort Worth, TX 76133-6860
  56.  
  57.      (817) 294-0239.
  58.  
  59.  
  60. Porting Fonol
  61.  
  62.      Porting to other machines that run Pascal or C, especially
  63. Turbo Pascal, should be fairly transparent since I wrote Fonol
  64. as generically as possible. I developed this version of Fonol on
  65. an AT&T 6300 using Turbo Pascal 4.0, a version of Pascal that has
  66. incorporated many of the low level conveniences of C.
  67.  
  68.  
  69. Fonol Objectives
  70.  
  71.      Fonol is a programming language that simulates phonological
  72. rules of the sort described in Chomsky and Halle 'Sound Pattern
  73. of English' or Schane 'Generative Phonology'. It also
  74. incorporates the input and output filters (conditions) which came
  75. into common use about the same time. These filters are currently
  76. restricted to the identification of a pattern and two actions:
  77. preventing the successful application of a specific rule or
  78. blocking (starring) the entire derivation. Some standard
  79. conventions on rule application are supported. Cycles of several
  80. types are allowed for and other means of appropriate control are
  81. also provided. Further extensions, variations, and deviations
  82. are included from later phonological folklore. (Let me know if
  83. there is something truly vital missing -- I'll try to add it if I
  84. can.) Fonol is designed to provide a way of writing phonological
  85. rules and viewing their effects. It is intended to aid students
  86. of phonology to grasp the ideas behind phonological rules and to
  87. help phonologists manage large complex bodies of rules in the
  88. theory of their choice. Considering how many competing theories
  89. and partial theories of phonology exist, it may fail in the
  90. second case, even though I would like to accommodate as many
  91. theoretical variations as possible. Since an attempt will be made
  92. to provide for all theories, those who use more restrictive
  93. theories will simply have to avoid using some features of the
  94. Fonol language. In any case, it should be useful for students and
  95. in beginning work on undescribed phonological systems. In some
  96. cases, Fonol will allow for the same effects as theoretical
  97. systems it does not directly support. In this case, try using
  98. what is provided and fixing up or beautifying your rules when you
  99. put them in paper form. A program written for the IBMs character
  100. oriented display is not able to directly print the
  101. typographically complex forms of phonological rules, anyway.
  102. Computer simulation of phonological rules helps to advance the
  103. broad generative program as well, in that no amount of
  104. hand-waving on the part of the rule writer or good will on the
  105. part of the rule reader will have any effect on the way the
  106. software interprets what is written. In this sense, it forces the
  107. clarification of our ideas just as the whole explicit rule
  108. writing approach was meant to, only without any generosity in
  109. assumptions. In the 'wins-no-friends' department, it also has
  110. been beneficial in revealing how many 'radically new' ideas are
  111. reinventions of the wheel and in raising the question of how we
  112. select one theory over another of similar descriptive power --
  113. the problem of notational variants. I personally do not want to
  114. solve all these problems by myself. For this reason, you will
  115. find the documentation to be written in an informal style and
  116. filled with invitations for you to write me with your ideas.
  117.  
  118.  
  119. Fonol History
  120.  
  121.      Fonol 1.0 was written in Microsoft's MBasic 5.2 under CP/M
  122. in 1983 while I was employed in the Linguistics Department at
  123. the Universidade Estadual de Campinas. A paper on it ('A
  124. Phonological Rule Interpreter for Microcomputers') was eventually
  125. published in 1985 in the Proceedings of the Eleventh
  126. International Conference of the Association for Literary and
  127. Linguistic Computing ["Computers in Literary and Linguistic
  128. Computing", Slatkine Reprints, Rue des Chaudronniers, 5 - Case
  129. 765, CH-1211 Geneve 3, Swi tzerland]. Intermediate versions
  130. through 3.0. were written in my spare time after work while I
  131. was employed in the Human Factors Technology Group at General
  132. Dynamics-Fort Worth. There was a hiatus of three years between
  133. version 3.0. and 3.1.0 due to lack of interest. This dearth of
  134. stimulus was broken in late 1990 by Dr. Wayne Redenbarger --
  135. to whom much appreciation! Recent versions from 3.1.0 to 4.0.0
  136. were funded in part by Aetna Insurance and the Social
  137. Security Administration, I suppose, since they've been written
  138. while I've been on disability leave and under treatment. The
  139. present version is written in Borland's Turbo Pascal 4.0 under
  140. MS-DOS. The name 'Fonol' was chosen for similarities to Cobol,
  141. Snobol, Algol, etc. and because, since I was teaching in Brazil
  142. at the time, it seemed like a good abbreviation of 'Linguagem de
  143. Programaçäo Fonológica'. I forgot that some people don't speak
  144. Portuguese.
  145.  
  146.  
  147. Printing Fonol Documentation
  148.  
  149.      The documentation is currently being maintained in Sprint
  150. 1.0. Low ASCII (<32) are formatting codes which I use mostly for
  151. screen printing and for marking words to be used in the help
  152. index. You should find one line beginning with ^K which is the
  153. ruler line and various strings beginning with ^B, ^U, or ^D and
  154. ending with ^N which are the Bold, Underline, and inDexed
  155. strings. ^_ is the 'soft' carriage return symbol for line breaks
  156. in paragraphs. ^L is a page break. The IBM high ASCII set (>127)
  157. may cause problems to your printer -- on my Epson I have to set
  158. some dip switches to print them, for example. I am trying to
  159. figure out how to maintain the documentation in a way that anyone
  160. can print and still not lose formatting.
  161.  
  162.  
  163. Setting Up On-Line Help
  164.  
  165.      Fonol.exe is distributed with FONOL.DOC and DOC-HELP.exe,
  166. the program that converts FONOL.DOC to the FH-xxxxx help files
  167. found in \FONHELP. To set up the on-line help, you should put
  168. fonol.exe, doc-help.exe, fonol.doc into some convenient
  169. subdirectory or onto some disk. Log in to that subdirectory or
  170. disk drive. Now type mkdir fonhelp to put ..\fonhelp into your
  171. current directory. Then type doc-help and hit return. It will ask
  172. you if you have done the preceding steps. Just hit return again
  173. and ..\ fonhelp will be filled with the files used by on-line
  174. help. This method is used so that consistency is maintained
  175. between the printed documentation and the on-line documentation.
  176. If you want to edit FONOL.DOC and make changes which will
  177. appear when help is invoked you will have to run DOC-HELP with
  178. FONOL.DOC and the ..\FONHELP subdirectory again. Doc-Help tries
  179. to lemmatize a bit by removing suspected plurals from words
  180. read from boldface titles
  181.  
  182.  
  183. On-line Help
  184.  
  185. ?
  186.      Displays this information about on-line help. The help
  187. function allows you to read all the documentation for Fonol from
  188. within Fonol as described below.
  189.  
  190. ?!
  191.      Explains the last three system messages in more detail if
  192. such information is available by bringing up the appropriate
  193. sections of this documentation. This is a way of supplying hints
  194. for problems, especially multiple problems, while avoiding too
  195. much verbosity in the standard error messages.
  196.  
  197. ?/~
  198.      The tilde (~) is used to represent all special characters.
  199. This command will show how to enter special characters (see
  200. Edit).
  201.  
  202. ?/string
  203.      String is explained. It may be a command letter, a word,
  204. a section number or some symbol that is used in Fonol. All
  205. current support may be found on-line: try typing something in, it
  206. will provide some kind of aid, even if it is only a list of the
  207. indexed terms most similar to string.
  208.  
  209. ?/toc
  210.      This command will show the Table of Contents (TOC) of the
  211. Fonol documentation (Fonol.doc). Section numbers or words or
  212. symbols in section titles may be looked up with ?/string. Words
  213. or symbols may reference several sections, so section numbers
  214. will be less 'verbose'.
  215.  
  216. Help Messages:
  217.      ** Help Table of Contents Overflow **
  218.      ** Help Index Overflow **
  219.           The last edit of Fonol.doc blew out the limits. This should
  220.           never happen to you unless you decide to fix or customize
  221.           the documentation. Write me.
  222.      * Help Index Not Found *
  223.        Check Location of ..\fonhelp
  224.           Help was invoked, but the \fonhelp subdirectory was not
  225.           found on the current logged drive in the directory
  226.           containing Fonol.exe or no index file was in the
  227.           subdirectory.
  228.      * Missing Files in Help Subdirectory *
  229.           The subdirectory was found with an index file, but it is
  230.           incomplete. Better look it over and perhaps run Doc-help
  231.           again.
  232.      Search Failed In: X1..X5
  233.           Shows the five items in the midst of which the search
  234.           failed. This provides some clues when you are hunting around
  235.           for information.
  236.  
  237.  
  238. Quick Start in Fonol
  239.  
  240.      If you can't stand reading documentation, then please follow
  241. this script to get started:
  242.  
  243.     --Type fonol at the A> prompt and hit Return.
  244.  
  245.     --When you see the cursor flashing after the Fnl: prompt then
  246. enter 'a --> b __d' and hit Return. You will see an error message
  247. with the Atn: prompt followed by a Rec: prompt with what you
  248. entered. This means you have an opportunity to recuperate the
  249. rule or recover from the error.
  250.  
  251.     --Now use the arrows to go into the rule and put a '/'
  252. between b and the '__'. Take this opportunity to remove any
  253. single quotes you may have entered. Now hit Return.
  254.  
  255.     --Now type d. You will see your rule and some information
  256. about space usage.
  257.  
  258.     --Now type '<<cad' and hit Return. If you left out the single
  259. quotes then you will see your rule apply and yield 'cbd'.
  260.  
  261.     --Now type 'l/swa.max' to load the demo Swahili phonological
  262. matrix. Type 'm' and hit return to see the matrix (F9 to exit
  263. again).
  264.  
  265.     --Type l/swa and hit Return and the swa.fon file of rules for
  266. Swahili will be loaded. Your rule is lost.
  267.  
  268.     --Type d/symbols and hit Return and you will see a list of
  269. the phonemes, features, and other symbols loaded in.
  270.  
  271.     --Type d/ and hit Return and the rules will be displayed. The
  272. ][ lines are declarations, mostly abbreviations to provide
  273. 'syntactic sugar'. The rules with --> are obvious. The ones with
  274. * are input and output conditions.
  275.  
  276.     --Now when the Fnl: prompt reappears, type << [A# Cl9 + pya
  277. #] and hit Return. The rules will be applied and those that do
  278. apply will be printed together with their effects. If you want to
  279. see a lot of these forms, type 'l/swa.fbf'. This will load and
  280. run a batch file of derivations. Keep hitting Q if you get bored,
  281. OK?
  282.  
  283.     --Display the rules with d/ again. Note the numbers? Pick a
  284. rule at random and from the Fnl: prompt type i/ N where N is the
  285. number of the rule. Now type '[] this is my comment' and hit
  286. Return. If you left out the single quotes, then there will be no
  287. error message, otherwise use backspace or ^g or DEL to delete the
  288. first one at least and hit Return again. You will still see the
  289. Ins: prompt. Hit return on an empty line or ESC or ^y and you
  290. will be back at the Fnl: prompt. Now redisplay the rules. Note wh
  291. ere your comment went and the way the other rules have been
  292. renumbered. Now take the number of your rule and type r/
  293. number. Redisplay the rules and you will see that yours is now
  294. gone and the numbering is as it was previously.
  295.  
  296.      --You could type 'l/demo.fbf' to see the English, Turkish,
  297. and Swahili demo rule sets loaded and applied to some forms,
  298. or...
  299.  
  300.      --Type x/ to exit Fonol; say 'no' to its suggestion that you
  301. save the edited rules; and now please do familiarize yourself
  302. with the documentation!
  303.  
  304.  
  305. Fonol Files Supplied
  306.  
  307.     Fonol.exe
  308.     Fonol.doc
  309.     Doc-Help.exe  (Utility that converts Fonol.doc into on-line help
  310.                    files which are kept in a subdirectory called
  311.                    ..\fonhelp)
  312.    (Sample matrices and rule sets for various languages)
  313.     Swa.Max
  314.     Swa.Fon
  315.     Turk.Max
  316.     Turk.Fon
  317.     SPE-ex.Max    (English rules from Sound Pattern of English)
  318.     SPE-ex.Fon
  319.     TestPat.Max   (to practice moving columns and rows in the matrix)
  320.    (Sample batch files of base forms)
  321.     Swa.FBF, Turk.FBF, Demo.FBF
  322.