Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
CM-Lex: A lexer generator for Standard ML and Haskell
Standard ML Haskell
tree: 979d35b8b8
Failed to load latest commit information.
bin workaround for Cygwin bug in /bin/sh
hs/Util change permissions to 644 (to fix Windows PITA)
.gitignore Dependency for mlton, smlnj is mysteriously broken on my system
Makefile change permissions to 644 (to fix Windows PITA)
README.md Make the makefile consistently '+' things - it's weird, but consisten…
automata.sml change permissions to 644 (to fix Windows PITA)
cmlex-hs.mlb Add installation-only README, make everything work with MLton
cmlex.mlb Add installation-only README, make everything work with MLton
cmlex.smackspec Remove unnecessary '<', name CM-Lex the way Karl does
codegen-hs.sml change permissions to 644 (to fix Windows PITA)
codegen.sig change permissions to 644 (to fix Windows PITA)
codegen.sml change permissions to 644 (to fix Windows PITA)
determinize.sig change permissions to 644 (to fix Windows PITA)
determinize.sml change permissions to 644 (to fix Windows PITA)
export-smlnj-hs.sml change permissions to 644 (to fix Windows PITA)
export-smlnj.sml change permissions to 644 (to fix Windows PITA)
glue-hs.sml change permissions to 644 (to fix Windows PITA)
glue.sml change permissions to 644 (to fix Windows PITA)
go-hs.sml Fix MLton build
go.sml Fix MLton build
lexer-hs.sml change permissions to 644 (to fix Windows PITA)
lexer.sig change permissions to 644 (to fix Windows PITA)
lexer.sml change permissions to 644 (to fix Windows PITA)
lexmain.cmlex unified lexer
lexmain.cmlex.sml change permissions to 644 (to fix Windows PITA)
main.sml change permissions to 644 (to fix Windows PITA)
make-automaton.sig change permissions to 644 (to fix Windows PITA)
make-automaton.sml change permissions to 644 (to fix Windows PITA)
make-nfa.sig change permissions to 644 (to fix Windows PITA)
make-nfa.sml change permissions to 644 (to fix Windows PITA)
parsemain-hs.cmyacc renamed haskell modules
parsemain-hs.cmyacc.sml change permissions to 644 (to fix Windows PITA)
parsemain.cmyacc change permissions to 644 (to fix Windows PITA)
parsemain.cmyacc.sml change permissions to 644 (to fix Windows PITA)
parser-hs.sml change permissions to 644 (to fix Windows PITA)
parser.sig change permissions to 644 (to fix Windows PITA)
parser.sml change permissions to 644 (to fix Windows PITA)
process.sig change permissions to 644 (to fix Windows PITA)
process.sml change permissions to 644 (to fix Windows PITA)
regexp.sml change permissions to 644 (to fix Windows PITA)
reverse-dfa.sig change permissions to 644 (to fix Windows PITA)
reverse-dfa.sml change permissions to 644 (to fix Windows PITA)
sources-generic.cm change permissions to 644 (to fix Windows PITA)
sources-generic.mlb Dependency for mlton, smlnj is mysteriously broken on my system
sources-hs.cm change permissions to 644 (to fix Windows PITA)
sources.cm change permissions to 644 (to fix Windows PITA)
syntax.sml change permissions to 644 (to fix Windows PITA)
token-hs.sml change permissions to 644 (to fix Windows PITA)
token.sml change permissions to 644 (to fix Windows PITA)
write-automata.sig change permissions to 644 (to fix Windows PITA)
write-automata.sml change permissions to 644 (to fix Windows PITA)

README.md

CM-Lex: A lexer generator for Standard ML and Haskell

Installing

CM-Lex should be installed through Smackage, an ML package manager (see http://github.com/standardml/smackage).

$ smackage 
$ smackage get cmlex
$ smackage make cmlex (this will just display the various options)

To install CM-Lex (for Standard ML)

$ smackage make cmlex mlton (or smlnj or win+smlnj)
$ smackage make cmlex install
$ cmlex
Error: not enough input files
Usage: cmlex file.cmlex [-o file.sml]
(Default output file is file.cmlex.sml)

To install CM-Lex-HS (for Haskell)

$ smackage make cmlex mlton+hs (or smlnj+hs or win+smlnj+hs)
$ smackage make cmlex install+hs
$ cmlex
Error: not enough input files
Usage: cmlex-hs file.cmlex [-o file.hs]
(Default output file is file.cmlex.hs)

It is possible to install CMlex without Smackage: just make sure that CMlib v1 (see http://github.com/standardml/cmlib) is installed somewhere on your system, and change the reference to $SMACKAGE/cmlib/v1 in sources-generic.cm and/or the reference to $(SMACKAGE)/cmlib/v1 in sources-generic.mlb to point to the directory where CMlib lives.

Something went wrong with that request. Please try again.