Commits

Torr_Samaho committed 8cd49e0

Ported changes from ZDoom revision 537:
- Fixed: deadthings.txt contained a superfluous ';' which created parsing errors with my changed code.
- Cleaned up DECORATE parser a little - moved the old style parsing code into its own file and rearranged a few things.
- Made ProcessStates non-static so that it doesn't need to be passed as an argument to all functions in the DECORATE parser.
- Moved DECORATE parser files into their own subdirectory.
- Optimization: SC_GetToken no longer sets sc_name for identifiers. In most cases this creates needless overhead by adding a potentially unneeded name to the name table and looking up the name. In almost all cases where a name is needed it's as easy to assign sc_String to the name variable.
- Added enum definitions to DECORATE.

SVN r826 (trunk)

  • Participants
  • Parent commits 7ccbb0d

Comments (0)

Files changed (15)

File docs/Skulltag Version History.txt

 *+	- Completely revamped monster movement online! Monsters now move much more smoothly, and require far less bandwidth before. [Carnevil]
 *-	- Crash logs should finally work on all Windows machines. [Torr Samaho]
 +	- Upgraded the GZDoom renderer to 1.0.25! [Torr Samaho]
-+	- Ported all changes from ZDoom up to revision 529. [Torr Samaho]
++	- Ported all changes from ZDoom up to revision 537. [Torr Samaho]
 +	- Added client-side scripts! Scripts with the NET tag are now purely executed on the client end. This reduces bandwidth usage, and allows things like custom HUD displays to work properly. [Carnevil]
 +	- Added the dynamic light definitions for Heretic and Hexen from ZDoomGL. [Torr Samaho]
 +	- Added invasion spawners for Heretic! [Carnevil, Aabra, and Tun]

File src/info.cpp

 #include "cl_main.h"
 #include "network.h"
 
-extern void LoadDecorations (void (*process)(FState *, int));
+extern void LoadDecorations ();
 
 // Each state is owned by an actor. Actors can own any number of
 // states, but a single state cannot be owned by more than one
 //
 //==========================================================================
 
-static void ProcessStates (FState *states, int numstates)
+void ProcessStates (FState *states, int numstates)
 {
 	int sprite = -1;
 
 	}
 
 	Printf ("LoadDecorations: Load external actors.\n");
-	LoadDecorations (ProcessStates);
+	LoadDecorations ();
 }
 
 //==========================================================================
 
 int GetSpriteIndex(const char * spritename);
 void MakeStateNameList(const char * fname, TArray<FName> * out);
+void ProcessStates (FState *states, int numstates);
 
 #include "infomacros.h"
 

File src/r_things.cpp

 	if (thing == NULL ||
 		(thing->renderflags & RF_INVISIBLE) ||
 		thing->RenderStyle == STYLE_None ||
-		(thing->RenderStyle >= STYLE_Translucent && thing->alpha <= 0))
+ 		(thing->RenderStyle >= STYLE_Translucent && thing->alpha <= 0))
 	{
 		return;
 	}

File src/sc_man.cpp

 {
 	if (SC_ScanString (true))
 	{
-		if (sc_TokenType == TK_Identifier || sc_TokenType == TK_NameConst)
+		if (sc_TokenType == TK_NameConst)
 		{
 			sc_Name = FName(sc_String);
 		}
 		"'stop'",
 		"'eval'",
 		"'evalnot'",
+		"'pickup'",
+		"'breakable'",
+		"'projectile'",
+		"'#include'",
 	};
 
 	FString work;

File src/sc_man.h

 	TK_Stop,
 	TK_Eval,
 	TK_EvalNot,
+	TK_Pickup,
+	TK_Breakable,
+	TK_Projectile,
+	TK_Include,
 
 	TK_LastToken
 };

File src/sc_man_scanner.h

 	case 0x0B:
 	case 0x0C:
 	case 0x0D:
-	case ' ':	goto yy77;
-	case 0x0A:	goto yy79;
-	case '!':	goto yy53;
-	case '"':	goto yy30;
-	case '%':	goto yy43;
-	case '&':	goto yy45;
-	case '\'':	goto yy32;
-	case '(':	goto yy65;
-	case ')':	goto yy67;
-	case '*':	goto yy41;
-	case '+':	goto yy37;
-	case ',':	goto yy61;
-	case '-':	goto yy39;
-	case '.':	goto yy28;
+	case ' ':	goto yy78;
+	case 0x0A:	goto yy80;
+	case '!':	goto yy54;
+	case '"':	goto yy32;
+	case '#':	goto yy24;
+	case '%':	goto yy44;
+	case '&':	goto yy46;
+	case '\'':	goto yy33;
+	case '(':	goto yy66;
+	case ')':	goto yy68;
+	case '*':	goto yy42;
+	case '+':	goto yy38;
+	case ',':	goto yy62;
+	case '-':	goto yy40;
+	case '.':	goto yy30;
 	case '/':	goto yy2;
-	case '0':	goto yy25;
+	case '0':	goto yy27;
 	case '1':
 	case '2':
 	case '3':
 	case '6':
 	case '7':
 	case '8':
-	case '9':	goto yy27;
-	case ':':	goto yy63;
-	case ';':	goto yy55;
-	case '<':	goto yy35;
-	case '=':	goto yy51;
-	case '>':	goto yy33;
-	case '?':	goto yy75;
+	case '9':	goto yy29;
+	case ':':	goto yy64;
+	case ';':	goto yy56;
+	case '<':	goto yy36;
+	case '=':	goto yy52;
+	case '>':	goto yy34;
+	case '?':	goto yy76;
 	case 'A':
 	case 'a':	goto yy20;
 	case 'B':
 	case 'q':
 	case 'x':
 	case 'y':
-	case 'z':	goto yy24;
+	case 'z':	goto yy26;
 	case 'I':
 	case 'i':	goto yy11;
 	case 'L':
 	case 'v':	goto yy15;
 	case 'W':
 	case 'w':	goto yy16;
-	case '[':	goto yy69;
-	case ']':	goto yy71;
-	case '^':	goto yy47;
-	case '{':	goto yy57;
-	case '|':	goto yy49;
-	case '}':	goto yy59;
-	case '~':	goto yy73;
-	default:	goto yy81;
+	case '[':	goto yy70;
+	case ']':	goto yy72;
+	case '^':	goto yy48;
+	case '{':	goto yy58;
+	case '|':	goto yy50;
+	case '}':	goto yy60;
+	case '~':	goto yy74;
+	default:	goto yy82;
 	}
 yy2:
 	yyaccept = 0;
 	yych = *(YYMARKER = ++YYCURSOR);
 	if(yych <= '.') {
-		if(yych == '*') goto yy577;
+		if(yych == '*') goto yy605;
 	} else {
-		if(yych <= '/') goto yy575;
-		if(yych == '=') goto yy573;
+		if(yych <= '/') goto yy603;
+		if(yych == '=') goto yy601;
 	}
 yy3:
-#line 200 "src/sc_man_scanner.re"
+#line 206 "src/sc_man_scanner.re"
 	{ RET('/'); }
-#line 156 "src/sc_man_scanner.h"
+#line 157 "src/sc_man_scanner.h"
 yy4:
 	++YYCURSOR;
 	if((yych = *YYCURSOR) <= 'Y') {
 		if(yych <= 'Q') {
-			if(yych == 'O') goto yy560;
-			goto yy176;
+			if(yych == 'O') goto yy583;
+			goto yy177;
 		} else {
-			if(yych <= 'R') goto yy561;
-			if(yych <= 'X') goto yy176;
-			goto yy562;
+			if(yych <= 'R') goto yy584;
+			if(yych <= 'X') goto yy177;
+			goto yy585;
 		}
 	} else {
 		if(yych <= 'q') {
-			if(yych == 'o') goto yy560;
-			goto yy176;
+			if(yych == 'o') goto yy583;
+			goto yy177;
 		} else {
-			if(yych <= 'r') goto yy561;
-			if(yych == 'y') goto yy562;
-			goto yy176;
+			if(yych <= 'r') goto yy584;
+			if(yych == 'y') goto yy585;
+			goto yy177;
 		}
 	}
 yy5:
-#line 146 "src/sc_man_scanner.re"
+#line 152 "src/sc_man_scanner.re"
 	{ RET(TK_Identifier); }
