Commit Graph

40 Commits (7472cb882c0b2d13d7d8304b805e0a19c7cc38e4)

Author SHA1 Message Date
Mike Gerwitz 7472cb882c Return map symbol support
This is a backwards-incompatible change that, like the input map,
requires the use of symbols in the return map.  This will allow us to
forego the use of @keep and will have the return map be the authority
of what gets linked (all of its dependencies).

* src/current/compiler/map.xsl: Add symbol support to return-map.
2017-07-12 14:23:26 -04:00
Mike Gerwitz 5b9cfaec31 Allow ##any in return map
* src/current/map.xsd (return-map): Allow ##any.
2017-07-12 14:16:42 -04:00
Mike Gerwitz 7d9fb48e11 Strip `xsl' namespace prefix from path.xsl
This also sets the XSLT version to 2.0.

* src/current/include/preproc/path.xsl: Strip `xsl' namespace prefix.
2017-07-12 10:10:45 -04:00
Mike Gerwitz c156c10989 Provide symtable to all map compilation steps
* src/current/compiler/map.xsl: Pass symtable to all templates.
2017-07-11 08:59:17 -04:00
Mike Gerwitz 86ac6546dc linker.xsl: Strip xsl ns prefix
* src/current/compiler/linker.xsl: Strip xsl ns prefix.
2017-07-11 08:59:16 -04:00
Mike Gerwitz e237ab47f2 Recognize meta fields in map
* src/current/compiler/map.xsl (lvmc:validate-ui) [lvm:program-map]:
  Recognize "meta:"-prefixed meta field ids in map.
2017-07-07 15:18:20 -04:00
Mike Gerwitz 68dd0706a8 Simplify unknown source field map detection
Simple refactoring.  Code still is terrible.

* src/current/compiler/map.xsl (lvmc:validate-ui) [lvm:program-map]:
  Factor common expressions.
2017-07-07 15:18:20 -04:00
Mike Gerwitz 652465a0a0 tools/strip: Add utility 2017-07-05 13:52:06 -04:00
Mike Gerwitz b7596515b3 map compiler: Use symbol table
This allows for the proper importing of symbols into the package
generated by the map compiler, which in turn allows for processing
their default values.
2017-07-05 13:52:04 -04:00
Mike Gerwitz 8e5666f845 Ignore externs in local polluting symbol processing
* src/current/include/preproc/symtable.xsl (preproc:symimport lv:import):
  Ignore symbols flagged as externs when processing local polluted symbols.
2017-07-05 13:52:02 -04:00
Mike Gerwitz 83e3d72b6e Include param default in symbol
* src/symtable/symbols.xsl (preproc:symtable lv:param):
  Add `@default' attribute to represent param default value.
2017-07-05 13:51:59 -04:00
Mike Gerwitz 353440ef31 Reorder static linked output
`set_defaults' wasn't in scope of maps.

* src/current/compiler/js.xsl (compiler:exit-rater lv:package):
  Remove static output.
* src/current/compiler/linker.xsl (l:link-deps lv:package):
  Link static after all other blocks, at highest scope within the
  compiled module.
2017-07-05 13:51:28 -04:00
Mike Gerwitz ec4c73f749 Correct syntax error in linked output for known class map
* src/current/compiler/js.xsl (lv:paclage compiler:exit-rater):
  Add missing semicolon
2017-07-05 13:51:28 -04:00
Mike Gerwitz f2821af5cb src/current/map.xsl: Permit from/@scalar 2017-07-05 13:51:28 -04:00
Mike Gerwitz 629aa9d342 c1map.xsd: Add schema
This just ignores everything for now.
2017-07-05 13:51:28 -04:00
Mike Gerwitz 12f3fa5b6e Add missing rater.xsd
This is of limited use now with template support.  But it is useful
documentation nonetheless.
2017-04-06 23:33:53 -04:00
Mike Gerwitz 1d3aaf3339 Extracted param symbol generation
The `preproc:param-dim' template must remain for now, as it is used by
others.

* src/current/include/preproc/symtable.xsl
  (preproc:symtable)[lv:param]: Extracted template.

* src/symtable/symbols.xsl
  (preproc:symtable)[lv:param]: Added template.

* test/symtable/symbols.xsl
  (lv:param): Scenario added.
2016-11-17 23:55:23 -05:00
Mike Gerwitz f396858fb1 Extracted meta symbol generation
* src/current/include/preproc/symtable.xsl
  (preproc:symtable)[lv:meta]: Extracted template.

* src/symtable/symbols.xsl
  (preproc:symtable)[lv:meta]: Added template.

* test/symtable/symbols.xsl
  (lv:meta): Scenario added
2016-11-17 23:55:23 -05:00
Mike Gerwitz c199f4739e Extract template symbol generation
* src/current/include/preproc/symtable.xsl
  (preproc:symtable)[lv:template]: Extracted template.

* src/symtable/symbols.xsl:
  (preproc:symtable)[lv:template]: Added template.

test/symtable/symbols.xsl: Added test case.
2016-11-17 23:55:23 -05:00
Mike Gerwitz 76f41e6250 Symbol format and type documentation
It's important that others understand the system before I keep adding to
the mystery.  This is at least a good start.

It also obviates certain awkward design issues that have evolved over
time and need addressing.  Note that it also mentions that `keep' is
marked for removal---this is the situation that prompted this
documentation; changes will be made to work toward its removal to
improve the terrible linker performance when given many thousands of
symbols defined in over 500 separate packages.

