aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/eqn.7
diff options
context:
space:
mode:
authorKristaps Dzonsons <kristaps@bsd.lv>2011-07-21 23:30:39 +0000
committerKristaps Dzonsons <kristaps@bsd.lv>2011-07-21 23:30:39 +0000
commit1f1fa3776c03b51f845d9d9f54cbc3c980f6ead6 (patch)
tree203d6d6ad512f6d6a7d032cf8117556ef029a660 /eqn.7
parent3ee412a268eff0c9e52bb141dc3289eda00a6d53 (diff)
downloadmandoc-1f1fa3776c03b51f845d9d9f54cbc3c980f6ead6.tar.gz
mandoc-1f1fa3776c03b51f845d9d9f54cbc3c980f6ead6.tar.zst
mandoc-1f1fa3776c03b51f845d9d9f54cbc3c980f6ead6.zip
Complete eqn.7 parsing. Features all productions from the original 1975
CACM paper in an LR(1) parse (1 -> eqn_rewind()). Right now the code is a little jungly, but will clear up as I consolidate parse components. The AST structure will also be cleaned up, as right now it's pretty ad hoc (this won't change the parse itself). I added the mandoc_strndup() function will here.
Diffstat (limited to 'eqn.7')
-rw-r--r--eqn.78
1 files changed, 7 insertions, 1 deletions
diff --git a/eqn.7 b/eqn.7
index 0bf04700..4d00e89f 100644
--- a/eqn.7
+++ b/eqn.7
@@ -1,4 +1,4 @@
-.\" $Id: eqn.7,v 1.12 2011/07/21 15:21:13 kristaps Exp $
+.\" $Id: eqn.7,v 1.13 2011/07/21 23:30:39 kristaps Exp $
.\"
.\" Copyright (c) 2011 Kristaps Dzonsons <kristaps@bsd.lv>
.\"
@@ -69,9 +69,14 @@ box : text
| UNDEF text
| box pos box
| box mark
+ | pile { list }
| font box
| SIZE text box
+ | LEFT text box [RIGHT text]
text : TEXT
+pile : LPILE
+ | CPILE
+ | RPILE
pos : OVER
| SUP
| SUB
@@ -88,6 +93,7 @@ mark : DOT
font : ROMAN
| ITALIC
| BOLD
+list : eqn | list ABOVE eqn
.Ed
.Pp
Data in TEXT form is a non-empty sequence of non-space characters or a