Commit Graph

580 Commits (5f3ccc6894f0a0769d0ed96ff928480a7ff896d5)

Author SHA1 Message Date
Joseph Frazer 9f02781a5b [DEV-6947] Add template to match UI values
The UI values need to match AND the question needs to be
visible. We do not have the visibility classifications yet, so we need to
define externs to allow this to build.
2020-01-31 16:27:04 -05:00
Joseph Frazer f2cbc5f8ad [DEV-6947] Allow param values to remove underscores 2020-01-31 16:27:04 -05:00
Austin Schaffer 0db05c442c Pass canterm flag to raters 2020-01-29 11:14:13 -05:00
Mike Gerwitz bc28af0145 Reduce size of compiler output
This both reduces some of the output and permits it to be run through
Google's Closure compiler.  Combined, this has the potential to halve the
size of classification-heavy executables, like the UI's classifier.
2020-01-23 15:01:19 -05:00
Mike Gerwitz 696a5ab371 build-aux/closure-externs.js: New file 2020-01-22 16:31:57 -05:00
Mike Gerwitz 7a2ce00ed5 src/current/compiler/js.xsl: Remove inline defaults for anyValue
This not only reduces file size, but also has a significant performance
benefit for the UI, which is almost entirely classifications.  A run for one
of our systems was reduced from 1m30s to 11s from this change.
2020-01-22 16:31:16 -05:00
Mike Gerwitz 46d5ed286c src/current/compiler/js.xsl: Strip unused result-set (@yields alt) 2020-01-22 16:31:16 -05:00
Mike Gerwitz 661684f1e4 src/current/compiler/js.xsl: Remove last anyValue arg by default
This was used to provide additional information on the stack for debugging
the compiled code.  Since this is very rarely needed, and is only needed by
someone debugging the compiler, it can be manually enabled if desired.

This also wraps it so that it'll be stripped if it is included.
2020-01-22 16:31:16 -05:00
Mike Gerwitz b51f7fa042 src/current/compiler/js.xsl: {._CMATCH_=>[_CMATCH_]}
This was confusing Closure Compiler.
2020-01-22 16:31:16 -05:00
Mike Gerwitz 47d5dc238c src/current/compiler/js.xsl: @expose Closure Compiler annotations
This is deprecated, but neither of the recommended @export or @nocollapse
work the same way.
2020-01-22 16:31:09 -05:00
Mike Gerwitz 97806d5602 src/current/compiler/js.xsl: Remove dead arg check code
This was removed during The Great Refactoring.
It will be replaced with a better systemin TAMER.
2020-01-22 16:30:53 -05:00
Mike Gerwitz e0a78c2ed6 src/current/compiler/js-calc.xsl (compile-calc)[c:let]: Remove global assignment
The previous code was unintentionally assigning to an undefined global
variable.
2020-01-22 16:30:53 -05:00
Mike Gerwitz 0718d80257 bin/tamed: Fail without explicit DONE
We want to fail e.g. on a JVM crash.
2020-01-21 11:40:14 -05:00
Mike Gerwitz 61fe1af1cb build: Add revision files for xml{o,e}
This will force a rebuild and will be useful for upcoming changes.
2020-01-14 01:13:51 -05:00
Mike Gerwitz be296a241a build-aux/Makefile.am: Optional timestamping
Note that, because of the way this is implemented, the timestamps may become
mangled (multiple per line) for parallel builds.

Output can be prettied up in the future.
2020-01-02 10:42:08 -05:00
Mike Gerwitz 3cb67109ec Cargo.toml (profile.release)[lto]: Enable 2020-01-02 10:40:52 -05:00
Joseph Frazer 2a91d7680d [DEV-6595] Loosen the way we find classification matches
Merge branch 'jira-6595'

* jira-6595:
  [DEV-6595] Loosen the way we find classification matches
2019-12-10 09:42:11 -05:00
Joseph Frazer cdacd1d93d [DEV-6595] Loosen the way we find classification matches
The `<t:match-class-code-lookup />` matches were not showing in the
summary pages. I loosened the selector so it is able to find the matches
when it generates the summary pages.
2019-12-10 08:08:52 -05:00
Mike Gerwitz 2c1ff90d0a TAMER: tameld: Proof-of-concept
This is a POC playing around with Rust to demonstrate how the linker could
be approached and to gather benchmarks.
2019-12-02 15:21:46 -05:00
Mike Gerwitz 8455a38a1d Graph-based POC
This makes use of Petgraph for representing the dependency graph and uses a
separate data structure for both string interning and indexing by symbol
name.
2019-12-02 10:05:48 -05:00
Mike Gerwitz d78d81d721 Cargo.toml: Add petgraph
This will be used to represent the dependency graph.
2019-12-02 10:00:53 -05:00
Mike Gerwitz 717375a84a Cargo.toml: Tame {on=>in} Rust
Changed to match README.md.  This makes more sense too.
2019-12-02 10:00:53 -05:00
Mike Gerwitz 8374541965 tamer: Initial baisc POC with no XML output
This is garbage code.  Do not use it.  It is intentionally throwaway.

While I've researched Rust, I haven't actually _used_ it for a project, so
this is a combination of me exploring various ways of accomplishing the
problem and forcing myself to learn certain aspects of the language.

I'll likely be using petgraph, and this also currently lacks symbol
abstractions.  This commit also performs far too much heap allocation
copying strings around.  But it _does_ perform the topological sort.

