Commit graph

12 commits

Author SHA1 Message Date
turleypol
7627e3d353
"Preview/Initial"- Version sourcecode formatting feature (#626)
* Squash only prettify changes from escript_formating_try

* support of "format-off" / "format-on" comments to mark areas without
formatting

* fix typo

* added FormatterIdentLevel, FormatterMergeEmptyLines cfg entry
better line splits for dicts/arrays

* added several spacing options. the current setting list is now:
//LineWidth
FormatterLineWidth 80
// keep original keyword spelling
FormatterKeepKeywords 0
// number of spaces for ident
FormatterIdentLevel 2
// multiple newlines get merged to a single
FormatterMergeEmptyLines 1
// space between emtpy parenthesis eg foo() vs foo( )
FormatterEmptyParenthesisSpacing 0
// space between emtpy brackets eg struct{} vs struct{ }
FormatterEmptyBracketSpacing 0
// space after/before parenthesis in conditionals
// eg if ( true ) vs if (true)
FormatterConditionalParenthesisSpacing 1
// space after/before parenthesis
// eg foo( true ) vs foo(true)
FormatterParenthesisSpacing 1
// space after/before brackets
// eg array{ true } vs array{true}
FormatterBracketSpacing 1
// add space after delimiter comma or semi in for loops
// eg {1, 2, 3} vs {1,2,3}
FormatterDelimiterSpacing 1
// add space around assignment
// eg a := 1; vs a:=1;
FormatterAssignmentSpacing 1
// add space around comparison
// eg a == 1 vs a==1
FormatterComparisonSpacing 1
// add space around operations
// eg a + 1 vs a+1
FormatterOperatorSpacing 1
// use \r\n as newline instead of \n
FormatterWindowsLineEndings 0

* added tab support
// use tabs instead of spaces
FormatterUseTabs 0
// tab width
FormatterTabWidth 4

* extended example ecompile.cfg with formatter settings

* cleanup

* program args comma is optional...
fixed line comments in group splitting

* since tokenids are now correct no more guessing for linecomments needed

* comments use as start tokenid the whitespace token if its on the same
line

* splitted processing from linebuilding

* renamed TokenPart to FmtToken better matches the purpose.
Comments get directly stored as FmtToken
started with a context enum

* better(?) formatting for groups

* fix eof rawlines
added check that all comments/rawlines got parsed

* const correctness

* datatype adapted to antlr

* fixed warnings

* added InsertNewlineAtEOF

* add newline at the end if the original file had one
dont strip comment whitespace if its somejind of "header block"
use the defined lineending for /* */ comments

* docs

* \r\n is default on windows \n otherwise

* fixed warning

---------

Co-authored-by: Kevin Eady <8634912+KevinEady@users.noreply.github.com>
2024-02-26 21:21:44 +01:00
turleypol
cb6750405c
Double to string precision (#580)
* use std::to_chars for doubles

* fixed cmake errors when an escript error occurs

* macos 13 with clang15

* CI: macos new cache version

* guessing game

* guess no2

* test shipped clang with deloytarget env

* adapted testdata, lets see if all platforms behave the same

* explicit test if high precision double can get packed+unpacked

* log testclient receive buffer on error

* added docs
2023-12-20 22:13:39 +01:00
turleypol
a538d812a0
Unpack of bigger double values on windows (#576)
* added test for pack/unpack double which has exponent representation. Bug
in vs 2022 17.8..
removed unneeded minimum versions of cmake, root cmake file has a higher
minimum version

* switch back to vs2019

* force rebuild external libs

* docs
2023-12-10 20:30:17 +00:00
Kevin Eady
ae96ecbf77
Remove OGC from EcompileMain, testsuites (#383)
* Remove OGC from escript testsuite

* Remove compiler options

* Remove Facility::Compiler

* Update docs and options in ecompile help usage

* Update core-changes, breaking-changes
2021-03-04 17:39:14 +01:00
turleypol
92bb0a7c15
restartpkg will now be executed always on the end, to prevent cleanup (#380)
by other pkgs
updated sysevent.inc
fixed output in escripttests when linecount differs
2021-02-28 16:19:31 +01:00
turleypol
8ba2639669
Strftime (#345)
* updated strformattime to allow c++11 specifiers, removed 100 chr
limitation

* ambiguous std::max on windows

* fixed utc dependent testdata

* print output file on runecl error

* vs2019 seems to not support E and 0 formats

* use vector of chars as buffer to avoid potential UB

* resize vector, extended test
2020-11-06 21:57:50 +01:00
Eric Swanson
d8ad58f64f
Update test suite for new compiler (#299)
* Update test suite:
- run test suite with both OG compiler and new compiler
- run compiler parity test against testsuite/escript
2020-09-11 01:38:39 -07:00
Eric Swanson
e42892fe7b Compiler v1 error messages in *.err1 files 2020-08-01 17:20:20 -07:00
turleypol
6ef50f50dd Compilation/execution on ARM is now possible 2020-01-06 22:19:51 +01:00
turleypol
ea0c533364 fixed leak in compiler and xml filemod
ecompile/runecl no longer try to log to pol logs
activated xml unittest
print stderr on testfailure
2018-12-23 13:55:47 +01:00
turleypol
be7703ee40 next... 2018-10-31 11:52:29 +01:00
turleypol
8de143f6af EScript Tests are now implemented completly in cmake
use ctest or target "test"
2018-10-30 21:23:40 +01:00