From d8a4d498a6a0d1d34e25b6838b6450bd7d3e646f Mon Sep 17 00:00:00 2001 From: dos-reis Date: Thu, 22 May 2008 15:25:13 +0000 Subject: Avoid numeric constants macros. --- src/hyper/token.h | 370 +++++++++++++++++++++++++++--------------------------- 1 file changed, 184 insertions(+), 186 deletions(-) (limited to 'src/hyper/token.h') diff --git a/src/hyper/token.h b/src/hyper/token.h index 24a3c3f3..78d8dafb 100644 --- a/src/hyper/token.h +++ b/src/hyper/token.h @@ -57,203 +57,201 @@ typedef struct Token { /* User tokens. ie, these can be found on a page */ - -#define Word 1 -#define Page 2 -#define Lispcommandquit 3 -#define BoldFace 4 -#define Link 5 -#define Downlink 6 -#define Beginscroll 7 -#define Spadcommand 8 -#define NoLines 9 -#define Env 10 -#define Par 11 -#define Center 12 -#define Begin 13 -#define Beginitems 14 -#define Item 15 -#define Table 16 -#define Box 17 -#define Tab 18 -#define Space 19 -#define Indent 20 -#define Horizontalline 21 -#define Newline 22 -#define Enditems 23 -#define Returnbutton 24 -#define Memolink 25 -#define Upbutton 26 -#define Endscroll 27 -#define Thispage 28 -#define Returnto 29 -#define Free 30 -#define Bound 31 -#define Lisplink 32 -#define Unixlink 33 -#define Mbox 34 -#define Inputstring 35 -#define StringValue 36 -#define Spadlink 37 -#define Inputbitmap 38 -#define Inputpixmap 39 -#define Unixcommand 40 -#define Emphasize 41 -#define Lispcommand 42 -#define LispMemoLink 43 -#define LispDownLink 44 -#define Spadcall 45 -#define Spadcallquit 46 -#define Spaddownlink 47 -#define Spadmemolink 48 -#define Qspadcall 49 -#define Qspadcallquit 50 -#define SimpleBox 51 -#define Radioboxes 52 -#define BoxValue 53 -#define VSpace 54 -#define HSpace 55 -#define NewCommand 56 -#define WindowId 57 -#define Beep 58 -#define Quitbutton 59 -#define Begintitems 60 -#define Titem 61 -#define End 62 -#define It 63 -#define Sl 64 -#define Tt 65 -#define Rm 66 -#define Ifcond 67 -#define Else 68 -#define Fi 69 -#define Newcond 70 -#define Setcond 71 -#define Button 72 -#define Windowlink 73 -#define Haslisp 74 -#define Hasup 75 -#define Hasreturn 76 -#define Hasreturnto 77 -#define Lastwindow 78 -#define Endtitems 79 -#define Lispwindowlink 80 -#define Beginpile 81 -#define Endpile 82 -#define Nextline 83 -#define Pastebutton 84 -#define Color 85 -#define Helppage 86 -#define Patch 87 -#define Radiobox 88 -#define ifrecond 89 -#define Math 90 -#define Mitem 91 -#define Pagename 92 -#define Examplenumber 93 -#define Replacepage 94 -#define Inputimage 95 -#define Spadgraph 96 -#define Indentrel 97 -#define Controlbitmap 98 - -#define NumberUserTokens 98 - - -extern char *token_table[]; - - -/* places from which input may be read */ -#define FromFile 1 -#define FromString 2 -#define FromSpadSocket 3 -#define FromUnixFD 4 - -extern FILE *unixfd; +typedef enum openaxiom_token_kind { + Word = 1, + Page = 2, + Lispcommandquit = 3, + BoldFace = 4, + Link = 5, + Downlink = 6, + Beginscroll = 7, + Spadcommand = 8, + NoLines = 9, + Env = 10, + Par = 11, + Center = 12, + Begin = 13, + Beginitems = 14, + Item = 15, + Table = 16, + Box = 17, + Tab = 18, + Space = 19, + Indent = 20, + Horizontalline = 21, + Newline = 22, + Enditems = 23, + Returnbutton = 24, + Memolink = 25, + Upbutton = 26, + Endscroll = 27, + Thispage = 28, + Returnto = 29, + Free = 30, + Bound = 31, + Lisplink = 32, + Unixlink = 33, + Mbox = 34, + Inputstring = 35, + StringValue = 36, + Spadlink = 37, + Inputbitmap = 38, + Inputpixmap = 39, + Unixcommand = 40, + Emphasize = 41, + Lispcommand = 42, + LispMemoLink = 43, + LispDownLink = 44, + Spadcall = 45, + Spadcallquit = 46, + Spaddownlink = 47, + Spadmemolink = 48, + Qspadcall = 49, + Qspadcallquit = 50, + SimpleBox = 51, + Radioboxes = 52, + BoxValue = 53, + VSpace = 54, + HSpace = 55, + NewCommand = 56, + WindowId = 57, + Beep = 58, + Quitbutton = 59, + Begintitems = 60, + Titem = 61, + End = 62, + It = 63, + Sl = 64, + Tt = 65, + Rm = 66, + Ifcond = 67, + Else = 68, + Fi = 69, + Newcond = 70, + Setcond = 71, + Button = 72, + Windowlink = 73, + Haslisp = 74, + Hasup = 75, + Hasreturn = 76, + Hasreturnto = 77, + Lastwindow = 78, + Endtitems = 79, + Lispwindowlink = 80, + Beginpile = 81, + Endpile = 82, + Nextline = 83, + Pastebutton = 84, + Color = 85, + Helppage = 86, + Patch = 87, + Radiobox = 88, + ifrecond = 89, + Math = 90, + Mitem = 91, + Pagename = 92, + Examplenumber = 93, + Replacepage = 94, + Inputimage = 95, + Spadgraph = 96, + Indentrel = 97, + Controlbitmap = 98, + NumberUserTokens = 98, /* * Here are the system tokens. These are used internally to help * with parsing and displaying of text */ - -#define SystemTokens 1001 -#define Lbrace 1001 -#define Rbrace 1002 -#define Macro 1003 -#define Group 1004 -#define Scrollbar 1005 -#define Pound 1006 -#define Lsquarebrace 1007 -#define Rsquarebrace 1008 -#define Punctuation 1009 -#define Dash 1010 -#define Tableitem 1011 -#define Scrollingnode 1012 -#define Headernode 1013 -#define Footernode 1014 -#define Verbatim 1015 -#define Scroll 1016 -#define Dollar 1017 -#define Percent 1018 -#define Carrot 1019 -#define Underscore 1020 -#define Tilde 1021 -#define Cond 1022 -#define Noop 1023 -#define Description 1024 -#define Icorrection 1025 -#define Boxcond 1026 -#define Unkeyword 1027 -#define Titlenode 1028 -#define Paste 1029 -#define Spadsrc 1030 -#define Helpbutton 1031 -#define Spadsrctxt 1032 - - + SystemTokens = 1001, + Lbrace = 1001, + Rbrace = 1002, + Macro = 1003, + Group = 1004, + Scrollbar = 1005, + Pound = 1006, + Lsquarebrace = 1007, + Rsquarebrace = 1008, + Punctuation = 1009, + Dash = 1010, + Tableitem = 1011, + Scrollingnode = 1012, + Headernode = 1013, + Footernode = 1014, + Verbatim = 1015, + Scroll = 1016, + Dollar = 1017, + Percent = 1018, + Carrot = 1019, + Underscore = 1020, + Tilde = 1021, + Cond = 1022, + Noop = 1023, + Description = 1024, + Icorrection = 1025, + Boxcond = 1026, + Unkeyword = 1027, + Titlenode = 1028, + Paste = 1029, + Spadsrc = 1030, + Helpbutton = 1031, + Spadsrctxt = 1032, /* * Here are the tokens used to mark the end to some sort of group of * tokens. ie, the tokens found in a centerline command */ + Endtokens = 2000, + End1 = 2001, + End2 = 2002, + Endbutton = 2003, + Endlink = 2004, + Endheader = 2005, + Endfooter = 2006, + Endscrolling = 2007, + Endgroup = 2008, + Endarg = 2009, + Endbox = 2010, + Endmbox = 2011, + Endspadcommand = 2012, + Endpix = 2013, + Endmacro = 2014, + Endparameter = 2015, + Endtable = 2016, + Endtableitem = 2017, + End3 = 2018, + Endif = 2019, + Enddescription = 2020 + Endinputbox = 2021, + Endtitle = 2022, + Endpastebutton = 2023, + + Endtypes = 3000, + Endpage = 3002, + EndScroll = 3007, /* had to use a S because Endscroll is + already a keyword */ + + Endcenter = 3012, + EndItems = 3014, /* Same thing here as EndScroll except + with the i */ + EndTitems = 3060, /* Ibid for the T */ + Endpatch = 3087, + Endverbatim = 4015, + Endmath = 4016, + Endpaste = 4029, + Endspadsrc = 4030 +} openaxiom_token_kind; -#define Endtokens 2000 -#define End1 2001 -#define End2 2002 -#define Endbutton 2003 -#define Endlink 2004 -#define Endheader 2005 -#define Endfooter 2006 -#define Endscrolling 2007 -#define Endgroup 2008 -#define Endarg 2009 -#define Endbox 2010 -#define Endmbox 2011 -#define Endspadcommand 2012 -#define Endpix 2013 -#define Endmacro 2014 -#define Endparameter 2015 -#define Endtable 2016 -#define Endtableitem 2017 -#define End3 2018 -#define Endif 2019 -#define Enddescription 2020 -#define Endinputbox 2021 -#define Endtitle 2022 -#define Endpastebutton 2023 -#define Endtypes 3000 -#define Endpage 3002 -#define EndScroll 3007 /* had to use a S because Endscroll is - already a keyword */ +extern char *token_table[]; + -#define Endcenter 3012 -#define EndItems 3014 /* Same thing here as EndScroll except - with the i */ -#define EndTitems 3060 /* Ibid for the T */ -#define Endpatch 3087 -#define Endverbatim 4015 -#define Endmath 4016 -#define Endpaste 4029 -#define Endspadsrc 4030 +/* places from which input may be read */ +typedef enum openaxiom_input_kind { + FromFile = 1, + FromString = 2, + FromSpadSocket = 3, + FromUnixFD = 4 +} openaxiom_input_kind; + +extern FILE *unixfd; #endif -- cgit v1.2.3