Kevin Eady
|
e41f70d72e
|
Add support for interpolated strings ("interstrings") (#369)
* Update grammar to support interpolated strings
* Struct initializers, case switchs are regular strings
* Initial stub for interpolated string in AST
This splits the previous STRING_LITERAL terminal into a production,
stringLiteral, to handle REGULAR_STRING terminal and interpolatedString
production.
* Change interpolated strings to expressions
* Fix mode handling in grammar
* Grammar fixes
- Fix mode handling in lexer
- Interpolated strings only have one expression
* Can successfully parse, stub compile interstrings
$"He {there + print("hello")}";
* Add formatting string to grammar
* Fix tests, and add test stubs
* Rename curleys to brace; better AST generation
* initial work interstring instruction
* Initial work on formatted string instruction: emit
* Formatted string instruction: execution
* Add simple formatted string test
* Add formatted string test src
* Review changes #1
- Rename `FormattedString` to `FormatExpression`
- Rename overloaded `try_to_format()` to `get_formatted()`
* Review changes part 2
- Rename `InterpolatedString` ast node to `InterpolateString`
* Review changes part 3
- Modify `ins_interpolate_string`
* Review changes part 4
- Remove unused formal parameter
* Add negative tests
* Spruce up positive tests
* Fix braces, escape chars inside interstring
* Fix, add tests for escaped char and double brace
* Address differences for new lines in tests
* Update Escript version
* Make empty expression an error
* Add documentation for interpolated strings
* Quick touchup on docs
|
2021-03-11 22:48:16 +01:00 |
|
Kevin Eady
|
44c864b917
|
Remove erroneous lexing productions (#371)
* Remove erroneous lexing productions
* Fix hex float literals
* Address review comments.
|
2021-02-27 23:54:07 +01:00 |
|
Kevin Eady
|
c29c4ebfab
|
Undo breakage caused by multiline strings (#375)
* Undo breakage caused by multiline strings
* Use different newline string test
|
2021-02-26 22:59:55 +01:00 |
|
Kevin Eady
|
0cd9412066
|
Properly scope the compiler includes to the Bscript folder. (#360)
|
2021-02-25 16:53:22 +01:00 |
|
Eric Swanson
|
78243c208e
|
Disallow multiline string literals (#341)
|
2020-10-20 22:39:56 -07:00 |
|
Eric Swanson
|
d74146a2f9
|
Report location of integer values that are out of range (#319)
|
2020-09-20 11:04:37 -07:00 |
|
Eric Swanson
|
f2a8c9e480
|
New compiler: add support for function references (#289)
Adds:
- ast/FunctionReference
|
2020-09-08 23:20:32 -07:00 |
|
Eric Swanson
|
5e85fcc9e4
|
New compiler: Add IntegerValue (#243)
|
2020-08-25 23:27:24 -07:00 |
|
Eric Swanson
|
47aeb634d6
|
New compiler: Add StringValue (#235)
* Add StringValue
|
2020-08-20 10:27:35 +02:00 |
|
Eric Swanson
|
81331b7200
|
Add FloatValue (#233)
|
2020-08-19 19:43:08 +02:00 |
|
Eric Swanson
|
ed218a967f
|
Add AST builder stubs (#230)
* Add astbuilder/TreeBuilder
* Add astbuilder/ValueBuilder
* Add astbuilder/ExpressionBuilder
* Add astbuilder/ SimpleStatementBuilder
* Add astbuilder/CompoundStatementBuilder
* Add ModuleDeclarationBuilder
* Add ProgramBuilder
* Add UserFunctionBuilder
|
2020-08-18 12:07:51 +02:00 |
|