summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* when marking input items as processed, ensure parse data matchesHEADmasterAdrian Thurston2023-03-121-12/+16
| | | | | | | | | | | | | | | | | | | | | After processing the last item for a named machine, mark only those items with the same ParseData pointer as processed. Previously, we would mark all preceding items as processed. This is wrong and is a problem for sequences like: machine A // some defs machine B // some defs machine C // some defs machine A // last machine B // last machine C // last Once the second A block is seen, then the first A, B and C would all get marked as processed and ready for writing, even though B and C were not complete yet. Also, now processing items with no ParseData pointer earlier by immediately marking them as processed and moving the last flushed pointer forward even if we didn't process an item with a parse data pointer.
* fallback to AC_CHECK_LIB for libcolm and libfsmAdrian Thurston2023-03-121-0/+20
| | | | | | If the .la files for libcolm and libfsm are not present then fallback to using AC_CHECK_LIB for these libraries. Many packaging systems strip out .la files so we need to still be able to link if they are not there.
* some test cases with from-state actions now need eof and output updatingAdrian Thurston2021-12-289-1/+25
| | | | | | With the fix in for #80, test cases that embed from-state actions, but no eof actions, now need to have eof set. Updating output to reflect the calls on eof is also required in some cases.
* test case verifying reset of ts after EOFAdrian Thurston2021-12-281-0/+57
| | | | | The ts var is currently getting set on EOF due to ragel 7 executing from-state actions on EOF. This is a regression from ragel 6. refs #76.
* removed code that is unused, or that now lives in the colm packageAdrian Thurston2021-12-2827-17799/+0
|
* test case covering from-state actions on EOFAdrian Thurston2021-12-281-0/+24
| | | | | refs #80 from-state actions on EOF are executed only if there are EOF transition actions
* update the README to reference the new docker filesAdrian Thurston2021-12-271-9/+17
| | | | refs #79
* three dockerfilesAdrian Thurston2021-12-273-36/+63
| | | | | | | | | * full.Dockerfile installs all dependencies, builds master and does full testing. * master.Dockerfile does a minimal build from master. * release.Dockerfile builds and installs release tarballs.
* renamed Dockerfile and added a new dockerfile for building from masterAdrian Thurston2021-12-263-0/+59
| | | | | | | The existing dockerfile builds a release version of ragel and does not do any testing. Renamed this to release.Dockerfile. Added a new dockerfile called master.Dockerfile that installs all depenendencies for testing all host languages. It then builds colm and ragel from master.
* added Makefile to runtests dependenciesAdrian Thurston2021-12-261-1/+1
|
* need to add regular language definitions to trans.lm, removed from ragel.lmAdrian Thurston2021-12-261-0/+32
|
* updated the README to reflect that we are no longer merged with colmAdrian Thurston2021-12-241-37/+9
| | | | refs #79
* improvements to rust frontend scannerAdrian Thurston2021-12-031-29/+13
| | | | Improved lexing of char lits and identifiers (including lifetimes).
* moved common regular language definitions to host-specific grammarsAdrian Thurston2021-12-0314-34/+404
| | | | | | There are common regular language definitions in ragel.lm that are used in the host-specific lexers. These need to move out into the host code so we can begin to specialize the lexers for the different host languages.
* include common ragel grammar and reduction code in rlparse depsAdrian Thurston2021-12-0312-12/+36
| | | | | The language-specific parsing code should depend on the common grammar and reduction rules.
* colm package data is now in pkgdatadir, adjust COLM_SHAREAdrian Thurston2021-11-231-1/+1
| | | | See adrian-thurston/colm#134.
* always default to not build the manualAdrian Thurston2021-11-131-5/+3
| | | | | | In most build scenarios I now find myself in, the depenencies required for building the manual are not available. There are many uncommon packages to grab. It seems better to build the manual only when asked for explicitly.
* removed github actions workflow, nowhere to run at presentAdrian Thurston2021-11-091-45/+0
|
* moved output filter, file name funcs, line directive generation from colmAdrian Thurston2021-11-072-0/+313
|
* moved HostLang type and makeCodeGen funcs to here from colmAdrian Thurston2021-11-0719-23/+68
|
* moved the findAlphType code from colm over hereAdrian Thurston2021-11-074-38/+52
|
* moved C and ASM host types here from colmAdrian Thurston2021-11-076-75/+111
|
* moved writeStatement into InputDataAdrian Thurston2021-11-073-86/+88
| | | | | This code was present in ragel, but the colm version was used. Deleted the dead code here an moved the real impl into InputData.
* Merge pull request #68 from oodler577/dockerfile-make-jAdrian Thurston2021-11-071-2/+2
|\ | | | | Removed -j from `make` in Dockerfile
| * Removed -j from `make` in DockerfileCarmel Twow2021-04-121-2/+2
| | | | | | Build process didn't seem to like the `-j` with no argument.
* | C codegen: use the 'signed' prefix when specifying the size of the signed typesAdrian Thurston2021-11-061-4/+4
| |
* | C char type: decide signedness of char based on CHAR_MINAdrian Thurston2021-11-061-12/+12
| | | | | | | | | | | | Previously had char fixed to signed char, this is not useful on ARM as it does not align with the host type. Instead, decide at runtime (or probably compile time) if char is signed or not.
* | need to use Bytes.to_string on buffer objectsAdrian Thurston2021-09-091-2/+2
| | | | | | | | | | Now need to convert the buffer to a string before passing to functions that expect string.
* | use -no-pie for asm buildAdrian Thurston2021-09-092-2/+2
| | | | | | | | | | The -fPIE option is now the default and it needs to be turned off when making simple progs that use .rodata and .text.
* | src/codegen.cc now lives in colmAdrian Thurston2021-09-091-1203/+0
| |
* | D language stdio has movedAdrian Thurston2021-09-095-4/+5
|/
* added a dockerfile for testing a build from the webAdrian Thurston2021-02-152-11/+36
|
* updated language flags, catch abortcompile throw in non-ragel progs7.0.4Adrian Thurston2021-02-151-45/+51
|
* version bump to 7.0.4Adrian Thurston2021-02-152-9/+7
| | | | Moved make of src/include/ragel to configure script. Expect colm 0.14.7.
* expect colm version 0.14.6 and version bump ragel to 7.0.37.0.3Adrian Thurston2021-01-181-2/+2
| | | | This version of colm includes a critical fix for big-endian system. Fixes #61.
* expect colm 0.14.5 and version bump to 7.0.27.0.2Adrian Thurston2021-01-031-3/+3
| | | | | Latest colm includes bugfixes for refcounting, which fixes a ragel issue with includes #58.
* removed COLM_VERSION and RAGEL_VERSIONAdrian Thurston2020-12-233-15/+6
| | | | also expect colm 0.14.4, the latest release
* removed accidental commit of ragel/.exrc7.0.1Adrian Thurston2020-11-251-28/+0
|
* version bump to 7.0.1Adrian Thurston2020-11-251-6/+6
| | | | Switching to major.minor.point format and will build some momentum around that.
* turn on loop labels for rustAdrian Thurston2020-10-131-1/+1
|
* fixed the distAdrian Thurston2020-10-1212-14/+12
| | | | Some codegen files have moved to colm, where they will be reused.
* fixes for ruby alphtypeAdrian Thurston2020-10-121-1/+1
| | | | Need to use unsigned min/max fields for unsigned types. Fixed size.
* fixed ragel CIAdrian Thurston2020-10-122-8/+15
| | | | | | * Checkout, build and install colm first, use when configuring ragel. * Include test dir in SUBDIRS of main Makefile. * Replaced colm-suite-* paths with ragel-*.
* merge pull request #52 from JunHe77/wrong_charAdrian Thurston2020-10-106-7/+7
|\ | | | | common: Fix ambiguous CHAR_MIN/MAX definition
| * common: Fix ambiguous CHAR_MIN/MAX definitionJun He2020-09-176-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | According to C/C++ standards, char is implementation-defined whether it could hold negative values. See: http://www.cplusplus.com/reference/climits/ In ragel char is treated as a signed value with range as [-128, 127]. This means that the CHAR_MIN/CHAR_MAX should be replaced with a more accurate definition to align across different systems and library implementations. Change-Id: I10668f2d2550b603101dc68f4cc1121035022abd Signed-off-by: Jun He <jun.he@linaro.org>
* | the primary rust type u8 is unsigned, specify it as suchAdrian Thurston2020-10-101-1/+1
|/
* updated colm exptected version and fixed some makefile pathsAdrian Thurston2020-06-286-22/+22
|
* use libcolm and libfsm .la files when linkingAdrian Thurston2020-04-1314-156/+52
|
* longest-match struct split between libfsm and here in ragelAdrian Thurston2020-03-277-203/+155
| | | | | Moved param check code to mainline as part of trimming down common file. NameInst structs live in libfsm and can be removed from ragel.
* removal of libfsm files and adjusting includes filesAdrian Thurston2020-03-1655-12469/+15
|