-#line 181 "src/sc_man_scanner.h"
+#line 182 "src/sc_man_scanner.h"
 yy6:
 	yych = *++YYCURSOR;
 	switch(yych){
 	case 'A':
-	case 'a':	goto yy518;
+	case 'a':	goto yy541;
 	case 'H':
-	case 'h':	goto yy519;
+	case 'h':	goto yy542;
 	case 'L':
-	case 'l':	goto yy520;
+	case 'l':	goto yy543;
 	case 'O':
-	case 'o':	goto yy521;
+	case 'o':	goto yy544;
 	case 'R':
-	case 'r':	goto yy522;
-	default:	goto yy176;
+	case 'r':	goto yy545;
+	default:	goto yy177;
 	}
 yy7:
 	yych = *++YYCURSOR;
 	if(yych <= 'O') {
-		if(yych == 'E') goto yy491;
-		if(yych <= 'N') goto yy176;
-		goto yy492;
+		if(yych == 'E') goto yy514;
+		if(yych <= 'N') goto yy177;
+		goto yy515;
 	} else {
 		if(yych <= 'e') {
-			if(yych <= 'd') goto yy176;
-			goto yy491;
+			if(yych <= 'd') goto yy177;
+			goto yy514;
 		} else {
-			if(yych == 'o') goto yy492;
-			goto yy176;
+			if(yych == 'o') goto yy515;
+			goto yy177;
 		}
 	}
 yy8:
 	yych = *++YYCURSOR;
 	if(yych <= 'X') {
 		if(yych <= 'N') {
-			if(yych == 'L') goto yy456;
-			if(yych <= 'M') goto yy176;
-			goto yy457;
+			if(yych == 'L') goto yy479;
+			if(yych <= 'M') goto yy177;
+			goto yy480;
 		} else {
-			if(yych == 'V') goto yy458;
-			if(yych <= 'W') goto yy176;
-			goto yy459;
+			if(yych == 'V') goto yy481;
+			if(yych <= 'W') goto yy177;
+			goto yy482;
 		}
 	} else {
 		if(yych <= 'n') {
-			if(yych == 'l') goto yy456;
-			if(yych <= 'm') goto yy176;
-			goto yy457;
+			if(yych == 'l') goto yy479;
+			if(yych <= 'm') goto yy177;
+			goto yy480;
 		} else {
 			if(yych <= 'v') {
-				if(yych <= 'u') goto yy176;
-				goto yy458;
+				if(yych <= 'u') goto yy177;
+				goto yy481;
 			} else {
-				if(yych == 'x') goto yy459;
-				goto yy176;
+				if(yych == 'x') goto yy482;
+				goto yy177;
 			}
 		}
 	}
 	yych = *++YYCURSOR;
 	if(yych <= 'O') {
 		if(yych <= 'I') {
-			if(yych == 'A') goto yy433;
-			if(yych <= 'H') goto yy176;
-			goto yy434;
+			if(yych == 'A') goto yy456;
+			if(yych <= 'H') goto yy177;
+			goto yy457;
 		} else {
-			if(yych == 'L') goto yy435;
-			if(yych <= 'N') goto yy176;
-			goto yy436;
+			if(yych == 'L') goto yy458;
+			if(yych <= 'N') goto yy177;
+			goto yy459;
 		}
 	} else {
 		if(yych <= 'i') {
-			if(yych == 'a') goto yy433;
-			if(yych <= 'h') goto yy176;
-			goto yy434;
+			if(yych == 'a') goto yy456;
+			if(yych <= 'h') goto yy177;
+			goto yy457;
 		} else {
 			if(yych <= 'l') {
-				if(yych <= 'k') goto yy176;
-				goto yy435;
+				if(yych <= 'k') goto yy177;
+				goto yy458;
 			} else {
-				if(yych == 'o') goto yy436;
-				goto yy176;
+				if(yych == 'o') goto yy459;
+				goto yy177;
 			}
 		}
 	}
 yy10:
 	yych = *++YYCURSOR;
 	if(yych <= 'O') {
-		if(yych == 'L') goto yy423;
-		if(yych <= 'N') goto yy176;
-		goto yy424;
+		if(yych == 'L') goto yy446;
+		if(yych <= 'N') goto yy177;
+		goto yy447;
 	} else {
 		if(yych <= 'l') {
-			if(yych <= 'k') goto yy176;
-			goto yy423;
+			if(yych <= 'k') goto yy177;
+			goto yy446;
 		} else {
-			if(yych == 'o') goto yy424;
-			goto yy176;
+			if(yych == 'o') goto yy447;
+			goto yy177;
 		}
 	}
 yy11:
 	yych = *++YYCURSOR;
 	if(yych <= 'T') {
 		if(yych <= 'G') {
-			if(yych <= 'E') goto yy176;
-			if(yych <= 'F') goto yy394;
-			goto yy396;
+			if(yych <= 'E') goto yy177;
+			if(yych <= 'F') goto yy417;
+			goto yy419;
 		} else {
-			if(yych == 'N') goto yy397;
-			if(yych <= 'S') goto yy176;
-			goto yy398;
+			if(yych == 'N') goto yy420;
+			if(yych <= 'S') goto yy177;
+			goto yy421;
 		}
 	} else {
 		if(yych <= 'm') {
-			if(yych <= 'e') goto yy176;
-			if(yych <= 'f') goto yy394;
-			if(yych <= 'g') goto yy396;
-			goto yy176;
+			if(yych <= 'e') goto yy177;
+			if(yych <= 'f') goto yy417;
+			if(yych <= 'g') goto yy419;
+			goto yy177;
 		} else {
-			if(yych <= 'n') goto yy397;
-			if(yych == 't') goto yy398;
-			goto yy176;
+			if(yych <= 'n') goto yy420;
+			if(yych == 't') goto yy421;
+			goto yy177;
 		}
 	}
 yy12:
 	yych = *++YYCURSOR;