* src/symtable.xsl: Add menu for symbols.
* src/symtable/symbols.xsl: Added.
2016-11-17 23:55:23 -05:00
Mike Gerwitz 0c2ef00e51 lv:classify/@desc whitespace normalization during macropass
This allows for nice formatting with newlines (to avoid excessively long
lines) without affecting the output.

* src/current/include/preproc/expand.xsl
  (preproc:expand lv:classify/@desc): Normalize lv:classify/@desc whitespace
2016-10-25 11:40:08 -04:00
Mike Gerwitz 5a9fb0d142 lv:classify/@set stripped from macropass
This is no longer used.

* src/current/include/preproc/expand.xsl (lv:classify):
  Remove `@set' processing.
2016-10-25 11:37:46 -04:00
Mike Gerwitz ea3ae797b3 Version bump {0.0.1=>1.0.0} 2016-08-24 12:38:03 -04:00
Mike Gerwitz c0d95b4a05 Add copyright headers to src/current/ 2016-08-24 12:38:03 -04:00
Mike Gerwitz ff01f39c1e Liberate current implementation of "Calc DSL"
(Copyright headers will be added in the next commit; these are the
original files, unaltered in any way.)

The internal project name at LoVullo is simply "Calc DSL".  This
liberates the entire thing.  If anything was missed, I'll be added
later.

To continue building at LoVullo with this move, symlinks are used for
the transition; this is the exact code that is used in production.

There is a lot here---over 25,000 lines.  Much of it is in disarray from
the environment surrounding its development, but it does work well for
what it was intended to do.

(LoVullo folks: fork point is 65723a0 in calcdsl.git.)
2016-08-24 12:38:00 -04:00
Mike Gerwitz ebb88b9345 conf.xsl.in -> src/init.xsl.in
The thrush reference was also removed, as TAME does not currently make
use of it.

* .gitignore: Update path accordingly.
* configure.ac: Update path accordingly.
* src/init.xsl.in: Moved from conf.xsl.in.
2016-08-23 11:26:47 -04:00
Mike Gerwitz ea3edc18ca Initial symbol documentation, find-symbol
* doc/tame.texi: Include `Symbol Table'.

* src/symtable.xsl: Added.
* test/symtable.xspec: Added, testing `find-symbol'.
2016-08-23 11:04:50 -04:00
Mike Gerwitz 23af07fd08 @{=>tt}ref for graph function refs
* src/graph:xsl: All function @ref's replaced with @ttref
2016-07-14 09:16:17 -04:00
Mike Gerwitz 1457d72221 Update literate-xsl
This makes changes necessary to new ref format (which includes arity).

* src/graph.xsl: @ref function arity added
* src/preproc/expand/expand-sequence.xsl: @ref function arity added
* tools/literate-xsl: Submodule updated
2016-07-14 09:15:38 -04:00
Mike Gerwitz da9a16ae85 Add graph:lookup-from-doc
* src/graph.xsl (graph:lookup-from-doc): Added
* test/graph-doc.xml: Added
* test/graph-test.xsl: Associated test data
* test/graph.xspec: Associated tests added
2016-07-13 11:31:19 -04:00
Mike Gerwitz 000c0345bd Add graph:make-from-deps convenience function
* src/graph.xsl (graph:make-from-deps): Added with documentation.
* test/graph{-test.xsl,.xspec}: Updated accordingly.
2016-07-06 00:16:33 -04:00
Mike Gerwitz b2d87c5318 Re-order graph:dep-lookup arguments to favor partial application
* src/graph.xsl (graph:dep-lookup): Re-order arguments
* test/graph.xspec: Updated accordingly
2016-07-06 00:16:12 -04:00
Mike Gerwitz e5da6f8ce1 Add graph:make-from-vertices
* src/graph.xsl (graph:make-from-vertices): Added
* test/graph-test.xsl (foo:graph-with-dupes): Added duplicate edges
* test/graph.xspec: Added tests
2016-07-06 00:16:12 -04:00
Mike Gerwitz 641147cd8f graph:union normalize/dedupe test
This was already happening, but formally test and document it, since
it's a very useful property.

* src/graph.xsl (graph:union): Document dedupe behavior
* test/graph-test.xsl: Add test data
* test/graph.xspec: Add dedupe test for graph:union
2016-07-06 00:16:12 -04:00
Mike Gerwitz bcf1e0457f Move graph:dep-lookup into Package Subgraphs subsection
* src/graph.xsl (graph:dep-lookup): Moved into subsection with
  introductory paragraph.
2016-07-06 00:16:11 -04:00
Mike Gerwitz 551e489c5f Add graph:union
* src/graph.xsl (graph:union): Added
* test/graph-test.xsl: Test data added
* test/graph.xspec: Tests added
2016-07-06 00:14:53 -04:00
Mike Gerwitz e34cf22d6b Add graph:reverse
* src/graph.xsl: Added graph:reverse
* test/graph.xspec: Associated tests
* test/graph-test.xsl: Added test data
2016-07-06 00:14:50 -04:00
Mike Gerwitz 6bb4c05830 Add (beginning of) graph API
* doc/tame.texi: Add graph include.
* src/graph.xsl: Added.
* test/graph-test.xsl: Added.
* test/graph.xspec: Added.
2016-07-05 23:49:30 -04:00
Mike Gerwitz 908526ff85 Added missing copyright header to expand-sequence 2015-04-16 15:24:14 -04:00
Mike Gerwitz 9b0512b0f4 Expansion sequences introduced 2015-04-16 13:21:40 -04:00