1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-21 00:25:50 +00:00

Add new Ada port: textproc/opentoken 5.0a

OpenToken is a facility for performing token analysis and parsing within
the Ada language. It is designed to provide all the functionality of a
traditional lexical analyzer/parser generator, such as lex/yacc. But due
to the magic of inheritance and runtime polymorphism it is implemented
entirely in Ada as withed-in code. No precompilation step is required, and
no messy tool-generated source code is created. The tradeoff is that the
grammar is generated at runtime.

WWW: http://stephe-leake.org/ada/opentoken.html
This commit is contained in:
John Marino 2014-03-14 13:43:26 +00:00
parent 2e00ae46f1
commit d1e5f1ed50
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=348229
8 changed files with 254 additions and 0 deletions

View File

@ -458,6 +458,7 @@
SUBDIR += openjade
SUBDIR += opensched
SUBDIR += opensp
SUBDIR += opentoken
SUBDIR += openvanilla-framework
SUBDIR += openvanilla-modules
SUBDIR += or-aspell

View File

@ -0,0 +1,43 @@
# Created by: John Marino <marino@FreeBSD.org>
# $FreeBSD$
PORTNAME= opentoken
PORTVERSION= 5.0a
CATEGORIES= textproc
MASTER_SITES= http://stephe-leake.org/ada/
MAINTAINER= marino@FreeBSD.org
COMMENT= Lexical analyser and parser for the Ada language
LICENSE= GPLv3 GPLv3RLE
LICENSE_COMB= multi
BUILD_DEPENDS= gprbuild>=20130416:${PORTSDIR}/devel/gprbuild
USES= ada tar:bzip2
WRKSRC= ${WRKDIR}/org.${PORTNAME}-${PORTVERSION}
BUILD_WRKSRC= ${WRKSRC}/build/release
OTLIBVER= 5.0.0
PLIST_SUB+= OTLIBVER=${OTLIBVER}
do-build:
(cd ${BUILD_WRKSRC} && ${SETENV} ${MAKE_ENV} \
gprbuild -p -P opentoken_lib )
do-install:
${MKDIR} ${STAGEDIR}${PREFIX}/lib/gnat \
${STAGEDIR}${PREFIX}/lib/opentoken \
${STAGEDIR}${PREFIX}/include/opentoken
${INSTALL_DATA} ${BUILD_WRKSRC}/lib/*.ali \
${STAGEDIR}${PREFIX}/lib/opentoken
${INSTALL_LIB} ${BUILD_WRKSRC}/lib/libopentoken.so.${OTLIBVER} \
${STAGEDIR}${PREFIX}/lib/opentoken
(cd ${STAGEDIR}${PREFIX}/lib/opentoken && \
${LN} -s libopentoken.so.${OTLIBVER} libopentoken.so)
${INSTALL_DATA} ${WRKSRC}/*.ad[bs] ${WRKSRC}/Language_Lexers/*.ad[bs] \
${STAGEDIR}${PREFIX}/include/opentoken
${INSTALL_DATA} ${FILESDIR}/opentoken.gpr \
${STAGEDIR}${PREFIX}/lib/gnat
.include <bsd.port.mk>

View File

@ -0,0 +1,2 @@
SHA256 (opentoken-5.0a.tar.bz2) = 25d294e106b77b81b251405eb9e1424d2c216dec911c16afa2f2047b982ea641
SIZE (opentoken-5.0a.tar.bz2) = 160140

View File

@ -0,0 +1,7 @@
project OpenToken is
for Languages use ("ada");
for Library_Name use "opentoken";
for Source_Dirs use ("../../include/opentoken");
for Library_Dir use "../../lib/opentoken";
for Externally_Built use "true";
end OpenToken;

View File

@ -0,0 +1,11 @@
--- build/common.gpr.orig 2014-02-21 20:14:57.000000000 +0000
+++ build/common.gpr
@@ -41,7 +41,7 @@ project Common is
"-O2",
"-gnat2012",
"-gnatfnoqQ",
- "-gnatwaeL",
+ "-gnatwaL",
"-fstack-check");
-- The project file syntax does not let us set a variable in a

View File

@ -0,0 +1,10 @@
--- build/release/opentoken.gpr.orig 2014-02-21 20:14:57.000000000 +0000
+++ build/release/opentoken.gpr
@@ -19,7 +19,6 @@ project OpenToken is
package Compiler is
for Default_Switches ("Ada") use
Common.Compiler.Release_Switches &
- Common.Compiler.Style_Checks &
Common.Compiler'Default_Switches ("Ada");
end Compiler;

View File

@ -0,0 +1,9 @@
OpenToken is a facility for performing token analysis and parsing within
the Ada language. It is designed to provide all the functionality of a
traditional lexical analyzer/parser generator, such as lex/yacc. But due
to the magic of inheritance and runtime polymorphism it is implemented
entirely in Ada as withed-in code. No precompilation step is required, and
no messy tool-generated source code is created. The tradeoff is that the
grammar is generated at runtime.
WWW: http://stephe-leake.org/ada/opentoken.html

View File

@ -0,0 +1,171 @@
include/opentoken/ada_lexer.adb
include/opentoken/ada_lexer.ads
include/opentoken/html_lexer-basic.ads
include/opentoken/html_lexer-tags.ads
include/opentoken/html_lexer-task_safe.adb
include/opentoken/html_lexer-task_safe.ads
include/opentoken/html_lexer-task_unsafe.adb
include/opentoken/html_lexer-task_unsafe.ads
include/opentoken/html_lexer.adb
include/opentoken/html_lexer.ads
include/opentoken/java_lexer.ads
include/opentoken/m3_lexer.ads
include/opentoken/opentoken-production-list-print.adb
include/opentoken/opentoken-production-list-print.ads
include/opentoken/opentoken-production-list.adb
include/opentoken/opentoken-production-list.ads
include/opentoken/opentoken-production-parser-lalr.adb
include/opentoken/opentoken-production-parser-lalr.ads
include/opentoken/opentoken-production-parser-lrk_item.adb
include/opentoken/opentoken-production-parser-lrk_item.ads
include/opentoken/opentoken-production-parser.adb
include/opentoken/opentoken-production-parser.ads
include/opentoken/opentoken-production-print.adb
include/opentoken/opentoken-production-print.ads
include/opentoken/opentoken-production.adb
include/opentoken/opentoken-production.ads
include/opentoken/opentoken-recognizer-based_integer.adb
include/opentoken/opentoken-recognizer-based_integer.ads
include/opentoken/opentoken-recognizer-based_integer_ada_style.adb
include/opentoken/opentoken-recognizer-based_integer_ada_style.ads
include/opentoken/opentoken-recognizer-based_integer_java_style.adb
include/opentoken/opentoken-recognizer-based_integer_java_style.ads
include/opentoken/opentoken-recognizer-based_real_ada_style.adb
include/opentoken/opentoken-recognizer-based_real_ada_style.ads
include/opentoken/opentoken-recognizer-bracketed_comment.adb
include/opentoken/opentoken-recognizer-bracketed_comment.ads
include/opentoken/opentoken-recognizer-character_set.adb
include/opentoken/opentoken-recognizer-character_set.ads
include/opentoken/opentoken-recognizer-csv_field.adb
include/opentoken/opentoken-recognizer-csv_field.ads
include/opentoken/opentoken-recognizer-end_of_file.adb
include/opentoken/opentoken-recognizer-end_of_file.ads
include/opentoken/opentoken-recognizer-escape_sequence.adb
include/opentoken/opentoken-recognizer-escape_sequence.ads
include/opentoken/opentoken-recognizer-extended_digits.adb
include/opentoken/opentoken-recognizer-extended_digits.ads
include/opentoken/opentoken-recognizer-graphic_character.adb
include/opentoken/opentoken-recognizer-graphic_character.ads
include/opentoken/opentoken-recognizer-html_entity.adb
include/opentoken/opentoken-recognizer-html_entity.ads
include/opentoken/opentoken-recognizer-identifier.adb
include/opentoken/opentoken-recognizer-identifier.ads
include/opentoken/opentoken-recognizer-integer.adb
include/opentoken/opentoken-recognizer-integer.ads
include/opentoken/opentoken-recognizer-keyword.adb
include/opentoken/opentoken-recognizer-keyword.ads
include/opentoken/opentoken-recognizer-line_comment.adb
include/opentoken/opentoken-recognizer-line_comment.ads
include/opentoken/opentoken-recognizer-nothing.adb
include/opentoken/opentoken-recognizer-nothing.ads
include/opentoken/opentoken-recognizer-octal_escape.adb
include/opentoken/opentoken-recognizer-octal_escape.ads
include/opentoken/opentoken-recognizer-real.adb
include/opentoken/opentoken-recognizer-real.ads
include/opentoken/opentoken-recognizer-separator.adb
include/opentoken/opentoken-recognizer-separator.ads
include/opentoken/opentoken-recognizer-string.adb
include/opentoken/opentoken-recognizer-string.ads
include/opentoken/opentoken-recognizer.ads
include/opentoken/opentoken-text_feeder-string.adb
include/opentoken/opentoken-text_feeder-string.ads
include/opentoken/opentoken-text_feeder-text_io.adb
include/opentoken/opentoken-text_feeder-text_io.ads
include/opentoken/opentoken-text_feeder.ads
include/opentoken/opentoken-token-enumerated-analyzer.adb
include/opentoken/opentoken-token-enumerated-analyzer.ads
include/opentoken/opentoken-token-enumerated-identifier.adb
include/opentoken/opentoken-token-enumerated-identifier.ads
include/opentoken/opentoken-token-enumerated-integer.adb
include/opentoken/opentoken-token-enumerated-integer.ads
include/opentoken/opentoken-token-enumerated-list-print.adb
include/opentoken/opentoken-token-enumerated-list-print.ads
include/opentoken/opentoken-token-enumerated-list.adb
include/opentoken/opentoken-token-enumerated-list.ads
include/opentoken/opentoken-token-enumerated-nonterminal.adb
include/opentoken/opentoken-token-enumerated-nonterminal.ads
include/opentoken/opentoken-token-enumerated-real.adb
include/opentoken/opentoken-token-enumerated-real.ads
include/opentoken/opentoken-token-enumerated-string.adb
include/opentoken/opentoken-token-enumerated-string.ads
include/opentoken/opentoken-token-enumerated.adb
include/opentoken/opentoken-token-enumerated.ads
include/opentoken/opentoken-token-linked_list.adb
include/opentoken/opentoken-token-linked_list.ads
include/opentoken/opentoken-token-list.ads
include/opentoken/opentoken-token-list_mixin.adb
include/opentoken/opentoken-token-list_mixin.ads
include/opentoken/opentoken-token-selection.ads
include/opentoken/opentoken-token-selection_mixin.adb
include/opentoken/opentoken-token-selection_mixin.ads
include/opentoken/opentoken-token-sequence.ads
include/opentoken/opentoken-token-sequence_mixin.adb
include/opentoken/opentoken-token-sequence_mixin.ads
include/opentoken/opentoken-token.adb
include/opentoken/opentoken-token.ads
include/opentoken/opentoken.adb
include/opentoken/opentoken.ads
lib/gnat/opentoken.gpr
lib/opentoken/ada_lexer.ali
lib/opentoken/html_lexer-basic.ali
lib/opentoken/html_lexer-tags.ali
lib/opentoken/html_lexer-task_safe.ali
lib/opentoken/html_lexer-task_unsafe.ali
lib/opentoken/html_lexer.ali
lib/opentoken/java_lexer.ali
lib/opentoken/libopentoken.so
lib/opentoken/libopentoken.so.%%OTLIBVER%%
lib/opentoken/m3_lexer.ali
lib/opentoken/opentoken-production-list-print.ali
lib/opentoken/opentoken-production-list.ali
lib/opentoken/opentoken-production-parser-lalr.ali
lib/opentoken/opentoken-production-parser-lrk_item.ali
lib/opentoken/opentoken-production-parser.ali
lib/opentoken/opentoken-production-print.ali
lib/opentoken/opentoken-production.ali
lib/opentoken/opentoken-recognizer-based_integer.ali
lib/opentoken/opentoken-recognizer-based_integer_ada_style.ali
lib/opentoken/opentoken-recognizer-based_integer_java_style.ali
lib/opentoken/opentoken-recognizer-based_real_ada_style.ali
lib/opentoken/opentoken-recognizer-bracketed_comment.ali
lib/opentoken/opentoken-recognizer-character_set.ali
lib/opentoken/opentoken-recognizer-csv_field.ali
lib/opentoken/opentoken-recognizer-end_of_file.ali
lib/opentoken/opentoken-recognizer-escape_sequence.ali
lib/opentoken/opentoken-recognizer-extended_digits.ali
lib/opentoken/opentoken-recognizer-graphic_character.ali
lib/opentoken/opentoken-recognizer-html_entity.ali
lib/opentoken/opentoken-recognizer-identifier.ali
lib/opentoken/opentoken-recognizer-integer.ali
lib/opentoken/opentoken-recognizer-keyword.ali
lib/opentoken/opentoken-recognizer-line_comment.ali
lib/opentoken/opentoken-recognizer-nothing.ali
lib/opentoken/opentoken-recognizer-octal_escape.ali
lib/opentoken/opentoken-recognizer-real.ali
lib/opentoken/opentoken-recognizer-separator.ali
lib/opentoken/opentoken-recognizer-string.ali
lib/opentoken/opentoken-recognizer.ali
lib/opentoken/opentoken-text_feeder-string.ali
lib/opentoken/opentoken-text_feeder-text_io.ali
lib/opentoken/opentoken-text_feeder.ali
lib/opentoken/opentoken-token-enumerated-analyzer.ali
lib/opentoken/opentoken-token-enumerated-identifier.ali
lib/opentoken/opentoken-token-enumerated-integer.ali
lib/opentoken/opentoken-token-enumerated-list-print.ali
lib/opentoken/opentoken-token-enumerated-list.ali
lib/opentoken/opentoken-token-enumerated-nonterminal.ali
lib/opentoken/opentoken-token-enumerated-real.ali
lib/opentoken/opentoken-token-enumerated-string.ali
lib/opentoken/opentoken-token-enumerated.ali
lib/opentoken/opentoken-token-linked_list.ali
lib/opentoken/opentoken-token-list.ali
lib/opentoken/opentoken-token-list_mixin.ali
lib/opentoken/opentoken-token-selection.ali
lib/opentoken/opentoken-token-selection_mixin.ali
lib/opentoken/opentoken-token-sequence.ali
lib/opentoken/opentoken-token-sequence_mixin.ali
lib/opentoken/opentoken-token.ali
lib/opentoken/opentoken.ali
@dirrm lib/opentoken
@dirrmtry lib/gnat
@dirrm include/opentoken