6a563da1b0
doc: include dquote strings in Person.im
2024-11-17 09:32:49 +00:00
c9661af81e
frontend: compile: print number and atom token info
2024-11-17 09:32:26 +00:00
104e549b32
lang: lex: implement lexing of numbers and atoms
2024-11-17 09:31:58 +00:00
f55b8f4851
frontend: compile: use new opaque lexer interface
2024-11-16 23:05:07 +00:00
f14c387a6e
lang: lex: implement state stack; make lexer structure opaque
...
the state stack is used to track whether a string is currently being read,
what kind of string it is, and whether or not we are in an interpolation
within that string.
2024-11-16 23:03:43 +00:00
412e9abf05
frontend: compile: add colour-coding to token list
2024-11-16 23:03:16 +00:00
e01798db2f
doc: add a note describing lexer state transitions
2024-11-16 21:30:45 +00:00
102769735e
lang: lex: start implementing strings and interpolation
2024-11-16 21:30:32 +00:00
7959dc26a1
Merge branch 'main' of https://github.com/washh/ivy
2024-11-16 20:40:32 +00:00
6e5db6a3e2
frontend: compile: print lex token details as they are read
2024-11-16 17:06:02 +00:00
00cf226078
lang: lex: implement lexing of symbols, identifiers, labels, keywords, and comments
2024-11-16 17:05:29 +00:00
024d317e13
cmake: store all build artifacts in bin/ and lib/ directories
2024-11-16 17:04:50 +00:00
5af7aebba7
vim: fix self:: being highlighted as a label rather than a builtin var
2024-11-16 17:03:51 +00:00
646a851a10
meta: add msvc support
...
since bluelib is already cross-platform, this is mostly just adding
__declspec(dllexport) to the library functions.
2024-11-14 19:30:36 +00:00
51d7fdfb39
vim: fix consecutive labels not highlighting; add support for class messages
2024-11-14 13:13:06 +00:00
53a51c4598
doc: remove internal param names from protocol messages
2024-11-14 13:12:28 +00:00
55a8435cd3
doc: add sample package file tree
2024-11-13 21:55:32 +00:00
06bf9a3030
meta: rename frontend source directory
2024-11-13 21:38:55 +00:00
154b1c4dcc
frontend: compile: pass all input files through the lexer
2024-11-13 21:37:49 +00:00
6b02a86ba4
lang: implement identifier support in the lexer
2024-11-13 21:37:00 +00:00
cbd8639605
common: add generic input-line interface, and an implementation of it for text files
2024-11-13 21:36:37 +00:00
bf2c9c1d90
meta: add internal common library
2024-11-12 19:56:02 +00:00
d6dea45f52
meta: rename library modules
2024-11-12 19:55:47 +00:00
e71056f26b
meta: add stub compiler, assembler, and runtime libraries
2024-11-11 22:25:01 +00:00
d77aaefa20
vscode: add keywords, strings, comments, and selector labels to ivy grammar
2024-11-11 21:39:22 +00:00
a424941481
meta: add vscode language support extension
2024-11-11 16:24:23 +00:00
712bdd3e76
vim: add support for word operators, package/use identifier highlighting, slashes in atom names
2024-11-10 12:23:44 +00:00
839259cdd7
doc: add and, or, not, is, is not operators
2024-11-10 12:22:54 +00:00
8a7198b70b
doc: add missing statement separator
2024-11-10 12:22:31 +00:00
f1e797e6ba
doc: change exception handler lambda to take two parameters
2024-11-10 12:22:13 +00:00
546d5db4e2
doc: fix package keyword used in for-loop example
2024-11-10 12:21:39 +00:00
0b56aa9b27
doc: add -put:at: package syntax example
2024-11-10 12:21:12 +00:00
acfc811a38
doc: add ! message handler terminator token
2024-11-10 12:20:44 +00:00
0603b2f52a
doc: add statement separators and one-line message handler support
2024-11-08 18:53:19 +00:00
631b19e051
doc: convert more of Person.im to assembly
2024-11-08 13:24:37 +00:00
4d4e86be13
doc: add missing self qualifier to (Person) -getAgeInUnits:
2024-11-08 13:24:18 +00:00
a8340a01f9
vim: add support for asm comments, idents, atoms, and new keywords and index bases
2024-11-08 13:19:11 +00:00
78761cd51f
doc: document msg instructions; remove duplicate ldr instruction
2024-11-08 13:18:23 +00:00
e55fdbd0db
doc: add const pool to ivy assembly file
2024-11-05 22:17:36 +00:00
9323c83b31
vim: add support for ivy assembly language
2024-11-05 22:16:50 +00:00
fd65b665c4
doc: add assembly source file for Person.im
2024-11-05 13:23:16 +00:00
673bb4b9cc
doc: add vm instruction for returning nothing
2024-11-05 13:22:57 +00:00
2c4c297cde
doc: change package getter/setter messages
2024-11-05 13:22:40 +00:00
1562b19358
vim: add support for property syntax
2024-11-05 13:21:42 +00:00
de1aa54fc0
doc: re-design property syntax
2024-11-05 13:21:25 +00:00
c96d9a4b14
add vim syntax highlighting plugin
2024-11-02 15:11:13 +00:00
ac92c5317e
add existing documentation
2024-11-02 15:11:00 +00:00
d5c41cbbaa
cmd: add separate command for building ivy source and assembly files
2024-11-02 11:18:38 +00:00
3b7cf3c10c
initial commit
2024-11-01 21:41:44 +00:00