-
f524899da4
lang: lex: convert lexer token queue to b_queue
Max Wash
2024-11-24 16:12:06 +00:00
-
ab74c882d1
lang: ast: fill in stub functions for unit and unit-package
Max Wash
2024-11-24 16:11:33 +00:00
-
70aab9998b
lang: ast: add ast node size to ast_node_type
Max Wash
2024-11-24 11:46:42 +00:00
-
d43e387158
lang: ast: add state size to ast_node_type
Max Wash
2024-11-24 11:42:43 +00:00
-
f1ea916155
lang: ast: re-factor parser into multiple files
Max Wash
2024-11-24 11:10:42 +00:00
-
a25683ddc9
lang: lex: move all lex enums to their own value ranges
Max Wash
2024-11-24 11:10:27 +00:00
-
e71f6a0904
frontend: repl: pass user input through the parser
Max Wash
2024-11-23 19:28:26 +00:00
-
ed35011931
lang: ast: implement node, parser, and parser state management
Max Wash
2024-11-23 19:28:03 +00:00
-
b630aa009c
lang: lex: add function to check if tokens are available
Max Wash
2024-11-23 19:27:29 +00:00
-
54a0c331b2
common: add a status code for internal errors
Max Wash
2024-11-23 19:26:29 +00:00
-
5c5a2d236c
lang: ast: add stub parser functions
Max Wash
2024-11-23 10:15:40 +00:00
-
8219797cbb
cmake: don't link bluelib modules to their dependencies
Max Wash
2024-11-23 10:14:05 +00:00
-
6f06f42953
lang: add missing includes
Max Wash
2024-11-22 22:30:26 +00:00
-
f1be82c495
asm: add missing includes
Max Wash
2024-11-22 22:30:15 +00:00
-
ceb9f10b66
lang: add ast node definitions
Max Wash
2024-11-22 21:47:37 +00:00
-
90f96b6229
lang: lex: fix regular number characters not incrementing the token length
Max Wash
2024-11-21 20:05:13 +00:00
-
2d89db48d2
doc: standardise the use of braces, brackets, and parens in asm source
Max Wash
2024-11-20 22:15:14 +00:00
-
230e66e066
asm: lex: add left and right brace symbols
Max Wash
2024-11-20 22:15:10 +00:00
-
17ee2b6b57
frontend: switch to new bluelib tty interface
Max Wash
2024-11-20 22:14:35 +00:00
-
92f407ac09
lang: add colour to internal print functions
Max Wash
2024-11-20 22:14:11 +00:00
-
8df4592a6b
frontend: assemble: lex assembly file contents
Max Wash
2024-11-19 22:09:54 +00:00
-
adf4e38578
frontend: implement function for printing assembly lex tokens
Max Wash
2024-11-19 22:09:32 +00:00
-
4e8d6e8122
asm: implement asembly lexer
Max Wash
2024-11-19 22:08:58 +00:00
-
605d70d967
doc: add decimal number to sample source file
Max Wash
2024-11-19 16:58:44 +00:00
-
335e360b2d
frontend: implement printing integer and double lex tokens
Max Wash
2024-11-19 16:57:39 +00:00
-
6e642b3c19
lang: lex: implement lexing of decimal numbers
Max Wash
2024-11-19 16:57:20 +00:00
-
a54a232428
lang: lex: fix underscore label producing two separate tokens
Max Wash
2024-11-19 16:17:58 +00:00
-
ea3c01204b
frontend: repl: remove line continuations from input produced by line-ed
Max Wash
2024-11-19 15:59:05 +00:00
-
b62c048498
frontend: line-ed: fix control characters (\n, \r, etc) being mishandled on win32
Max Wash
2024-11-19 15:58:25 +00:00
-
1dbe68cfeb
lang: lex: add missing symbol and keyword definitions
Max Wash
2024-11-19 15:57:31 +00:00
-
7eab36aa5f
frontend: add command for internal debugging functionality
Max Wash
2024-11-19 15:22:58 +00:00
-
7c42bf7bc9
lang: add internal debugging interface
Max Wash
2024-11-19 15:22:39 +00:00
-
881f345bbe
lang: lex: move structure definitions to a separate header
Max Wash
2024-11-19 15:22:16 +00:00
-
0f3328565e
lang: lex: fix identifier prefixed with underscore being tokenised incorrectly
Max Wash
2024-11-19 14:00:42 +00:00
-
eda7a1f951
frontend: line-ed: add missing tty function implementations for linux & darwin
Max Wash
2024-11-19 13:00:11 +00:00
-
4d411c67f0
frontend: line-ed: add missing wchar includes
Max Wash
2024-11-19 12:59:52 +00:00
-
90a32ac1a1
lang: lex: use a dictionary to lookup keywords
Max Wash
2024-11-19 10:49:42 +00:00
-
c5f60c285e
frontend: line-ed: convert all escape code usage to s_tty calls
Max Wash
2024-11-18 21:13:28 +00:00
-
5a5b0d01d8
lang: lex: only read linefeeds up to the end of the current line buffer
Max Wash
2024-11-18 15:19:26 +00:00
-
96172eac84
frontend: line-ed: move platform-specific code to separate directory
Max Wash
2024-11-18 15:15:04 +00:00
-
29447bf5ec
frontend: split interactive and non-interactive modes into separate commands
Max Wash
2024-11-18 09:55:02 +00:00
-
d5c86c4eea
frontend: move token printing code to a separate file
Max Wash
2024-11-18 09:54:27 +00:00
-
4fc1a6ade8
frontend: add a line editor for shell input
Max Wash
2024-11-18 09:53:55 +00:00
-
f44a3364b3
common: add MIN and MAX macros
Max Wash
2024-11-18 09:53:35 +00:00
-
61eabd52c4
lang: lex: replace call to isnumber() with isdigit()
Max Wash
2024-11-17 10:58:31 +00:00
-
6a563da1b0
doc: include dquote strings in Person.im
Max Wash
2024-11-17 09:32:49 +00:00
-
c9661af81e
frontend: compile: print number and atom token info
Max Wash
2024-11-17 09:32:26 +00:00
-
104e549b32
lang: lex: implement lexing of numbers and atoms
Max Wash
2024-11-17 09:31:58 +00:00
-
f55b8f4851
frontend: compile: use new opaque lexer interface
Max Wash
2024-11-16 23:05:07 +00:00
-
f14c387a6e
lang: lex: implement state stack; make lexer structure opaque
Max Wash
2024-11-16 23:03:43 +00:00
-
412e9abf05
frontend: compile: add colour-coding to token list
Max Wash
2024-11-16 23:03:16 +00:00
-
e01798db2f
doc: add a note describing lexer state transitions
Max Wash
2024-11-16 21:30:45 +00:00
-
102769735e
lang: lex: start implementing strings and interpolation
Max Wash
2024-11-16 21:30:32 +00:00
-
7959dc26a1
Merge branch 'main' of https://github.com/washh/ivy
Max Wash
2024-11-16 20:40:32 +00:00
-
-
6e5db6a3e2
frontend: compile: print lex token details as they are read
Max Wash
2024-11-16 17:06:02 +00:00
-
00cf226078
lang: lex: implement lexing of symbols, identifiers, labels, keywords, and comments
Max Wash
2024-11-16 17:05:29 +00:00
-
024d317e13
cmake: store all build artifacts in bin/ and lib/ directories
Max Wash
2024-11-16 17:04:50 +00:00
-
5af7aebba7
vim: fix self:: being highlighted as a label rather than a builtin var
Max Wash
2024-11-16 17:03:51 +00:00
-
646a851a10
meta: add msvc support
Max Wash
2024-11-14 19:30:36 +00:00
-
-
51d7fdfb39
vim: fix consecutive labels not highlighting; add support for class messages
Max Wash
2024-11-14 13:13:06 +00:00
-
53a51c4598
doc: remove internal param names from protocol messages
Max Wash
2024-11-14 13:12:28 +00:00
-
55a8435cd3
doc: add sample package file tree
Max Wash
2024-11-13 21:55:32 +00:00
-
06bf9a3030
meta: rename frontend source directory
Max Wash
2024-11-13 21:38:55 +00:00
-
154b1c4dcc
frontend: compile: pass all input files through the lexer
Max Wash
2024-11-13 21:37:49 +00:00
-
6b02a86ba4
lang: implement identifier support in the lexer
Max Wash
2024-11-13 21:37:00 +00:00
-
cbd8639605
common: add generic input-line interface, and an implementation of it for text files
Max Wash
2024-11-13 21:36:37 +00:00
-
bf2c9c1d90
meta: add internal common library
Max Wash
2024-11-12 19:56:02 +00:00
-
d6dea45f52
meta: rename library modules
Max Wash
2024-11-12 19:55:47 +00:00
-
e71056f26b
meta: add stub compiler, assembler, and runtime libraries
Max Wash
2024-11-11 22:25:01 +00:00
-
d77aaefa20
vscode: add keywords, strings, comments, and selector labels to ivy grammar
Max Wash
2024-11-11 21:39:22 +00:00
-
a424941481
meta: add vscode language support extension
Max Wash
2024-11-11 16:24:23 +00:00
-
712bdd3e76
vim: add support for word operators, package/use identifier highlighting, slashes in atom names
Max Wash
2024-11-10 12:23:44 +00:00
-
839259cdd7
doc: add and, or, not, is, is not operators
Max Wash
2024-11-10 12:22:54 +00:00
-
8a7198b70b
doc: add missing statement separator
Max Wash
2024-11-10 12:22:31 +00:00
-
f1e797e6ba
doc: change exception handler lambda to take two parameters
Max Wash
2024-11-10 12:22:13 +00:00
-
546d5db4e2
doc: fix package keyword used in for-loop example
Max Wash
2024-11-10 12:21:39 +00:00
-
0b56aa9b27
doc: add -put:at: package syntax example
Max Wash
2024-11-10 12:21:12 +00:00
-
acfc811a38
doc: add ! message handler terminator token
Max Wash
2024-11-10 12:20:44 +00:00
-
0603b2f52a
doc: add statement separators and one-line message handler support
Max Wash
2024-11-08 18:53:19 +00:00
-
631b19e051
doc: convert more of Person.im to assembly
Max Wash
2024-11-08 13:24:37 +00:00
-
4d4e86be13
doc: add missing self qualifier to (Person) -getAgeInUnits:
Max Wash
2024-11-08 13:24:18 +00:00
-
a8340a01f9
vim: add support for asm comments, idents, atoms, and new keywords and index bases
Max Wash
2024-11-08 13:19:11 +00:00
-
78761cd51f
doc: document msg instructions; remove duplicate ldr instruction
Max Wash
2024-11-08 13:18:23 +00:00
-
e55fdbd0db
doc: add const pool to ivy assembly file
Max Wash
2024-11-05 22:17:36 +00:00
-
9323c83b31
vim: add support for ivy assembly language
Max Wash
2024-11-05 22:16:50 +00:00
-
fd65b665c4
doc: add assembly source file for Person.im
Max Wash
2024-11-05 13:23:16 +00:00
-
673bb4b9cc
doc: add vm instruction for returning nothing
Max Wash
2024-11-05 13:22:57 +00:00
-
2c4c297cde
doc: change package getter/setter messages
Max Wash
2024-11-05 13:22:40 +00:00
-
1562b19358
vim: add support for property syntax
Max Wash
2024-11-05 13:21:42 +00:00
-
de1aa54fc0
doc: re-design property syntax
Max Wash
2024-11-05 13:21:25 +00:00
-
c96d9a4b14
add vim syntax highlighting plugin
Max Wash
2024-11-02 15:11:13 +00:00
-
ac92c5317e
add existing documentation
Max Wash
2024-11-02 15:11:00 +00:00
-
d5c41cbbaa
cmd: add separate command for building ivy source and assembly files
Max Wash
2024-11-02 11:18:38 +00:00
-
3b7cf3c10c
initial commit
Max Wash
2024-11-01 21:41:44 +00:00