Since this only stores the symbol name, it lacks enough information about
the symbol to perform a proper linking.
2019-12-02 10:00:53 -05:00
Mike Gerwitz e53482f2a3 Introduce CARGO_BUILD_FLAGS
This is intended to permit passing `--release`, since dev builds are
terribly slow (e.g. 6s -> 0.2s).  See README.md for more information.
2019-12-02 10:00:49 -05:00
Mike Gerwitz d96f090337 core/ui: Correct vector/cmatch import path 2019-11-27 09:17:04 -05:00
Mike Gerwitz 695077d27b core/states.xml: Remove old transition file
Everything should use core/state.
2019-11-27 09:16:47 -05:00
Mike Gerwitz 01e3c33b58 tamer/Cargo.toml: Add quick_xml 2019-11-27 09:16:00 -05:00
Mike Gerwitz e52dd45872 tamer/rustfmt (max_width): Set to 80 2019-11-27 09:15:15 -05:00
Mike Gerwitz c4a8eac59e Makefile.am: Clean up currently-unused path_ vars
Cargo handles it for us.
2019-11-20 10:11:00 -05:00
Mike Gerwitz 7412a8934c tameld: Placeholder binary 2019-11-20 10:11:00 -05:00
Mike Gerwitz f72ff973a7 Makefile.am (all): {cargo=>@CARGO@}
Typo.
2019-11-20 10:11:00 -05:00
Mike Gerwitz f0ca5c60c9 Makefile.am (doc, html): New documentation target 2019-11-20 10:11:00 -05:00
Mike Gerwitz 0ab2b09dc6 Scaffolding for TAMER 2019-11-19 15:30:10 -05:00
Mike Gerwitz aff58dab63 .gitlab-ci.yml (build): Use bootstrap script
No use in maintaining this stuff in two places.
2019-11-18 14:15:21 -05:00
Mike Gerwitz d20e2bc78a tamer: Integrate into normal build process
Rust is now expected to be installed in the base image.
2019-11-18 14:15:07 -05:00
Mike Gerwitz a2478938b8 .gitlab-ci.yml (build): Clean up script
This has since been moved into the Docker image.
2019-11-18 14:06:55 -05:00
Mike Gerwitz d0208bf89b .gitlab-ci.yml (image): Make variable (BUILD_IMAGE)
We moved to an internal container registry so that we do not have to rely on
DockerHub.  Since TAME is a public project, this will allow our
configuration internally to vary from a public configuration.
2019-11-18 14:06:55 -05:00
Mike Gerwitz 8e241218b7 tamer build as part of pipeline and bootstrap 2019-11-18 14:06:54 -05:00
Mike Gerwitz fd1a5837ba TAMER: Initial commit 2019-11-18 14:05:47 -05:00
Joseph Frazer d9ecbd4e2c [DEV-6370] Package changes
Merge branch 'jira-6370'

* jira-6370:
  [DEV-6370] Allow recursive conditionals
  [DEV-6370] Pass in the $line_code rather than using it from the contract
2019-11-04 11:35:23 -05:00
Joseph Frazer 0fadbe8e8a [DEV-6370] Allow recursive conditionals
If an `lvm:if` is immediately followed by another 'lvm:if`, both should
be used to create the conditional. The existing code wouild only "select
the nearest condition".
2019-11-01 10:23:19 -04:00
Joseph Frazer cbe32aff72 [DEV-6370] Pass in the $line_code rather than using it from the contract
The LOB being passed into the function was being ignored and instead it
was pulling it from the contract object. With Package, this caused all 3
LOB to be "COMMPKGE" rather than the correct LOB being processed at the
time.

Going forward, one cannot `map` or `pass` to "line_code" as it will be
considered a reserved word.

Co-Authored-By: Jim Grundner <james.grundner@rtspecialty.com>
2019-11-01 10:23:19 -04:00
Mike Gerwitz ad7d585d37 TAME: {Adaptive=>Algebraic}
Just adapting the backronym a bit to be more accurate.  I've been meaning to
do this for over a year.
2019-10-28 13:15:37 -04:00
Mike Gerwitz 3ef6571922 Provide friendly lv:param-typedef-lookup failure for duplicate item values
The real solution is to disallow typedefs from getting into this state to
begin with, but I don't have time for that right now.
2019-10-25 13:56:47 -04:00
Mike Gerwitz e97f7a75c9 core/test/vector (_define-vector_): Require description
We want things to require documentation when possible.
2019-10-17 09:20:15 -04:00
Mike Gerwitz 39c7161cca vector/define: New package introducing _define-vector_
This is intended to work around the issue of defining arbitrary vectors
outside of a c:let.
2019-10-17 09:16:45 -04:00
Mike Gerwitz ce0e31032b core: ui: Add _match-ui-*_ templates
These are analaogus to the _match-*_ counterparts, but they convert @on@
into the question param and check against the applicability of the question.
2019-08-13 16:46:06 -04:00
Mike Gerwitz 8005268a1b lv:param-typedef-lookup: New preprocessor directive 2019-08-06 15:31:48 -04:00
Mike Gerwitz a58243c403 core/ui (_match-ui-applicable_): Account for applicability
It doesn't makes sense to consider a question to be set if it's not even
applicable.  This also helps to remove a bunch of duplicate code where these
templates are being used.
2019-07-30 14:35:05 -04:00
Mike Gerwitz 3e13b733c4 core/vector/cmatch.xml (_classify-vector_): New template
This is the analog of _classify-scalar_.
2019-07-29 14:51:38 -04:00