--- DATAFILES.html.orig Wed May 5 11:24:59 1999 +++ DATAFILES.html Wed May 12 11:18:51 1999 @@ -1,9 +1,10 @@ +
This document tries to explain how the syntax matching works. You propably don't want to know, but it's became so complex that I keep forgetting how it works. - +
Before parsing the program reads all .syntax files for parsing information, and .list files for list of registers etc. There is no limit for number of files, or syntaxes in them. @@ -16,7 +17,7 @@ Parsing rules: - Normal characters are matched exactly. - Space in parse description matches any amount of space in input line. -- `text´ inside '<>' is considered a special tag and parsed accordingly, +- `text´ inside '<>' is considered a special tag and parsed accordingly, after successfull match it's value is stored into a variable of the same name (`text´). @@ -25,12 +26,10 @@ Output rules: - Normal characters (including space) are copied to output. -- `text´ inside '<>' is replaced with value of a variable called `text´. - - - +- `text´ inside '<>' is replaced with value of a variable called `text´. +
.syntax file syntax: - parse rule @@ -44,12 +43,10 @@ val1 val2 ... - - - +
+Format of a tag is following: <tagnameN:hh>c, where - tagname is the name of the tag and the variable where the result is stored. - N an optional number (0-9) to store the result in different variable. - hh an optional hex bitmask (00-ff) for list matches, defaults to ff. @@ -66,12 +63,11 @@ * the output of amatching rule is stored in the variable. Special tags: -output a new line character - matches a '#' - - +<nl> output a new line character +<cm> matches a '#' +
Syntax files: main.syntax the basic syntax file num.syntax converts hex,dec,oct,bin numbers @@ -85,3 +81,4 @@ size.nn.list byte,dword... memory sizes, sets 'm' to match the proper b/w/l data.nn.list dd, db... sizes used in variable creation discard.nn.list short... discarded +