-	if(yych == 'E') goto yy386;
-	if(yych == 'e') goto yy386;
-	goto yy176;
+	if(yych == 'E') goto yy409;
+	if(yych == 'e') goto yy409;
+	goto yy177;
 yy13:
 	yych = *++YYCURSOR;
 	switch(yych){
 	case 'B':
-	case 'b':	goto yy326;
+	case 'b':	goto yy349;
 	case 'E':
-	case 'e':	goto yy327;
+	case 'e':	goto yy350;
 	case 'H':
-	case 'h':	goto yy328;
+	case 'h':	goto yy351;
+	case 'I':
+	case 'i':	goto yy352;
+	case 'O':
+	case 'o':	goto yy353;
+	case 'T':
+	case 't':	goto yy354;
+	case 'U':
+	case 'u':	goto yy355;
+	case 'W':
+	case 'w':	goto yy356;
+	default:	goto yy177;
+	}
+yy14:
+	yych = *++YYCURSOR;
+	switch(yych){
 	case 'I':
 	case 'i':	goto yy329;
-	case 'O':
-	case 'o':	goto yy330;
-	case 'T':
-	case 't':	goto yy331;
-	case 'U':
-	case 'u':	goto yy332;
-	case 'W':
-	case 'w':	goto yy333;
-	default:	goto yy176;
-	}
-yy14:
-	yych = *++YYCURSOR;
-	switch(yych){
-	case 'I':
-	case 'i':	goto yy306;
 	case 'L':
-	case 'l':	goto yy307;
+	case 'l':	goto yy330;
 	case 'N':
-	case 'n':	goto yy308;
+	case 'n':	goto yy331;
 	case 'S':
-	case 's':	goto yy309;
-	default:	goto yy176;
+	case 's':	goto yy332;
+	default:	goto yy177;
 	}
 yy15:
 	yych = *++YYCURSOR;
 	if(yych <= 'O') {
-		if(yych == 'I') goto yy288;
-		if(yych <= 'N') goto yy176;
+		if(yych == 'I') goto yy311;
+		if(yych <= 'N') goto yy177;
+		goto yy312;
+	} else {
+		if(yych <= 'i') {
+			if(yych <= 'h') goto yy177;
+			goto yy311;
+		} else {
+			if(yych == 'o') goto yy312;
+			goto yy177;
+		}
+	}
+yy16:
+	yych = *++YYCURSOR;
+	if(yych == 'H') goto yy306;
+	if(yych == 'h') goto yy306;
+	goto yy177;
+yy17:
+	yych = *++YYCURSOR;
+	if(yych <= 'O') {
+		if(yych == 'A') goto yy288;
+		if(yych <= 'N') goto yy177;
 		goto yy289;
 	} else {
-		if(yych <= 'i') {
-			if(yych <= 'h') goto yy176;
+		if(yych <= 'a') {
+			if(yych <= '`') goto yy177;
 			goto yy288;
 		} else {
 			if(yych == 'o') goto yy289;
-			goto yy176;
-		}
-	}
-yy16:
-	yych = *++YYCURSOR;
-	if(yych == 'H') goto yy283;
-	if(yych == 'h') goto yy283;
-	goto yy176;
-yy17:
-	yych = *++YYCURSOR;
-	if(yych <= 'O') {
-		if(yych == 'A') goto yy265;
-		if(yych <= 'N') goto yy176;
-		goto yy266;
-	} else {
-		if(yych <= 'a') {
-			if(yych <= '`') goto yy176;
-			goto yy265;
-		} else {
-			if(yych == 'o') goto yy266;
-			goto yy176;
+			goto yy177;
 		}
 	}
 yy18:
 	yych = *++YYCURSOR;
-	if(yych == 'O') goto yy261;
-	if(yych == 'o') goto yy261;
-	goto yy176;
+	if(yych == 'O') goto yy284;
+	if(yych == 'o') goto yy284;
+	goto yy177;
 yy19:
 	yych = *++YYCURSOR;
 	if(yych <= 'O') {
 		if(yych <= 'D') {
-			if(yych == 'A') goto yy245;
-			goto yy176;
+			if(yych == 'A') goto yy268;
+			goto yy177;
 		} else {
-			if(yych <= 'E') goto yy246;
-			if(yych <= 'N') goto yy176;
-			goto yy247;
+			if(yych <= 'E') goto yy269;
+			if(yych <= 'N') goto yy177;
+			goto yy270;
 		}
 	} else {
 		if(yych <= 'd') {
-			if(yych == 'a') goto yy245;
-			goto yy176;
+			if(yych == 'a') goto yy268;
+			goto yy177;
 		} else {
-			if(yych <= 'e') goto yy246;
-			if(yych == 'o') goto yy247;
-			goto yy176;
+			if(yych <= 'e') goto yy269;
+			if(yych == 'o') goto yy270;
+			goto yy177;
 		}
 	}
 yy20:
 	yych = *++YYCURSOR;
 	if(yych <= 'U') {
 		if(yych <= 'B') {
-			if(yych <= 'A') goto yy176;
-			goto yy227;
+			if(yych <= 'A') goto yy177;
+			goto yy250;
 		} else {
-			if(yych <= 'C') goto yy228;
-			if(yych <= 'T') goto yy176;
-			goto yy229;
+			if(yych <= 'C') goto yy251;
+			if(yych <= 'T') goto yy177;
+			goto yy252;
 		}
 	} else {
 		if(yych <= 'c') {
-			if(yych <= 'a') goto yy176;
-			if(yych <= 'b') goto yy227;
-			goto yy228;
+			if(yych <= 'a') goto yy177;
+			if(yych <= 'b') goto yy250;
+			goto yy251;
 		} else {
-			if(yych == 'u') goto yy229;
-			goto yy176;
+			if(yych == 'u') goto yy252;
+			goto yy177;
 		}
 	}
 yy21:
 	yych = *++YYCURSOR;
 	if(yych <= 'R') {
-		if(yych == 'H') goto yy209;
-		if(yych <= 'Q') goto yy176;
-		goto yy210;
+		if(yych == 'H') goto yy232;
+		if(yych <= 'Q') goto yy177;
+		goto yy233;
 	} else {
 		if(yych <= 'h') {
-			if(yych <= 'g') goto yy176;
-			goto yy209;
+			if(yych <= 'g') goto yy177;
+			goto yy232;
 		} else {
-			if(yych == 'r') goto yy210;
-			goto yy176;
+			if(yych == 'r') goto yy233;
+			goto yy177;
 		}
 	}
 yy22:
 	yych = *++YYCURSOR;
 	if(yych <= 'U') {
-		if(yych == 'P') goto yy198;
-		if(yych <= 'T') goto yy176;
-		goto yy199;
+		if(yych == 'P') goto yy221;
+		if(yych <= 'T') goto yy177;
+		goto yy222;
 	} else {
 		if(yych <= 'p') {
-			if(yych <= 'o') goto yy176;
-			goto yy198;
+			if(yych <= 'o') goto yy177;
+			goto yy221;
 		} else {
-			if(yych == 'u') goto yy199;
-			goto yy176;
+			if(yych == 'u') goto yy222;
+			goto yy177;
 		}
 	}
 yy23:
 	yych = *++YYCURSOR;
 	if(yych <= 'U') {
-		if(yych == 'R') goto yy177;
-		if(yych <= 'T') goto yy176;
-		goto yy178;
-	} else {
-		if(yych <= 'r') {
-			if(yych <= 'q') goto yy176;
+		if(yych <= 'Q') {
+			if(yych == 'I') goto yy186;
 			goto yy177;
 		} else {
-			if(yych == 'u') goto yy178;
-			goto yy176;
+			if(yych <= 'R') goto yy187;
+			if(yych <= 'T') goto yy177;
+			goto yy188;
+		}
+	} else {
+		if(yych <= 'q') {
+			if(yych == 'i') goto yy186;
+			goto yy177;
+		} else {
+			if(yych <= 'r') goto yy187;
+			if(yych == 'u') goto yy188;
+			goto yy177;
 		}
 	}
 yy24:
-	yych = *++YYCURSOR;
-	goto yy176;
-yy25:
 	yyaccept = 1;
 	yych = *(YYMARKER = ++YYCURSOR);
-	if(yych == 'X') goto yy172;
-	if(yych == 'x') goto yy172;
-	goto yy171;
-yy26:
-#line 149 "src/sc_man_scanner.re"
-	{ RET(TK_IntConst); }
-#line 483 "src/sc_man_scanner.h"
-yy27:
-	yyaccept = 1;
-	yych = *(YYMARKER = ++YYCURSOR);
-	goto yy154;
-yy28:
-	yyaccept = 2;
-	yych = *(YYMARKER = ++YYCURSOR);
-	if(yych == '.') goto yy141;
-	if(yych <= '/') goto yy29;
-	if(yych <= '9') goto yy142;
-yy29:
-#line 193 "src/sc_man_scanner.re"
-	{ RET('.'); }
-#line 497 "src/sc_man_scanner.h"
-yy30:
-	yyaccept = 3;
-	yych = *(YYMARKER = ++YYCURSOR);
-	if(yych != 0x0A) goto yy132;
-yy31:
-#line 211 "src/sc_man_scanner.re"
+	if(yych == 'I') goto yy178;
+	if(yych == 'i') goto yy178;
+yy25:
+#line 217 "src/sc_man_scanner.re"
 	{
 			SC_ScriptError ("Unexpected character: %c (ASCII %d)\n", *tok, *tok);
 			goto std1;
 		}
-#line 508 "src/sc_man_scanner.h"
-yy32:
+#line 489 "src/sc_man_scanner.h"
+yy26:
+	yych = *++YYCURSOR;
+	goto yy177;
+yy27:
+	yyaccept = 2;
+	yych = *(YYMARKER = ++YYCURSOR);
+	if(yych == 'X') goto yy173;
+	if(yych == 'x') goto yy173;
+	goto yy172;
+yy28:
+#line 155 "src/sc_man_scanner.re"
+	{ RET(TK_IntConst); }
+#line 502 "src/sc_man_scanner.h"
+yy29:
+	yyaccept = 2;
+	yych = *(YYMARKER = ++YYCURSOR);
+	goto yy155;
+yy30:
 	yyaccept = 3;
 	yych = *(YYMARKER = ++YYCURSOR);
-	if(yych == 0x0A) goto yy31;
-	goto yy127;
+	if(yych == '.') goto yy142;
+	if(yych <= '/') goto yy31;
+	if(yych <= '9') goto yy143;
+yy31:
+#line 199 "src/sc_man_scanner.re"
+	{ RET('.'); }
+#line 516 "src/sc_man_scanner.h"
+yy32:
+	yyaccept = 1;
+	yych = *(YYMARKER = ++YYCURSOR);
+	if(yych == 0x0A) goto yy25;
+	goto yy133;
 yy33:
+	yyaccept = 1;
+	yych = *(YYMARKER = ++YYCURSOR);
+	if(yych == 0x0A) goto yy25;
+	goto yy128;
+yy34:
 	++YYCURSOR;
-	if((yych = *YYCURSOR) <= '<') goto yy34;
-	if(yych <= '=') goto yy116;
-	if(yych <= '>') goto yy118;
-yy34:
+	if((yych = *YYCURSOR) <= '<') goto yy35;
+	if(yych <= '=') goto yy117;
+	if(yych <= '>') goto yy119;
+yy35:
+#line 209 "src/sc_man_scanner.re"
+	{ RET('>'); }
+#line 535 "src/sc_man_scanner.h"
+yy36:
+	++YYCURSOR;
+	if((yych = *YYCURSOR) <= ';') goto yy37;
+	if(yych <= '<') goto yy113;
+	if(yych <= '=') goto yy111;
+yy37:
+#line 208 "src/sc_man_scanner.re"
+	{ RET('<'); }
+#line 544 "src/sc_man_scanner.h"
+yy38:
+	++YYCURSOR;
+	if((yych = *YYCURSOR) == '+') goto yy107;
+	if(yych == '=') goto yy109;
+#line 204 "src/sc_man_scanner.re"
+	{ RET('+'); }
+#line 551 "src/sc_man_scanner.h"
+yy40:
+	++YYCURSOR;
+	if((yych = *YYCURSOR) == '-') goto yy103;
+	if(yych == '=') goto yy105;
 #line 203 "src/sc_man_scanner.re"
-	{ RET('>'); }
-#line 522 "src/sc_man_scanner.h"
-yy35:
+	{ RET('-'); }
+#line 558 "src/sc_man_scanner.h"
+yy42:
 	++YYCURSOR;
-	if((yych = *YYCURSOR) <= ';') goto yy36;
-	if(yych <= '<') goto yy112;
-	if(yych <= '=') goto yy110;
-yy36:
-#line 202 "src/sc_man_scanner.re"
-	{ RET('<'); }
-#line 531 "src/sc_man_scanner.h"
-yy37:
+	if((yych = *YYCURSOR) == '=') goto yy101;
+#line 205 "src/sc_man_scanner.re"
+	{ RET('*'); }
+#line 564 "src/sc_man_scanner.h"
+yy44:
 	++YYCURSOR;
-	if((yych = *YYCURSOR) == '+') goto yy106;
-	if(yych == '=') goto yy108;
-#line 198 "src/sc_man_scanner.re"
-	{ RET('+'); }
-#line 538 "src/sc_man_scanner.h"
-yy39:
+	if((yych = *YYCURSOR) == '=') goto yy99;
+#line 207 "src/sc_man_scanner.re"
+	{ RET('%'); }
+#line 570 "src/sc_man_scanner.h"
+yy46:
 	++YYCURSOR;
-	if((yych = *YYCURSOR) == '-') goto yy102;
-	if(yych == '=') goto yy104;
-#line 197 "src/sc_man_scanner.re"
-	{ RET('-'); }
-#line 545 "src/sc_man_scanner.h"
-yy41:
+	if((yych = *YYCURSOR) == '&') goto yy95;
+	if(yych == '=') goto yy97;
+#line 200 "src/sc_man_scanner.re"
+	{ RET('&'); }
+#line 577 "src/sc_man_scanner.h"
+yy48:
 	++YYCURSOR;
-	if((yych = *YYCURSOR) == '=') goto yy100;
-#line 199 "src/sc_man_scanner.re"
-	{ RET('*'); }
-#line 551 "src/sc_man_scanner.h"
-yy43:
+	if((yych = *YYCURSOR) == '=') goto yy93;
+#line 210 "src/sc_man_scanner.re"
+	{ RET('^'); }
+#line 583 "src/sc_man_scanner.h"
+yy50:
 	++YYCURSOR;
-	if((yych = *YYCURSOR) == '=') goto yy98;
+	if((yych = *YYCURSOR) == '=') goto yy91;
+	if(yych == '|') goto yy89;
+#line 211 "src/sc_man_scanner.re"
+	{ RET('|'); }
+#line 590 "src/sc_man_scanner.h"
+yy52:
+	++YYCURSOR;
+	if((yych = *YYCURSOR) == '=') goto yy87;
+#line 194 "src/sc_man_scanner.re"
+	{ RET('='); }
+#line 596 "src/sc_man_scanner.h"
+yy54:
+	++YYCURSOR;
+	if((yych = *YYCURSOR) == '=') goto yy85;
 #line 201 "src/sc_man_scanner.re"
-	{ RET('%'); }
-#line 557 "src/sc_man_scanner.h"
-yy45:
-	++YYCURSOR;
-	if((yych = *YYCURSOR) == '&') goto yy94;
-	if(yych == '=') goto yy96;
-#line 194 "src/sc_man_scanner.re"
-	{ RET('&'); }
-#line 564 "src/sc_man_scanner.h"
-yy47:
-	++YYCURSOR;
-	if((yych = *YYCURSOR) == '=') goto yy92;
-#line 204 "src/sc_man_scanner.re"
-	{ RET('^'); }
-#line 570 "src/sc_man_scanner.h"
-yy49:
-	++YYCURSOR;
-	if((yych = *YYCURSOR) == '=') goto yy90;
-	if(yych == '|') goto yy88;
-#line 205 "src/sc_man_scanner.re"
-	{ RET('|'); }
-#line 577 "src/sc_man_scanner.h"
-yy51:
-	++YYCURSOR;
-	if((yych = *YYCURSOR) == '=') goto yy86;
-#line 188 "src/sc_man_scanner.re"
-	{ RET('='); }
-#line 583 "src/sc_man_scanner.h"
-yy53:
-	++YYCURSOR;
-	if((yych = *YYCURSOR) == '=') goto yy84;
-#line 195 "src/sc_man_scanner.re"
 	{ RET('!'); }
-#line 589 "src/sc_man_scanner.h"
-yy55:
-	++YYCURSOR;
-#line 183 "src/sc_man_scanner.re"
-	{ RET(';'); }
-#line 594 "src/sc_man_scanner.h"
-yy57:
-	++YYCURSOR;
-#line 184 "src/sc_man_scanner.re"
-	{ RET('{'); }
-#line 599 "src/sc_man_scanner.h"
-yy59:
-	++YYCURSOR;
-#line 185 "src/sc_man_scanner.re"
-	{ RET('}'); }
-#line 604 "src/sc_man_scanner.h"
-yy61:
-	++YYCURSOR;
-#line 186 "src/sc_man_scanner.re"
-	{ RET(','); }
-#line 609 "src/sc_man_scanner.h"
-yy63:
-	++YYCURSOR;
-#line 187 "src/sc_man_scanner.re"
-	{ RET(':'); }
-#line 614 "src/sc_man_scanner.h"
-yy65:
+#line 602 "src/sc_man_scanner.h"
+yy56:
 	++YYCURSOR;
 #line 189 "src/sc_man_scanner.re"
-	{ RET('('); }
-#line 619 "src/sc_man_scanner.h"
-yy67:
+	{ RET(';'); }
+#line 607 "src/sc_man_scanner.h"
+yy58:
 	++YYCURSOR;
 #line 190 "src/sc_man_scanner.re"
-	{ RET(')'); }
-#line 624 "src/sc_man_scanner.h"
-yy69:
+	{ RET('{'); }
+#line 612 "src/sc_man_scanner.h"
+yy60:
 	++YYCURSOR;
 #line 191 "src/sc_man_scanner.re"
-	{ RET('['); }
-#line 629 "src/sc_man_scanner.h"
-yy71:
+	{ RET('}'); }
+#line 617 "src/sc_man_scanner.h"
+yy62:
 	++YYCURSOR;
 #line 192 "src/sc_man_scanner.re"
-	{ RET(']'); }
-#line 634 "src/sc_man_scanner.h"
-yy73:
+	{ RET(','); }
+#line 622 "src/sc_man_scanner.h"
+yy64:
+	++YYCURSOR;
+#line 193 "src/sc_man_scanner.re"
+	{ RET(':'); }
+#line 627 "src/sc_man_scanner.h"
+yy66:
+	++YYCURSOR;
+#line 195 "src/sc_man_scanner.re"
+	{ RET('('); }
+#line 632 "src/sc_man_scanner.h"
+yy68:
 	++YYCURSOR;
 #line 196 "src/sc_man_scanner.re"
+	{ RET(')'); }
+#line 637 "src/sc_man_scanner.h"
+yy70:
+	++YYCURSOR;
+#line 197 "src/sc_man_scanner.re"
+	{ RET('['); }
+#line 642 "src/sc_man_scanner.h"
+yy72:
+	++YYCURSOR;
+#line 198 "src/sc_man_scanner.re"
+	{ RET(']'); }
+#line 647 "src/sc_man_scanner.h"
+yy74:
+	++YYCURSOR;
+#line 202 "src/sc_man_scanner.re"
 	{ RET('~'); }
-#line 639 "src/sc_man_scanner.h"
-yy75:
+#line 652 "src/sc_man_scanner.h"
+yy76:
 	++YYCURSOR;
-#line 206 "src/sc_man_scanner.re"
+#line 212 "src/sc_man_scanner.re"
 	{ RET('?'); }
-#line 644 "src/sc_man_scanner.h"
-yy77:
+#line 657 "src/sc_man_scanner.h"
+yy78:
 	++YYCURSOR;
 	yych = *YYCURSOR;
-	goto yy83;
-yy78:
-#line 208 "src/sc_man_scanner.re"
+	goto yy84;
+yy79:
+#line 214 "src/sc_man_scanner.re"
 	{ goto std1; }
-#line 652 "src/sc_man_scanner.h"
-yy79:
+#line 665 "src/sc_man_scanner.h"
+yy80:
 	++YYCURSOR;
-#line 209 "src/sc_man_scanner.re"
+#line 215 "src/sc_man_scanner.re"
 	{ goto newline; }
-#line 657 "src/sc_man_scanner.h"
-yy81:
-	yych = *++YYCURSOR;
-	goto yy31;
+#line 670 "src/sc_man_scanner.h"
 yy82:
+	yych = *++YYCURSOR;
+	goto yy25;
+yy83:
 	++YYCURSOR;
 	if(YYLIMIT == YYCURSOR) YYFILL(1);
 	yych = *YYCURSOR;
-yy83:
+yy84:
 	if(yych <= 0x0A) {
-		if(yych == 0x09) goto yy82;
-		goto yy78;
+		if(yych == 0x09) goto yy83;
+		goto yy79;
 	} else {
-		if(yych <= 0x0D) goto yy82;
-		if(yych == ' ') goto yy82;
-		goto yy78;
+		if(yych <= 0x0D) goto yy83;
+		if(yych == ' ') goto yy83;
+		goto yy79;
 	}
-yy84:
+yy85:
+	++YYCURSOR;
+#line 188 "src/sc_man_scanner.re"
+	{ RET(TK_Neq); }
+#line 691 "src/sc_man_scanner.h"
+yy87:
+	++YYCURSOR;
+#line 187 "src/sc_man_scanner.re"
+	{ RET(TK_Eq); }
+#line 696 "src/sc_man_scanner.h"
+yy89:
+	++YYCURSOR;
+#line 184 "src/sc_man_scanner.re"
+	{ RET(TK_OrOr); }
+#line 701 "src/sc_man_scanner.h"
+yy91:
+	++YYCURSOR;
+#line 177 "src/sc_man_scanner.re"
+	{ RET(TK_OrEq); }
+#line 706 "src/sc_man_scanner.h"
+yy93:
+	++YYCURSOR;
+#line 176 "src/sc_man_scanner.re"
+	{ RET(TK_XorEq); }
+#line 711 "src/sc_man_scanner.h"
+yy95:
+	++YYCURSOR;
+#line 183 "src/sc_man_scanner.re"
+	{ RET(TK_AndAnd); }
+#line 716 "src/sc_man_scanner.h"
+yy97:
+	++YYCURSOR;
+#line 175 "src/sc_man_scanner.re"
+	{ RET(TK_AndEq); }
+#line 721 "src/sc_man_scanner.h"
+yy99:
+	++YYCURSOR;
+#line 174 "src/sc_man_scanner.re"
+	{ RET(TK_ModEq); }
+#line 726 "src/sc_man_scanner.h"
+yy101:
+	++YYCURSOR;
+#line 172 "src/sc_man_scanner.re"
+	{ RET(TK_MulEq); }
+#line 731 "src/sc_man_scanner.h"
+yy103:
 	++YYCURSOR;
 #line 182 "src/sc_man_scanner.re"
-	{ RET(TK_Neq); }
-#line 678 "src/sc_man_scanner.h"
-yy86:
+	{ RET(TK_Decr); }
+#line 736 "src/sc_man_scanner.h"
+yy105:
+	++YYCURSOR;
+#line 171 "src/sc_man_scanner.re"
+	{ RET(TK_SubEq); }
+#line 741 "src/sc_man_scanner.h"
+yy107:
 	++YYCURSOR;
 #line 181 "src/sc_man_scanner.re"
-	{ RET(TK_Eq); }
-#line 683 "src/sc_man_scanner.h"
-yy88:
-	++YYCURSOR;
-#line 178 "src/sc_man_scanner.re"
-	{ RET(TK_OrOr); }
-#line 688 "src/sc_man_scanner.h"
-yy90:
-	++YYCURSOR;
-#line 171 "src/sc_man_scanner.re"
-	{ RET(TK_OrEq); }
-#line 693 "src/sc_man_scanner.h"
-yy92:
+	{ RET(TK_Incr); }
+#line 746 "src/sc_man_scanner.h"
+yy109:
 	++YYCURSOR;
 #line 170 "src/sc_man_scanner.re"
-	{ RET(TK_XorEq); }
-#line 698 "src/sc_man_scanner.h"
-yy94:
+	{ RET(TK_AddEq); }
+#line 751 "src/sc_man_scanner.h"
+yy111:
 	++YYCURSOR;
-#line 177 "src/sc_man_scanner.re"
-	{ RET(TK_AndAnd); }
-#line 703 "src/sc_man_scanner.h"
-yy96:
+#line 185 "src/sc_man_scanner.re"
+	{ RET(TK_Leq); }
+#line 756 "src/sc_man_scanner.h"
+yy113:
+	++YYCURSOR;
+	if((yych = *YYCURSOR) == '=') goto yy115;
+#line 180 "src/sc_man_scanner.re"
+	{ RET(TK_LShift); }
+#line 762 "src/sc_man_scanner.h"
+yy115:
 	++YYCURSOR;
 #line 169 "src/sc_man_scanner.re"
-	{ RET(TK_AndEq); }
-#line 708 "src/sc_man_scanner.h"
-yy98:
+	{ RET(TK_LShiftEq); }
+#line 767 "src/sc_man_scanner.h"
+yy117:
+	++YYCURSOR;
+#line 186 "src/sc_man_scanner.re"
+	{ RET(TK_Geq); }
+#line 772 "src/sc_man_scanner.h"
+yy119:
+	++YYCURSOR;
+	if((yych = *YYCURSOR) <= '<') goto yy120;
+	if(yych <= '=') goto yy123;
+	if(yych <= '>') goto yy121;
+yy120:
+#line 179 "src/sc_man_scanner.re"
+	{ RET(TK_RShift); }
+#line 781 "src/sc_man_scanner.h"
+yy121:
+	++YYCURSOR;
+	if((yych = *YYCURSOR) == '=') goto yy125;
+#line 178 "src/sc_man_scanner.re"
+	{ RET(TK_URShift); }
+#line 787 "src/sc_man_scanner.h"
+yy123:
 	++YYCURSOR;
 #line 168 "src/sc_man_scanner.re"
-	{ RET(TK_ModEq); }
-#line 713 "src/sc_man_scanner.h"
-yy100:
+	{ RET(TK_RShiftEq); }
+#line 792 "src/sc_man_scanner.h"
+yy125:
 	++YYCURSOR;
-#line 166 "src/sc_man_scanner.re"
-	{ RET(TK_MulEq); }
-#line 718 "src/sc_man_scanner.h"
-yy102:
-	++YYCURSOR;
-#line 176 "src/sc_man_scanner.re"
-	{ RET(TK_Decr); }
-#line 723 "src/sc_man_scanner.h"
-yy104:
-	++YYCURSOR;
-#line 165 "src/sc_man_scanner.re"
-	{ RET(TK_SubEq); }
-#line 728 "src/sc_man_scanner.h"
-yy106:
-	++YYCURSOR;
-#line 175 "src/sc_man_scanner.re"
-	{ RET(TK_Incr); }
-#line 733 "src/sc_man_scanner.h"
-yy108:
-	++YYCURSOR;
-#line 164 "src/sc_man_scanner.re"
-	{ RET(TK_AddEq); }
-#line 738 "src/sc_man_scanner.h"
-yy110:
-	++YYCURSOR;
-#line 179 "src/sc_man_scanner.re"
-	{ RET(TK_Leq); }
-#line 743 "src/sc_man_scanner.h"
-yy112:
-	++YYCURSOR;
-	if((yych = *YYCURSOR) == '=') goto yy114;
-#line 174 "src/sc_man_scanner.re"
-	{ RET(TK_LShift); }
-#line 749 "src/sc_man_scanner.h"
-yy114:
-	++YYCURSOR;
-#line 163 "src/sc_man_scanner.re"
-	{ RET(TK_LShiftEq); }
-#line 754 "src/sc_man_scanner.h"
-yy116:
-	++YYCURSOR;
-#line 180 "src/sc_man_scanner.re"
-	{ RET(TK_Geq); }
-#line 759 "src/sc_man_scanner.h"
-yy118:
-	++YYCURSOR;
-	if((yych = *YYCURSOR) <= '<') goto yy119;
-	if(yych <= '=') goto yy122;
-	if(yych <= '>') goto yy120;
-yy119:
-#line 173 "src/sc_man_scanner.re"
-	{ RET(TK_RShift); }
-#line 768 "src/sc_man_scanner.h"
-yy120:
-	++YYCURSOR;
-	if((yych = *YYCURSOR) == '=') goto yy124;
-#line 172 "src/sc_man_scanner.re"
-	{ RET(TK_URShift); }
-#line 774 "src/sc_man_scanner.h"
-yy122:
-	++YYCURSOR;
-#line 162 "src/sc_man_scanner.re"
-	{ RET(TK_RShiftEq); }
-#line 779 "src/sc_man_scanner.h"
-yy124:
-	++YYCURSOR;
-#line 161 "src/sc_man_scanner.re"
+#line 167 "src/sc_man_scanner.re"
 	{ RET(TK_URShiftEq); }
-#line 784 "src/sc_man_scanner.h"
-yy126:
+#line 797 "src/sc_man_scanner.h"
+yy127:
 	++YYCURSOR;
 	if(YYLIMIT == YYCURSOR) YYFILL(1);
 	yych = *YYCURSOR;
-yy127:
-	if(yych == 0x0A) goto yy128;
-	if(yych == '\'') goto yy129;
-	goto yy126;
 yy128:
+	if(yych == 0x0A) goto yy129;
+	if(yych == '\'') goto yy130;
+	goto yy127;
+yy129:
 	YYCURSOR = YYMARKER;
 	if(yyaccept <= 2) {
 		if(yyaccept <= 1) {
 			if(yyaccept <= 0) {
 				goto yy3;
 			} else {
-				goto yy26;
+				goto yy25;
 			}
 		} else {
-			goto yy29;
+			goto yy28;
 		}
 	} else {
 		if(yyaccept <= 3) {
 			goto yy31;
 		} else {
-			goto yy144;
+			goto yy145;
 		}
 	}
-yy129:
+yy130:
 	++YYCURSOR;
-#line 158 "src/sc_man_scanner.re"
+#line 164 "src/sc_man_scanner.re"
 	{ RET(TK_NameConst); }
-#line 816 "src/sc_man_scanner.h"
-yy131:
+#line 829 "src/sc_man_scanner.h"
+yy132:
 	++YYCURSOR;
 	if(YYLIMIT == YYCURSOR) YYFILL(1);
 	yych = *YYCURSOR;
-yy132:
+yy133:
 	if(yych <= '!') {
-		if(yych == 0x0A) goto yy128;
-		goto yy131;
+		if(yych == 0x0A) goto yy129;
+		goto yy132;
 	} else {
-		if(yych <= '"') goto yy134;
-		if(yych != '\\') goto yy131;
+		if(yych <= '"') goto yy135;
+		if(yych != '\\') goto yy132;
 	}
-yy133:
+yy134:
 	++YYCURSOR;
 	if(YYLIMIT == YYCURSOR) YYFILL(1);
 	yych = *YYCURSOR;
 	if(yych <= 'c') {
 		if(yych <= '7') {
 			if(yych <= '&') {
-				if(yych == '"') goto yy131;
-				goto yy128;
+				if(yych == '"') goto yy132;
+				goto yy129;
 			} else {
-				if(yych <= '\'') goto yy131;
-				if(yych <= '/') goto yy128;
-				goto yy137;
+				if(yych <= '\'') goto yy132;
+				if(yych <= '/') goto yy129;
+				goto yy138;
 			}
 		} else {
 			if(yych <= '[') {
-				if(yych == '?') goto yy131;
-				goto yy128;
+				if(yych == '?') goto yy132;
+				goto yy129;
 			} else {
-				if(yych <= '\\') goto yy131;
-				if(yych <= '`') goto yy128;
-				goto yy131;
+				if(yych <= '\\') goto yy132;
+				if(yych <= '`') goto yy129;
+				goto yy132;
 			}
 		}
 	} else {
 		if(yych <= 'r') {
 			if(yych <= 'm') {
-				if(yych == 'f') goto yy131;
-				goto yy128;
+				if(yych == 'f') goto yy132;
+				goto yy129;
 			} else {
-				if(yych <= 'n') goto yy131;
-				if(yych <= 'q') goto yy128;
-				goto yy131;
+				if(yych <= 'n') goto yy132;
+				if(yych <= 'q') goto yy129;
+				goto yy132;
 			}
 		} else {
 			if(yych <= 'u') {
-				if(yych == 't') goto yy131;
-				goto yy128;
+				if(yych == 't') goto yy132;
+				goto yy129;
 			} else {
-				if(yych <= 'v') goto yy131;
-				if(yych == 'x') goto yy136;
-				goto yy128;
+				if(yych <= 'v') goto yy132;
+				if(yych == 'x') goto yy137;
+				goto yy129;
 			}
 		}
 	}
-yy134:
+yy135:
 	++YYCURSOR;
-#line 155 "src/sc_man_scanner.re"
+#line 161 "src/sc_man_scanner.re"
 	{ RET(TK_StringConst); }
-#line 878 "src/sc_man_scanner.h"
-yy136:
+#line 891 "src/sc_man_scanner.h"
+yy137:
 	++YYCURSOR;
 	if(YYLIMIT == YYCURSOR) YYFILL(1);
 	yych = *YYCURSOR;
 	if(yych <= '@') {
-		if(yych <= '/') goto yy128;
-		if(yych <= '9') goto yy139;
-		goto yy128;
+		if(yych <= '/') goto yy129;
+		if(yych <= '9') goto yy140;
+		goto yy129;
 	} else {
-		if(yych <= 'F') goto yy139;
-		if(yych <= '`') goto yy128;
-		if(yych <= 'f') goto yy139;
-		goto yy128;
+		if(yych <= 'F') goto yy140;
+		if(yych <= '`') goto yy129;
+		if(yych <= 'f') goto yy140;
+		goto yy129;
 	}
-yy137:
+yy138:
 	++YYCURSOR;
 	if(YYLIMIT == YYCURSOR) YYFILL(1);
 	yych = *YYCURSOR;
 	if(yych <= '"') {
-		if(yych == 0x0A) goto yy128;
-		if(yych <= '!') goto yy131;
-		goto yy134;
+		if(yych == 0x0A) goto yy129;
+		if(yych <= '!') goto yy132;
+		goto yy135;
 	} else {
 		if(yych <= '7') {
-			if(yych <= '/') goto yy131;
-			goto yy137;
+			if(yych <= '/') goto yy132;
+			goto yy138;
 		} else {
-			if(yych == '\\') goto yy133;
-			goto yy131;
+			if(yych == '\\') goto yy134;
+			goto yy132;
 		}
 	}
-yy139:
+yy140:
 	++YYCURSOR;
 	if(YYLIMIT == YYCURSOR) YYFILL(1);
 	yych = *YYCURSOR;
 	if(yych <= '9') {
 		if(yych <= '!') {
-			if(yych == 0x0A) goto yy128;
-			goto yy131;
+			if(yych == 0x0A) goto yy129;
+			goto yy132;
 		} else {
-			if(yych <= '"') goto yy134;
-			if(yych <= '/') goto yy131;
-			goto yy139;
+			if(yych <= '"') goto yy135;
+			if(yych <= '/') goto yy132;
+			goto yy140;
 		}
 	} else {
 		if(yych <= '[') {
-			if(yych <= '@') goto yy131;
-			if(yych <= 'F') goto yy139;
-			goto yy131;
+			if(yych <= '@') goto yy132;
+			if(yych <= 'F') goto yy140;
+			goto yy132;
 		} else {
-			if(yych <= '\\') goto yy133;
-			if(yych <= '`') goto yy131;
-			if(yych <= 'f') goto yy139;
-			goto yy131;
+			if(yych <= '\\') goto yy134;
+			if(yych <= '`') goto yy132;
+			if(yych <= 'f') goto yy140;
+			goto yy132;
 		}
 	}
-yy141:
-	yych = *++YYCURSOR;
-	if(yych == '.') goto yy150;
-	goto yy128;
 yy142:
+	yych = *++YYCURSOR;
+	if(yych == '.') goto yy151;
+	goto yy129;
+yy143:
 	yyaccept = 4;
 	YYMARKER = ++YYCURSOR;
 	if((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
 	yych = *YYCURSOR;
 	if(yych <= 'K') {
 		if(yych <= 'D') {
-			if(yych <= '/') goto yy144;
-			if(yych <= '9') goto yy142;
+			if(yych <= '/') goto yy145;
+			if(yych <= '9') goto yy143;
 		} else {
-			if(yych <= 'E') goto yy145;
-			if(yych <= 'F') goto yy146;
+			if(yych <= 'E') goto yy146;
+			if(yych <= 'F') goto yy147;
 		}
 	} else {
 		if(yych <= 'e') {
-			if(yych <= 'L') goto yy146;
-			if(yych >= 'e') goto yy145;
+			if(yych <= 'L') goto yy147;
+			if(yych >= 'e') goto yy146;
 		} else {
-			if(yych <= 'f') goto yy146;
-			if(yych == 'l') goto yy146;
+			if(yych <= 'f') goto yy147;
+			if(yych == 'l') goto yy147;
 		}
 	}
-yy144:
-#line 152 "src/sc_man_scanner.re"
+yy145:
+#line 158 "src/sc_man_scanner.re"
 	{ RET(TK_FloatConst); }
-#line 964 "src/sc_man_scanner.h"
-yy145:
+#line 977 "src/sc_man_scanner.h"
+yy146:
 	yych = *++YYCURSOR;
 	if(yych <= ',') {
-		if(yych == '+') goto yy147;
-		goto yy128;
+		if(yych == '+') goto yy148;
+		goto yy129;
 	} else {
-		if(yych <= '-') goto yy147;
-		if(yych <= '/') goto yy128;
-		if(yych <= '9') goto yy148;
-		goto yy128;
+		if(yych <= '-') goto yy148;
+		if(yych <= '/') goto yy129;
+		if(yych <= '9') goto yy149;
+		goto yy129;
 	}
-yy146:
-	yych = *++YYCURSOR;
-	goto yy144;
 yy147:
 	yych = *++YYCURSOR;
-	if(yych <= '/') goto yy128;
-	if(yych >= ':') goto yy128;
+	goto yy145;
 yy148:
+	yych = *++YYCURSOR;
+	if(yych <= '/') goto yy129;
+	if(yych >= ':') goto yy129;
+yy149:
 	++YYCURSOR;
 	if(YYLIMIT == YYCURSOR) YYFILL(1);
 	yych = *YYCURSOR;
 	if(yych <= 'K') {
 		if(yych <= '9') {
-			if(yych <= '/') goto yy144;
-			goto yy148;
+			if(yych <= '/') goto yy145;
+			goto yy149;
 		} else {
-			if(yych == 'F') goto yy146;
-			goto yy144;
+			if(yych == 'F') goto yy147;
+			goto yy145;
 		}
 	} else {
 		if(yych <= 'f') {
-			if(yych <= 'L') goto yy146;
-			if(yych <= 'e') goto yy144;
-			goto yy146;
+			if(yych <= 'L') goto yy147;
+			if(yych <= 'e') goto yy145;
+			goto yy147;
 		} else {
-			if(yych == 'l') goto yy146;
-			goto yy144;
+			if(yych == 'l') goto yy147;
+			goto yy145;
 		}
 	}
-yy150:
+yy151:
 	++YYCURSOR;
-#line 160 "src/sc_man_scanner.re"
+#line 166 "src/sc_man_scanner.re"
 	{ RET(TK_Ellipsis); }
-#line 1009 "src/sc_man_scanner.h"
-yy152:
+#line 1022 "src/sc_man_scanner.h"
+yy153:
 	yyaccept = 4;
 	yych = *(YYMARKER = ++YYCURSOR);
-	if(yych == 'E') goto yy162;
-	if(yych == 'e') goto yy162;
-	goto yy161;
-yy153:
-	yyaccept = 1;
+	if(yych == 'E') goto yy163;
+	if(yych == 'e') goto yy163;
+	goto yy162;
+yy154:
+	yyaccept = 2;
 	YYMARKER = ++YYCURSOR;
 	if((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
 	yych = *YYCURSOR;
-yy154:
+yy155:
 	if(yych <= 'L') {
 		if(yych <= '9') {
-			if(yych == '.') goto yy152;
-			if(yych <= '/') goto yy26;
-			goto yy153;
+			if(yych == '.') goto yy153;
+			if(yych <= '/') goto yy28;
+			goto yy154;
 		} else {
-			if(yych == 'E') goto yy155;
-			if(yych <= 'K') goto yy26;
-			goto yy156;
+			if(yych == 'E') goto yy156;
+			if(yych <= 'K') goto yy28;
+			goto yy157;
 		}
 	} else {
 		if(yych <= 'e') {
-			if(yych == 'U') goto yy156;
-			if(yych <= 'd') goto yy26;
+			if(yych == 'U') goto yy157;
+			if(yych <= 'd') goto yy28;
 		} else {
 			if(yych <= 'l') {
-				if(yych <= 'k') goto yy26;
-				goto yy156;
+				if(yych <= 'k') goto yy28;
+				goto yy157;
 			} else {
-				if(yych == 'u') goto yy156;
-				goto yy26;
+				if(yych == 'u') goto yy157;
+				goto yy28;
 			}
 		}
 	}
-yy155:
+yy156:
 	yych = *++YYCURSOR;
 	if(yych <= ',') {
-		if(yych == '+') goto yy157;
-		goto yy128;
+		if(yych == '+') goto yy158;
+		goto yy129;
 	} else {
-		if(yych <= '-') goto yy157;
-		if(yych <= '/') goto yy128;
-		if(yych <= '9') goto yy158;
-		goto yy128;
+		if(yych <= '-') goto yy158;
+		if(yych <= '/') goto yy129;
+		if(yych <= '9') goto yy159;
+		goto yy129;
 	}
-yy156:
-	yych = *++YYCURSOR;
-	goto yy26;
 yy157:
 	yych = *++YYCURSOR;
-	if(yych <= '/') goto yy128;
-	if(yych >= ':') goto yy128;
+	goto yy28;
 yy158:
+	yych = *++YYCURSOR;
+	if(yych <= '/') goto yy129;
+	if(yych >= ':') goto yy129;
+yy159:
 	++YYCURSOR;
 	if(YYLIMIT == YYCURSOR) YYFILL(1);
 	yych = *YYCURSOR;
 	if(yych <= 'K') {
 		if(yych <= '9') {
-			if(yych <= '/') goto yy144;
-			goto yy158;
+			if(yych <= '/') goto yy145;
+			goto yy159;
 		} else {
-			if(yych == 'F') goto yy146;
-			goto yy144;
+			if(yych == 'F') goto yy147;
+			goto yy145;
 		}
 	} else {
 		if(yych <= 'f') {
-			if(yych <= 'L') goto yy146;
-			if(yych <= 'e') goto yy144;
-			goto yy146;
+			if(yych <= 'L') goto yy147;
+			if(yych <= 'e') goto yy145;
+			goto yy147;
 		} else {
-			if(yych == 'l') goto yy146;
-			goto yy144;
+			if(yych == 'l') goto yy147;
+			goto yy145;
 		}
 	}
-yy160:
+yy161:
 	yyaccept = 4;
 	YYMARKER = ++YYCURSOR;
 	if((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
 	yych = *YYCURSOR;
-yy161:
+yy162:
 	if(yych <= 'K') {
 		if(yych <= 'D') {
-			if(yych <= '/') goto yy144;
-			if(yych <= '9') goto yy160;
-			goto yy144;
+			if(yych <= '/') goto yy145;
+			if(yych <= '9') goto yy161;
+			goto yy145;
 		} else {
-			if(yych <= 'E') goto yy166;
-			if(yych <= 'F') goto yy146;
-			goto yy144;
+			if(yych <= 'E') goto yy167;
+			if(yych <= 'F') goto yy147;
+			goto yy145;
 		}
 	} else {
 		if(yych <= 'e') {
-			if(yych <= 'L') goto yy146;
-			if(yych <= 'd') goto yy144;
-			goto yy166;
+			if(yych <= 'L') goto yy147;
+			if(yych <= 'd') goto yy145;
+			goto yy167;
 		} else {
-			if(yych <= 'f') goto yy146;
-			if(yych == 'l') goto yy146;
-			goto yy144;
+			if(yych <= 'f') goto yy147;
+			if(yych == 'l') goto yy147;
+			goto yy145;
 		}
 	}
-yy162:
+yy163:
 	yych = *++YYCURSOR;
 	if(yych <= ',') {
-		if(yych != '+') goto yy128;
+		if(yych != '+') goto yy129;
 	} else {
-		if(yych <= '-') goto yy163;
-		if(yych <= '/') goto yy128;
-		if(yych <= '9') goto yy164;
-		goto yy128;
+		if(yych <= '-') goto yy164;
+		if(yych <= '/') goto yy129;
+		if(yych <= '9') goto yy165;
+		goto yy129;
 	}
-yy163:
-	yych = *++YYCURSOR;
-	if(yych <= '/') goto yy128;
-	if(yych >= ':') goto yy128;
 yy164:
+	yych = *++YYCURSOR;
+	if(yych <= '/') goto yy129;
+	if(yych >= ':') goto yy129;
+yy165:
 	++YYCURSOR;
 	if(YYLIMIT == YYCURSOR) YYFILL(1);
 	yych = *YYCURSOR;
 	if(yych <= 'K') {
 		if(yych <= '9') {
-			if(yych <= '/') goto yy144;
-			goto yy164;
+			if(yych <= '/') goto yy145;
+			goto yy165;
 		} else {
-			if(yych == 'F') goto yy146;
-			goto yy144;
+			if(yych == 'F') goto yy147;
+			goto yy145;
 		}
 	} else {
 		if(yych <= 'f') {
-			if(yych <= 'L') goto yy146;
-			if(yych <= 'e') goto yy144;
-			goto yy146;
+			if(yych <= 'L') goto yy147;
+			if(yych <= 'e') goto yy145;
+			goto yy147;
 		} else {
-			if(yych == 'l') goto yy146;
-			goto yy144;
+			if(yych == 'l') goto yy147;
+			goto yy145;
 		}
 	}
-yy166:
+yy167:
 	yych = *++YYCURSOR;
 	if(yych <= ',') {
-		if(yych != '+') goto yy128;
+		if(yych != '+') goto yy129;
 	} else {
-		if(yych <= '-') goto yy167;
-		if(yych <= '/') goto yy128;
-		if(yych <= '9') goto yy168;
-		goto yy128;
+		if(yych <= '-') goto yy168;
+		if(yych <= '/') goto yy129;
+		if(yych <= '9') goto yy169;
+		goto yy129;
 	}
-yy167:
-	yych = *++YYCURSOR;
-	if(yych <= '/') goto yy128;
-	if(yych >= ':') goto yy128;
 yy168:
+	yych = *++YYCURSOR;
+	if(yych <= '/') goto yy129;
+	if(yych >= ':') goto yy129;
+yy169:
 	++YYCURSOR;
 	if(YYLIMIT == YYCURSOR) YYFILL(1);
 	yych = *YYCURSOR;
 	if(yych <= 'K') {
 		if(yych <= '9') {
-			if(yych <= '/') goto yy144;
-			goto yy168;
+			if(yych <= '/') goto yy145;
+			goto yy169;
 		} else {
-			if(yych == 'F') goto yy146;
-			goto yy144;
+			if(yych == 'F') goto yy147;
+			goto yy145;
 		}
 	} else {
 		if(yych <= 'f') {
-			if(yych <= 'L') goto yy146;
-			if(yych <= 'e') goto yy144;
-			goto yy146;
+			if(yych <= 'L') goto yy147;
+			if(yych <= 'e') goto yy145;
+			goto yy147;
 		} else {
-			if(yych == 'l') goto yy146;
-			goto yy144;
+			if(yych == 'l') goto yy147;
+			goto yy145;
 		}
 	}
-yy170:
-	yyaccept = 1;
+yy171:
+	yyaccept = 2;
 	YYMARKER = ++YYCURSOR;
 	if((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
 	yych = *YYCURSOR;
-yy171:
+yy172:
 	if(yych <= 'L') {
 		if(yych <= '9') {
-			if(yych == '.') goto yy152;
-			if(yych <= '/') goto yy26;
-			goto yy170;
+			if(yych == '.') goto yy153;
+			if(yych <= '/') goto yy28;
+			goto yy171;
 		} else {
-			if(yych == 'E') goto yy155;
-			if(yych <= 'K') goto yy26;
-			goto yy156;
+			if(yych == 'E') goto yy156;
+			if(yych <= 'K') goto yy28;
+			goto yy157;
 		}
 	} else {
 		if(yych <= 'e') {
-			if(yych == 'U') goto yy156;
-			if(yych <= 'd') goto yy26;
-			goto yy155;
+			if(yych == 'U') goto yy157;
+			if(yych <= 'd') goto yy28;
+			goto yy156;
 		} else {
 			if(yych <= 'l') {
-				if(yych <= 'k') goto yy26;
-				goto yy156;
+				if(yych <= 'k') goto yy28;
+				goto yy157;
 			} else {
-				if(yych == 'u') goto yy156;
-				goto yy26;
+				if(yych == 'u') goto yy157;
+				goto yy28;
 			}
 		}
 	}
-yy172:
+yy173:
 	yych = *++YYCURSOR;
 	if(yych <= '@') {
-		if(yych <= '/') goto yy128;
-		if(yych >= ':') goto yy128;
+		if(yych <= '/') goto yy129;
+		if(yych >= ':') goto yy129;
 	} else {
-		if(yych <= 'F') goto yy173;
-		if(yych <= '`') goto yy128;
-		if(yych >= 'g') goto yy128;
+		if(yych <= 'F') goto yy174;
+		if(yych <= '`') goto yy129;
+		if(yych >= 'g') goto yy129;
 	}
-yy173:
+yy174:
 	++YYCURSOR;
 	if(YYLIMIT == YYCURSOR) YYFILL(1);
 	yych = *YYCURSOR;
 	if(yych <= 'T') {
 		if(yych <= '@') {
-			if(yych <= '/') goto yy26;
-			if(yych <= '9') goto yy173;
-			goto yy26;
+			if(yych <= '/') goto yy28;
+			if(yych <= '9') goto yy174;
+			goto yy28;
 		} else {
-			if(yych <= 'F') goto yy173;
-			if(yych == 'L') goto yy156;
-			goto yy26;
+			if(yych <= 'F') goto yy174;
+			if(yych == 'L') goto yy157;
+			goto yy28;
 		}
 	} else {
 		if(yych <= 'k') {
-			if(yych <= 'U') goto yy156;
-			if(yych <= '`') goto yy26;
-			if(yych <= 'f') goto yy173;
-			goto yy26;
+			if(yych <= 'U') goto yy157;
+			if(yych <= '`') goto yy28;
+			if(yych <= 'f') goto yy174;
+			goto yy28;
 		} else {
-			if(yych <= 'l') goto yy156;
-			if(yych == 'u') goto yy156;
-			goto yy26;
+			if(yych <= 'l') goto yy157;
+			if(yych == 'u') goto yy157;
+			goto yy28;
 		}
 	}
-yy175:
+yy176:
 	++YYCURSOR;
 	if(YYLIMIT == YYCURSOR) YYFILL(1);
 	yych = *YYCURSOR;
-yy176:
+yy177:
 	if(yych <= 'Z') {
 		if(yych <= '/') goto yy5;
-		if(yych <= '9') goto yy175;
+		if(yych <= '9') goto yy176;
 		if(yych <= '@') goto yy5;
-		goto yy175;
+		goto yy176;
 	} else {
 		if(yych <= '_') {
 			if(yych <= '^') goto yy5;
-			goto yy175;
+			goto yy176;
 		} else {
 			if(yych <= '`') goto yy5;
-			if(yych <= 'z') goto yy175;
+			if(yych <= 'z') goto yy176;
 			goto yy5;
 		}
 	}
-yy177:
+yy178:
+	yych = *++YYCURSOR;
+	if(yych == 'N') goto yy179;
+	if(yych != 'n') goto yy129;
+yy179:
+	yych = *++YYCURSOR;
+	if(yych == 'C') goto yy180;
+	if(yych != 'c') goto yy129;
+yy180:
+	yych = *++YYCURSOR;
+	if(yych == 'L') goto yy181;
+	if(yych != 'l') goto yy129;
+yy181:
+	yych = *++YYCURSOR;
+	if(yych == 'U') goto yy182;
+	if(yych != 'u') goto yy129;
+yy182:
+	yych = *++YYCURSOR;
+	if(yych == 'D') goto yy183;
+	if(yych != 'd') goto yy129;
+yy183:
+	yych = *++YYCURSOR;
+	if(yych == 'E') goto yy184;
+	if(yych != 'e') goto yy129;
+yy184:
+	++YYCURSOR;
+#line 147 "src/sc_man_scanner.re"
+	{ RET(TK_Include); }
+#line 1313 "src/sc_man_scanner.h"
+yy186:
+	yych = *++YYCURSOR;
+	if(yych == 'C') goto yy216;
+	if(yych == 'c') goto yy216;
+	goto yy177;
+yy187:
 	yych = *++YYCURSOR;
 	if(yych <= 'O') {
-		if(yych == 'I') goto yy185;
-		if(yych <= 'N') goto yy176;
-		goto yy184;
+		if(yych == 'I') goto yy195;
+		if(yych <= 'N') goto yy177;
+		goto yy194;
 	} else {
 		if(yych <= 'i') {
-			if(yych <= 'h') goto yy176;
-			goto yy185;
+			if(yych <= 'h') goto yy177;
+			goto yy195;
 		} else {
-			if(yych == 'o') goto yy184;
-			goto yy176;
+			if(yych == 'o') goto yy194;
+			goto yy177;
 		}
 	}
-yy178:
-	yych = *++YYCURSOR;
-	if(yych == 'B') goto yy179;
-	if(yych != 'b') goto yy176;
-yy179:
-	yych = *++YYCURSOR;
-	if(yych == 'L') goto yy180;
-	if(yych != 'l') goto yy176;
-yy180:
-	yych = *++YYCURSOR;
-	if(yych == 'I') goto yy181;
-	if(yych != 'i') goto yy176;
-yy181:
-	yych = *++YYCURSOR;
-	if(yych == 'C') goto yy182;
-	if(yych != 'c') goto yy176;
-yy182:
+yy188:
+	yych = *++YYCURSOR;
+	if(yych == 'B') goto yy189;
+	if(yych != 'b') goto yy177;
+yy189:
+	yych = *++YYCURSOR;
+	if(yych == 'L') goto yy190;
+	if(yych != 'l') goto yy177;
+yy190:
+	yych = *++YYCURSOR;
+	if(yych == 'I') goto yy191;
+	if(yych != 'i') goto yy177;
+yy191:
+	yych = *++YYCURSOR;
+	if(yych == 'C') goto yy192;
+	if(yych != 'c') goto yy177;
+yy192:
 	++YYCURSOR;
 	if((yych = *YYCURSOR) <= 'Z') {
-		if(yych <= '/') goto yy183;
-		if(yych <= '9') goto yy175;
-		if(yych >= 'A') goto yy175;
+		if(yych <= '/') goto yy193;
+		if(yych <= '9') goto yy176;
+		if(yych >= 'A') goto yy176;
 	} else {
 		if(yych <= '_') {
-			if(yych >= '_') goto yy175;
+			if(yych >= '_') goto yy176;
 		} else {
-			if(yych <= '`') goto yy183;
-			if(yych <= 'z') goto yy175;
+			if(yych <= '`') goto yy193;
+			if(yych <= 'z') goto yy176;
 		}
 	}
-yy183:
+yy193:
 #line 121 "src/sc_man_scanner.re"
 	{ RET(TK_Public); }
-#line 1320 "src/sc_man_scanner.h"
-yy184:
-	yych = *++YYCURSOR;
-	if(yych == 'T') goto yy191;
-	if(yych == 't') goto yy191;
-	goto yy176;
-yy185:
-	yych = *++YYCURSOR;
-	if(yych == 'V') goto yy186;
-	if(yych != 'v') goto yy176;
-yy186:
-	yych = *++YYCURSOR;
-	if(yych == 'A') goto yy187;
-	if(yych != 'a') goto yy176;
-yy187:
-	yych = *++YYCURSOR;
-	if(yych == 'T') goto yy188;
-	if(yych != 't') goto yy176;
-yy188:
-	yych = *++YYCURSOR;
-	if(yych == 'E') goto yy189;
-	if(yych != 'e') goto yy176;
-yy189:
+#line 1367 "src/sc_man_scanner.h"
+yy194:
+	yych = *++YYCURSOR;
+	if(yych <= 'T') {
+		if(yych == 'J') goto yy201;
+		if(yych <= 'S') goto yy177;
+		goto yy202;
+	} else {
+		if(yych <= 'j') {
+			if(yych <= 'i') goto yy177;
+			goto yy201;
+		} else {
+			if(yych == 't') goto yy202;
+			goto yy177;
+		}
+	}
+yy195: