Age | Commit message (Collapse) | Author | Files | Lines |
|
git-svn-id: http://svn.drobilla.net/resp/resp@375 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/resp@374 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
Compile type expressions.
Only compile a top-level function if program has code to run (i.e. isn't just definitions).
Cast tuples to Object when necessary to avoid LLVM IR type mismatches (for cons stores and return values).
Fix memory leaks.
git-svn-id: http://svn.drobilla.net/resp/resp@369 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/resp@366 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
yet implemented).
Quoting is a thin lexical concept - a quote of a symbol/list compiles to a symbol/list,
rather than interpreted as code (i.e. a variable/call, respectively). A quote of anything
else is equivalent to its quotee, e.g. a quote of a String is simply that string (the quote
is removed at an early stage by the compiler). There is no Quote data type, or explicit
unquoting, or anything like that.
git-svn-id: http://svn.drobilla.net/resp/resp@365 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/resp@363 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
Step towards having first class symbols...
git-svn-id: http://svn.drobilla.net/resp/resp@362 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/resp@359 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/resp@357 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/resp@352 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
of operation.
git-svn-id: http://svn.drobilla.net/resp/resp@349 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/resp@346 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/resp@336 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/resp@329 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
Intern symbol strings, but not ASymbol objects themselves, so each symbol can
have a different Cursor. Fixes missing locations in error reporting.
git-svn-id: http://svn.drobilla.net/resp/resp@324 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/resp@321 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/resp@320 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/resp@319 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/resp@318 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
moving it to compile.cpp).
git-svn-id: http://svn.drobilla.net/resp/resp@317 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/resp@316 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/resp@315 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/resp@314 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
Add some utilities to for using named types.
git-svn-id: http://svn.drobilla.net/resp/resp@313 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/resp@310 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/resp@306 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
stage before actual backend code emission).
git-svn-id: http://svn.drobilla.net/resp/resp@304 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/resp@297 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/resp@290 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/resp@285 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/resp@284 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/resp@282 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/resp@281 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/resp@278 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
pairs), rather than tuple structure.
Remove unused/crufty depoly stage.
Remove cps from AST interface (but keep cps.cpp code around for later).
Improved command line interface for compilation stages (options -T -L -S).
git-svn-id: http://svn.drobilla.net/resp/resp@277 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/resp@270 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
Removes duplicated code in various backends and reduces Engine code
knowledge of AFn specifics (which belongs in compile.cpp).
git-svn-id: http://svn.drobilla.net/resp/resp@268 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/resp@267 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/resp@266 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/resp@265 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
(i.e. a type symbol), e.g. (Thing 2), is a call to a type constructor which creates a Tup
containing the arguments, with the symbol as the first element in the type expression,
e.g. (Thing 2) has type (Thing Int) and compiles to a tuple containing a single Int.
The type constructor `Tup' can be used as a `cons' replacement to construct
generic tuples.
git-svn-id: http://svn.drobilla.net/resp/resp@264 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/resp@262 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
A Lexeme is any "token" read from input, a lexeme has not yet beeen parsed
and could parse to anything, e.g. a string, an expression, a number, etc.
Lexemes are not (yet?) exposed to the language or ever compiled.
A String is a string literal, which can contain any character directly
except " and \. There are two special escapes: \" and \\, any other
character following a \ is a syntax error.
Fix garbage collection of REPL objects, leading to type errors from
type variable re-use because a type variable for a given AST's /address/
exists, but that address has actually been deleted and reused by new
(i.e. make top level REPL expressions and types be GC roots).
git-svn-id: http://svn.drobilla.net/resp/resp@261 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
Factor out mostly duplicated code in Env::topLevel and Env::innerMost.
git-svn-id: http://svn.drobilla.net/resp/resp@259 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
implementation type.
git-svn-id: http://svn.drobilla.net/resp/resp@258 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
Implement support for closures (via lambda lifting phase).
git-svn-id: http://svn.drobilla.net/resp/resp@254 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/resp@252 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/tuplr@248 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/tuplr@243 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|
|
git-svn-id: http://svn.drobilla.net/resp/tuplr@239 ad02d1e2-f140-0410-9f75-f8b11f17cedd
|