Skip to content

Commit

Permalink
Update runtests, add X3 language.
Browse files Browse the repository at this point in the history
  • Loading branch information
gabordemooij committed Jul 30, 2024
1 parent 7843826 commit 87800fb
Show file tree
Hide file tree
Showing 5 changed files with 277 additions and 1 deletion.
196 changes: 196 additions & 0 deletions i18n/x3/dictionary.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,196 @@
#define CTR_DICT_CODEGEN_MAP_NEW "(Map new) "
#define CTR_DICT_CODEGEN_MAP_PUT "put:"
#define CTR_DICT_CODEGEN_MAP_PUT_AT " at:"
#define CTR_DICT_CODEGEN_ARRAY_NEW "List new "
#define CTR_DICT_CODEGEN_ARRAY_NEW_PUSH "List ← "
#define CTR_DICT_END_OF_LINE "."
#define CTR_DICT_NIL "Nil"
#define CTR_DICT_BOOLEAN "Boolean"
#define CTR_DICT_TRUE "True"
#define CTR_DICT_FALSE "False"
#define CTR_DICT_NUMBER "Number"
#define CTR_DICT_STRING "String"
#define CTR_DICT_TASK "Code"
#define CTR_DICT_OBJECT "Object"
#define CTR_DICT_ARRAY_OBJECT "List"
#define CTR_DICT_MAP_OBJECT "Map"
#define CTR_DICT_PROGRAM "Program"
#define CTR_DICT_FILE "File"
#define CTR_DICT_MOMENT "Moment"
#define CTR_DICT_VAR_ICON "☞"
#define CTR_DICT_ME_ICON "⛏"
#define CTR_DICT_MY_ICON "⚿"
#define CTR_DICT_BULLET "•"
#define CTR_DICT_SYMBOL_EQUALS "="
#define CTR_DICT_PLUS "+"
#define CTR_DICT_MINUS "-"
#define CTR_DICT_MULTIPLIER "×"
#define CTR_DICT_DIVISION "÷"
#define CTR_DICT_GREATER ">"
#define CTR_DICT_LESS "<"
#define CTR_DICT_AT_SYMBOL "?"
#define CTR_DICT_PEN_ICON "✎"
#define CTR_DICT_NEW_ARRAY_AND_PUSH_SYMBOL "←"
#define CTR_DICT_GREATER_OR_EQUAL_SYMBOL "≥"
#define CTR_DICT_LESS_OR_EQUAL_SYMBOL "≤"
#define CTR_DICT_UNEQUALS_SYMBOL "≠"
#define CTR_DICT_NEW "new"
#define CTR_DICT_EQUALS "equals:"
#define CTR_DICT_AND "and:"
#define CTR_DICT_OR "or:"
#define CTR_DICT_MODULO "modulo:"
#define CTR_DICT_NOR "nor:"
#define CTR_DICT_ONDO "on:do:"
#define CTR_DICT_TYPE "type"
#define CTR_DICT_ISNIL "Nil?"
#define CTR_DICT_MYSELF "myself"
#define CTR_DICT_DO "do"
#define CTR_DICT_DONE "done"
#define CTR_DICT_IFFALSE "false:"
#define CTR_DICT_IFTRUE "true:"
#define CTR_DICT_WHILE "while:"
#define CTR_DICT_MESSAGEARGS "message:arguments:"
#define CTR_DICT_MESSAGE "message:"
#define CTR_DICT_LEARN "learn:means:"
#define CTR_DICT_BREAK "break"
#define CTR_DICT_CONTINUE "continue"
#define CTR_DICT_ELSE "else:"
#define CTR_DICT_NOT "not"
#define CTR_DICT_TONUMBER "number"
#define CTR_DICT_ITONUMBER "international number"
#define CTR_DICT_TOSTRING "string"
#define CTR_DICT_CHAR_AT_SET "character:"
#define CTR_DICT_EITHEROR "either:or:"
#define CTR_DICT_BY_SET "by:"
#define CTR_DICT_FLOOR "floor"
#define CTR_DICT_CEIL "ceil"
#define CTR_DICT_ROUND "round"
#define CTR_DICT_ABS "absolute"
#define CTR_DICT_SQRT "square root"
#define CTR_DICT_POWER "power:"
#define CTR_DICT_MIN "minimum"
#define CTR_DICT_MAX "maximum"
#define CTR_DICT_ODD "odd?"
#define CTR_DICT_EVEN "even?"
#define CTR_DICT_POS "positive?"
#define CTR_DICT_NEG "negative?"
#define CTR_DICT_TOBOOL "boolean"
#define CTR_DICT_RANDOM_NUM_BETWEEN "between:and:"
#define CTR_DICT_LENGTH "length"
#define CTR_DICT_FROM_LENGTH "from:length:"
#define CTR_DICT_TRIM "remove surrounding spaces"
#define CTR_DICT_AT "at:"
#define CTR_DICT_POSITION_SET "position:"
#define CTR_DICT_INDEX_OF "find:"
#define CTR_DICT_LAST_INDEX_OF "last:"
#define CTR_DICT_REPLACE_WITH "replace:with:"
#define CTR_DICT_SPLIT "split:"
#define CTR_DICT_SKIP "offset:"
#define CTR_DICT_RUN "run"
#define CTR_DICT_APPLY_TO "apply:"
#define CTR_DICT_APPLY_TO_AND "apply:and:"
#define CTR_DICT_VALUE_SET "set:value:"
#define CTR_DICT_ERROR "error:"
#define CTR_DICT_CATCH "catch:"
#define CTR_DICT_PUSH_SYMBOL ";"
#define CTR_DICT_SHIFT "shift"
#define CTR_DICT_COUNT "count"
#define CTR_DICT_JOIN "join:"
#define CTR_DICT_POP "pop"
#define CTR_DICT_SORT "sort:"
#define CTR_DICT_PUT_AT "put:at:"
#define CTR_DICT_MAP "map:"
#define CTR_DICT_EACH "each:"
#define CTR_DICT_WRITE "write:"
#define CTR_DICT_PATH "path"
#define CTR_DICT_READ "read"
#define CTR_DICT_APPEND "append:"
#define CTR_DICT_PREPEND "prepend:"
#define CTR_DICT_EXISTS "exists"
#define CTR_DICT_SIZE "size"
#define CTR_DICT_DELETE "delete"
#define CTR_DICT_USE_SET "use:"
#define CTR_DICT_ARRAY "list:"
#define CTR_DICT_END "end"
#define CTR_DICT_ARGUMENT "argument:"
#define CTR_DICT_ARGUMENT_COUNT "arguments"
#define CTR_DICT_WAIT_FOR_PASSW "ask password"
#define CTR_DICT_WAIT_FOR_INPUT "ask"
#define CTR_DICT_INPUT "input"
#define CTR_DICT_FLUSH "flush"
#define CTR_DICT_WAIT "wait:"
#define CTR_DICT_TIME "time"
#define CTR_DICT_RESPOND_TO "respond:"
#define CTR_DICT_RESPOND_TO_AND "respond:and:"
#define CTR_DICT_SHELL "shell:"
#define CTR_DICT_SWEEP "clean memory"
#define CTR_DICT_MEMORY_LIMIT "memory:"
#define CTR_DICT_MEMORY "memory"
#define CTR_DICT_GC_MODE "tidiness:"
#define CTR_DICT_HASH_WITH_KEY "hash:"
#define CTR_DICT_CHARACTERS "characters"
#define CTR_DICT_QUALIFIER_SET "qualify:"
#define CTR_DICT_QUALIFIER "qualifier"
#define CTR_DICT_NEW_SET "new:"
#define CTR_DICT_HOUR "hour"
#define CTR_DICT_HOUR_SET "hour:"
#define CTR_DICT_MINUTE_SET "minute:"
#define CTR_DICT_MINUTE "minute"
#define CTR_DICT_SECOND_SET "second:"
#define CTR_DICT_SECOND "second"
#define CTR_DICT_DAY "day"
#define CTR_DICT_DAY_SET "day:"
#define CTR_DICT_WEEK "week"
#define CTR_DICT_WEEK_SET "week:"
#define CTR_DICT_MONTH "month"
#define CTR_DICT_MONTH_SET "month:"
#define CTR_DICT_YEAR "year"
#define CTR_DICT_RAW "raw"
#define CTR_DICT_YEAR_SET "year:"
#define CTR_DICT_WEEK_DAY "weekday"
#define CTR_DICT_YEAR_DAY "day of the year"
#define CTR_DICT_ZONE "zone"
#define CTR_DICT_ZONE_SET "zone:"
#define CTR_DICT_ADD_SET "add:"
#define CTR_DICT_SUBTRACT_SET "subtract:"
#define CTR_DICT_MULTIPLIER_SET "multiply by:"
#define CTR_DICT_DIVIDER_SET "divide by:"
#define CTR_DICT_LAST "last"
#define CTR_DICT_FIRST "first"
#define CTR_DICT_SECOND_LAST "second last"
#define CTR_DICT_FILL_WITH "fill:with:"
#define CTR_DICT_SPLICE "replace:length:with:"
#define CTR_DICT_VALUES "values"
#define CTR_DICT_ENTRIES "entries"
#define CTR_DICT_COMPARE_SET "compare:"
#define CTR_DICT_HAS "has:"
#define CTR_DICT_COPY "copy"
#define CTR_DICT_CASE_DO "case:do:"
#define CTR_DICT_STOP "stop"
#define CTR_DICT_ASCII_UPPER_CASE "uppercase"
#define CTR_DICT_ASCII_LOWER_CASE "lowercase"
#define CTR_DICT_CONTAINS "contains:"
#define CTR_DICT_APPLY_TO_AND_AND "apply:and:and:"
#define CTR_DICT_ENVIRONMENT_VARIABLE "setting:"
#define CTR_DICT_SET_ENVIRONMENT_VARIABLE "setting:value:"
#define CTR_DICT_RESPOND_TO_AND_AND "respond:and:and:"
#define CTR_DICT_RESPOND_TO_AND_AND_AND "respond:and:and:and:"
#define CTR_DICT_CURRENT_TASK "this code block"
#define CTR_DICT_NUM_DEC_SEP "."
#define CTR_DICT_NUM_THO_SEP ","
#define CTR_DICT_QUOT_OPEN "‘"
#define CTR_DICT_QUOT_CLOSE "’"
#define CTR_DICT_MESSAGE_CHAIN ","
#define CTR_DICT_ASSIGN "≔"
#define CTR_DICT_PAREN_OPEN "("
#define CTR_DICT_PAREN_CLOSE ")"
#define CTR_DICT_BLOCK_START "{"
#define CTR_DICT_BLOCK_END "}"
#define CTR_DICT_PARAMETER_PREFIX ":"
#define CTR_DICT_RETURN "↲"
#define CTR_DICT_CODE "code"
#define CTR_DICT_PROCEDURE "procedure"
#define CTR_DICT_TOOBJECT "object"
#define CTR_DICT_PATH_OBJECT "Path"
#define CTR_DICT_CMD_OBJECT "Command"
#define CTR_DICT_RECURSIVE "recursive"
1 change: 1 addition & 0 deletions i18n/x3/extra.dict
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
s "test" "test"
1 change: 1 addition & 0 deletions i18n/x3/extra_reverse.dict
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
s "test" "test"
78 changes: 78 additions & 0 deletions i18n/x3/msg.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
#define CTR_MSG_LANG_CODE "en_us"
#define CTR_MSG_WELCOME "Citrine Programming Language EN/US\n"
#define CTR_MSG_COPYRIGHT "Written by Gabor de Mooij © copyright 2019, Licensed BSD.\n"
#define CTR_MSG_USAGE_G "Not enough arguments. Usage: ctr -g file1.h file2.h"
#define CTR_MSG_USAGE_T "Not enough arguments. Usage: ctr -t d.dict program.ctr"
#define CTR_ERR_LEX "%s on line: %d. \n"
#define CTR_ERR_TOKBUFF "Token Buffer Exausted. Tokens may not exceed 255 bytes"
#define CTR_ERR_OOM "Out of memory."
#define CTR_ERR_SYNTAX "Parse error, unexpected %s ( %s: %d )\n"
#define CTR_ERR_LONG "Message too long.\n"
#define CTR_ERR_EXP_COLON "Expected colon.\n"
#define CTR_ERR_EXP_MSG "Expected message.\n"
#define CTR_ERR_EXP_PCLS "Expected ).\n"
#define CTR_ERR_EXP_DOT "Expected a dot (.).\n"
#define CTR_ERR_EXP_KEY "Key should always be followed by a property name!\n"
#define CTR_ERR_EXP_VAR "Pointing hand should always be followed by variable!\n"
#define CTR_ERR_EXP_RCP "Expected a message recipient.\n"
#define CTR_ERR_EXP_MSG2 "Recipient cannot be followed by colon.\n"
#define CTR_ERR_INV_LAS "Invalid left-hand assignment.\n"
#define CTR_ERR_EXP_BLK "Expected block."
#define CTR_ERR_EXP_ARR "Expected list."
#define CTR_ERR_EXP_NUM "Expected number."
#define CTR_ERR_EXP_STR "Expected string."
#define CTR_ERR_DIVZERO "Division by zero."
#define CTR_ERR_BOUNDS "Index out of bounds."
#define CTR_ERR_REGEX "Could not compile regular expression."
#define CTR_ERR_SIPHKEY "Key must be exactly 16 bytes long."
#define CTR_SYM_OBJECT "[Object]"
#define CTR_SYM_BLOCK "[Block]"
#define CTR_SYM_FILE "[File (no path)]"
#define CTR_ERR_OPEN "Unable to open: %s."
#define CTR_ERR_DELETE "Unable to delete."
#define CTR_ERR_FOPENED "File has already been opened."
#define CTR_ERR_SEEK "Seek failed."
#define CTR_ERR_LOCK "Unable to lock."
#define CTR_ERR_RET "Invalid return expression.\n"
#define CTR_ERR_SEND "Cannot send message to receiver of type: %d \n"
#define CTR_ERR_KEYINX "Key index exhausted."
#define CTR_ERR_ANOMALY "Detected message level anomaly.\n"
#define CTR_ERR_UNCAUGHT "Uncatched error has occurred.\n"
#define CTR_ERR_NODE "Runtime Error. Invalid parse node: %d %s \n"
#define CTR_ERR_MISSING "Missing parse node\n"
#define CTR_ERR_FOPEN "Error while opening the file.\n"
#define CTR_ERR_RNUM "Must return a number."
#define CTR_ERR_RSTR "Must return a string."
#define CTR_ERR_RBOOL "Must return a boolean."
#define CTR_ERR_NESTING "Too many nested calls."
#define CTR_ERR_KNF "Key not found: "
#define CTR_ERR_ASSIGN "Cannot assign to undefined variable: "
#define CTR_ERR_EXEC "Unable to execute command."
#define CTR_MSG_DSC_FILE "file"
#define CTR_MSG_DSC_FLDR "folder"
#define CTR_MSG_DSC_SLNK "symbolic link"
#define CTR_MSG_DSC_CDEV "character device"
#define CTR_MSG_DSC_BDEV "block device"
#define CTR_MSG_DSC_SOCK "socket"
#define CTR_MSG_DSC_NPIP "named pipe"
#define CTR_MSG_DSC_OTHR "other"
#define CTR_MSG_DSC_TYPE "type"
#define CTR_TERR_LMISMAT "Language mismatch."
#define CTR_TERR_LONG "Translation error, message too long."
#define CTR_TERR_DICT "Error opening dictionary."
#define CTR_TERR_KMISMAT "Error: key mismatch %s %s on line %d\n"
#define CTR_TERR_ELONG "Dictionary entry too long."
#define CTR_TERR_AMWORD "Ambiguous word in dictionary: %s."
#define CTR_TERR_AMTRANS "Ambiguous translation in dictionary: %s."
#define CTR_TERR_TMISMAT "Keyword/Binary mismatch:"
#define CTR_TERR_BUFF "Unable to copy translation to buffer."
#define CTR_TERR_WARN "Warning: Not translated: "
#define CTR_TERR_TOK "Token length exceeds maximum buffer size."
#define CTR_TERR_PART "Part of keyword message token exceeds buffer limit."
#define CTR_TERR_COLONS "Different no. of colons."
#define CTR_MSG_ERROR "Error."
#define CTR_MERR_OOM "Out of memory. Failed to allocate %lu bytes.\n"
#define CTR_MERR_MALLOC "Out of memory. Failed to allocate %lu bytes (malloc failed). \n"
#define CTR_MERR_POOL "Unable to allocate memory pool.\n"
#define CTR_STDDATEFRMT "%m/%d/%Y %I:%M:%S %p"
#define CTR_STDTIMEZONE "UTC"
2 changes: 1 addition & 1 deletion runtests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -41,4 +41,4 @@ rm dict/*
./mk.sh
cp bin/${OS}/ctrxx bin/Generic/ctr
cd tests/test-o-mat
../../bin/${OS}/ctren_us runtests.ctr $1
../../bin/${OS}/ctrx3 runtests.ctr $1

0 comments on commit 87800fb

Please sign in to comment.