summary refs log tree commit diff stats
path: root/rod/charsets.nim
diff options
context:
space:
mode:
Diffstat (limited to 'rod/charsets.nim')
-rwxr-xr-xrod/charsets.nim49
1 files changed, 49 insertions, 0 deletions
diff --git a/rod/charsets.nim b/rod/charsets.nim
new file mode 100755
index 000000000..c952a73bd
--- /dev/null
+++ b/rod/charsets.nim
@@ -0,0 +1,49 @@
+#
+#
+#           The Nimrod Compiler
+#        (c) Copyright 2008 Andreas Rumpf
+#
+#    See the file "copying.txt", included in this
+#    distribution, for details about the copyright.
+#
+
+const 
+  CharSize* = SizeOf(Char)
+  Lrz* = ' '
+  Apo* = '\''
+  Tabulator* = '\x09'
+  ESC* = '\x1B'
+  CR* = '\x0D'
+  FF* = '\x0C'
+  LF* = '\x0A'
+  BEL* = '\x07'
+  BACKSPACE* = '\x08'
+  VT* = '\x0B'
+
+when defined(macos): 
+  DirSep == ':'
+  "\n" == CR & ""
+  FirstNLchar == CR
+  PathSep == ';'              # XXX: is this correct?
+else: 
+  when defined(unix): 
+    DirSep == '/'
+    "\n" == LF & ""
+    FirstNLchar == LF
+    PathSep == ':'
+  else: 
+    # windows, dos
+    DirSep == '\\'
+    "\n" == CR + LF
+    FirstNLchar == CR
+    DriveSeparator == ':'
+    PathSep == ';'
+UpLetters == {'A'..'Z', '\xC0'..'\xDE'}
+DownLetters == {'a'..'z', '\xDF'..'\xFF'}
+Numbers == {'0'..'9'}
+Letters == UpLetters + DownLetters
+type 
+  TCharSet* = set[Char]
+  PCharSet* = ref TCharSet
+
+# implementation