Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
|
|
@ -0,0 +1,71 @@
|
|||
PACKAGE MAIN
|
||||
|
||||
IMPORT (
|
||||
"FMT"
|
||||
"TIME"
|
||||
)
|
||||
|
||||
CONST PAGEWIDTH = 80
|
||||
|
||||
FUNC MAIN() {
|
||||
PRINTCAL(1969)
|
||||
}
|
||||
|
||||
FUNC PRINTCAL(YEAR INT) {
|
||||
THISDATE := TIME.DATE(YEAR, 1, 1, 1, 1, 1, 1, TIME.UTC)
|
||||
VAR (
|
||||
DAYARR [12][7][6]INT // MONTH, WEEKDAY, WEEK
|
||||
MONTH, LASTMONTH TIME.MONTH
|
||||
WEEKINMONTH, DAYINMONTH INT
|
||||
)
|
||||
FOR THISDATE.YEAR() == YEAR {
|
||||
IF MONTH = THISDATE.MONTH(); MONTH != LASTMONTH {
|
||||
WEEKINMONTH = 0
|
||||
DAYINMONTH = 1
|
||||
}
|
||||
WEEKDAY := THISDATE.WEEKDAY()
|
||||
IF WEEKDAY == 0 && DAYINMONTH > 1 {
|
||||
WEEKINMONTH++
|
||||
}
|
||||
DAYARR[INT(MONTH)-1][WEEKDAY][WEEKINMONTH] = THISDATE.DAY()
|
||||
LASTMONTH = MONTH
|
||||
DAYINMONTH++
|
||||
THISDATE = THISDATE.ADD(TIME.HOUR * 24)
|
||||
}
|
||||
CENTRE := FMT.SPRINTF("%D", PAGEWIDTH/2)
|
||||
FMT.PRINTF("%"+CENTRE+"S\N\N", "[SNOOPY]")
|
||||
CENTRE = FMT.SPRINTF("%D", PAGEWIDTH/2-2)
|
||||
FMT.PRINTF("%"+CENTRE+"D\N\N", YEAR)
|
||||
MONTHS := [12]STRING{
|
||||
" JANUARY ", " FEBRUARY", " MARCH ", " APRIL ",
|
||||
" MAY ", " JUNE ", " JULY ", " AUGUST ",
|
||||
"SEPTEMBER", " OCTOBER ", " NOVEMBER", " DECEMBER"}
|
||||
DAYS := [7]STRING{"SU", "MO", "TU", "WE", "TH", "FR", "SA"}
|
||||
FOR QTR := 0; QTR < 4; QTR++ {
|
||||
FOR MONTHINQTR := 0; MONTHINQTR < 3; MONTHINQTR++ { // MONTH NAMES
|
||||
FMT.PRINTF(" %S ", MONTHS[QTR*3+MONTHINQTR])
|
||||
}
|
||||
FMT.PRINTLN()
|
||||
FOR MONTHINQTR := 0; MONTHINQTR < 3; MONTHINQTR++ { // DAY NAMES
|
||||
FOR DAY := 0; DAY < 7; DAY++ {
|
||||
FMT.PRINTF(" %S", DAYS[DAY])
|
||||
}
|
||||
FMT.PRINTF(" ")
|
||||
}
|
||||
FMT.PRINTLN()
|
||||
FOR WEEKINMONTH = 0; WEEKINMONTH < 6; WEEKINMONTH++ {
|
||||
FOR MONTHINQTR := 0; MONTHINQTR < 3; MONTHINQTR++ {
|
||||
FOR DAY := 0; DAY < 7; DAY++ {
|
||||
IF DAYARR[QTR*3+MONTHINQTR][DAY][WEEKINMONTH] == 0 {
|
||||
FMT.PRINTF(" ")
|
||||
} ELSE {
|
||||
FMT.PRINTF("%3D", DAYARR[QTR*3+MONTHINQTR][DAY][WEEKINMONTH])
|
||||
}
|
||||
}
|
||||
FMT.PRINTF(" ")
|
||||
}
|
||||
FMT.PRINTLN()
|
||||
}
|
||||
FMT.PRINTLN()
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"io/ioutil"
|
||||
"log"
|
||||
"os"
|
||||
"os/exec"
|
||||
"strings"
|
||||
)
|
||||
|
||||
func check(err error) {
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
func main() {
|
||||
lower := []string{
|
||||
"const ", "else ", "for ", "func ", "if ", "import ", "int ", "package ", "string ", "var ",
|
||||
" int", "int(", "string{", " main", "main(", "fmt", "time", "%d", "%s", "%3d", `d\n\n`, `s\n\n`,
|
||||
}
|
||||
title := []string{
|
||||
".add", ".date", ".day", ".hour", ".month", ".printf", ".println", ".sprintf", ".weekday", ".year",
|
||||
}
|
||||
code, err := ioutil.ReadFile("realcal_UC.txt")
|
||||
check(err)
|
||||
text := string(code)
|
||||
for _, lwr := range lower {
|
||||
text = strings.Replace(text, strings.ToUpper(lwr), lwr, -1)
|
||||
}
|
||||
for _, ttl := range title {
|
||||
text = strings.Replace(text, strings.ToUpper(ttl), "."+strings.Title(ttl[1:]), -1)
|
||||
}
|
||||
err = ioutil.WriteFile("realcal_NC.go", []byte(text), 0666)
|
||||
check(err)
|
||||
cmd := exec.Command("go", "run", "realcal_NC.go")
|
||||
cmd.Stdout = os.Stdout
|
||||
cmd.Stderr = os.Stderr
|
||||
check(cmd.Run())
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue